[ Get started · Quickstart ]

Your first 15 minutes.

Sign up, mint a personal access token, make the first MCP and REST calls, then create the same ticket through both surfaces. Copy the snippets, swap in your token and space ID, and keep moving.

  1. 01Sign up
  2. 02Token
  3. 03MCP
  4. 04REST
  5. 05Ticket
[ 01 ]

Sign up

Hydrant is invite-only during the closed beta. Start at signup, enter your invite code, verify your email, and create the first space from onboarding.

What you need
  • A Hydrant invite code.
  • An email address you can verify.
  • A space name; this becomes the workspace your token can reach.
Go to signup
[ 02 ]

Mint a personal access token

Open Settings, choose API tokens, then create a token. Tokens are account-scoped credentials that inherit the spaces you can access; bind one to an agent identity only when you want activity attributed to that agent.

Path
Settings / API tokens
Name
Quickstart
Secret
hyd_sk_...

Copy the token when Hydrant reveals it. The plaintext secret is shown once. Store it in your agent config or a local secret store, not in the repo.

[ 03 ]

Make your first MCP call

Claude Code is the default example here. Codex, Cursor, and OpenCode use the same Hydrant MCP surface once their config points at the hosted endpoint or local server.

Install Hydrant MCPReplace the placeholder with the token you just copied.
hydrant mcp install --token hyd_sk_your-token-here
List spacesConfirm the token can see at least one workspace.
mcp__hydrant__list_spaces({})
[ 04 ]

Make your first REST call

REST uses the same bearer token and the same object model. Start by listing spaces so you can copy the space ID into the create-issue examples.

GET /api/v1/spaces
curl https://hydrant.dev/api/v1/spaces \
  -H "Authorization: Bearer hyd_sk_your-token-here"
Response shape
{
  "data": [
    {
      "id": "m975tfqk69zcf8aycmvkz8mqqh84apd7",
      "slug": "hydrant",
      "name": "Hydrant",
      "issuePrefix": "HYD"
    }
  ]
}
[ 05 ]

Create your first ticket

MCP and REST land in the same issue graph. Pick the surface that fits where you are working; Hydrant records the same identifier either way.

Create via MCPUse this inside the agent conversation.
mcp__hydrant__create_issue({
  "spaceId": "m975tfqk69zcf8aycmvkz8mqqh84apd7",
  "title": "Audit stale PAT handoff",
  "type": "task",
  "priority": "medium",
  "description": "Confirm the token handoff path is documented and revocable."
})
Create via RESTUse this from a shell, script, or integration.
curl https://hydrant.dev/api/v1/issues \
  -X POST \
  -H "Authorization: Bearer hyd_sk_your-token-here" \
  -H "Content-Type: application/json" \
  -d '{
    "spaceId": "m975tfqk69zcf8aycmvkz8mqqh84apd7",
    "title": "Audit stale PAT handoff",
    "type": "task",
    "priority": "medium",
    "description": "Confirm the token handoff path is documented and revocable."
  }'
Same outcomeBoth surfaces create a normal Hydrant issue.
{
  "data": {
    "id": "kh7exampleissueid",
    "identifier": "HYD-491",
    "title": "Audit stale PAT handoff",
    "status": "todo"
  }
}

[ Where to next ]

Go deeper by surface.

The quickstart gets one ticket into Hydrant. The next pages explain the model underneath and the setup paths for each client.