Plain HTTP for automation and CI.
The Hydrant REST API is plain JSON over HTTPS for webhooks, CI runners, and services that should not install a binary or host an MCP client. Same object model as MCP and CLI, same identifiers, same dependency graph.
https://hydrant.dev/v1Authorization: Bearer hyd_sk_your-token-hereOne /v1 surface for browser, server, and CI clients.
Revocable tokens you mint in Hydrant settings.
File issues, set dependencies, fetch execution bundles.
The objects you can read and write.
The REST surface mirrors the same resources exposed over MCP and CLI. Endpoints below are representative — see the full reference for parameters, response shapes, and edge cases.
Issues
Create, list, update, and ice issues across spaces.
GET /v1/issuesPOST /v1/issuesGET /v1/issues/{id}PATCH /v1/issues/{id}POST /v1/issues/{id}/iceDecisions
Capture decisions and propagate them across linked work.
GET /v1/decisionsPOST /v1/decisionsGET /v1/decisions/{id}PATCH /v1/decisions/{id}Notes
Long-form context: specs, briefs, and reference material.
GET /v1/notesPOST /v1/notesGET /v1/notes/{id}PATCH /v1/notes/{id}GET /v1/foldersCycles
Plan and read cycles, including their issue lists.
GET /v1/cyclesPOST /v1/cyclesGET /v1/cycles/{id}/issuesGET /v1/cycles/{id}/statsMilestones
Group issues into outcomes and track milestone progress.
GET /v1/milestonesPOST /v1/milestonesGET /v1/milestones/{id}/issuesPOST /v1/milestones/{id}/dependenciesFiles
Upload and reference attachments tied to issues and notes.
POST /v1/files/upload-urlPOST /v1/filesGET /v1/files/{id}GET /v1/filesSearch & Bundle
Search the graph and assemble execution bundles for agents.
GET /v1/searchPOST /v1/bundles/previewPOST /v1/bundlesGET /v1/bundles/{id}Dependencies
First-class dependency graph for issues and milestones.
POST /v1/issues/{id}/dependenciesPATCH /v1/dependencies/{id}DELETE /v1/dependencies/{id}POST /v1/milestones/{id}/dependenciesThree calls to learn the shape.
File an issue, wire its dependencies, and pull the bundle an agent needs to execute on it. Same auth header, same identifiers, same response shapes.
Create an issue
File a ticket from a CI runner or webhook with priority, labels, and blockers.
curl https://hydrant.dev/v1/issues \
-H "Authorization: Bearer hyd_sk_your-token-here" \
-H "Content-Type: application/json" \
-d '{
"title": "Audit logout on stale tokens",
"priority": "high",
"blocks": ["HYD-489"],
"labels": ["auth", "security"]
}'Set dependencies
Wire blockers, blocks, and related issues in a single call.
curl -X POST https://hydrant.dev/v1/issues/HYD-88/dependencies \
-H "Authorization: Bearer hyd_sk_your-token-here" \
-H "Content-Type: application/json" \
-d '{
"blockedBy": ["HYD-12"],
"blocks": ["HYD-89"],
"relatesTo": ["HYD-77"]
}'Fetch an execution bundle
Pull the full execution context — decisions, notes, files, linked issues — for an agent.
curl https://hydrant.dev/v1/bundles/HYD-88 \
-H "Authorization: Bearer hyd_sk_your-token-here" \
-H "Accept: application/json"Mint a token, send a request.
Create a personal access token in Hydrant, send it as a Bearer header, and you are talking to the same surface that powers MCP and CLI. Rate limits and pagination are documented in the API reference.
First request
Authenticate with a Bearer PAT and list issues you can see.
curl https://hydrant.dev/v1/issues \
-H "Authorization: Bearer hyd_sk_your-token-here" \
-H "Accept: application/json"