Skip to content

Documentation

API and MCP.

TORIN has its own API under /v1/ and an MCP server under /mcp, so you can plug it into the tools you already use, including Claude and ChatGPT.

Accounts open on 1 December 2026. Join the list and we will email you once.

APIkey scopes/v1/
  • conversation7 endpoints
  • read6 endpoints
  • files3 endpoints
  • usage2 endpoints
  • any, log1 endpoint each

First call

Your credit balance in one request.

You create the key in your agency settings and can revoke it at any time. Send it in the Authorization or x-api-key header.

Request

curl https://app.hiretorin.com/v1/credits \
  -H "Authorization: Bearer $TORIN_API_KEY"

Response (sample values)

{
  "object": "credits",
  "balance": 240,
  "buckets": {
    "carried_over": 0,
    "plan": 240,
    "topped_up": 0
  },
  "tier": "probny",
  "period": "2026-11",
  "included_in_tier": 2000,
  "renews_on": "2026-12-01",
  "grosz_per_credit": 1,
  "low": false,
  "note": "240 credits left (worth 2.40 PLN)."
}

Counted from the product on 2 November 202613 response fields

Claude and ChatGPT

The MCP server.

A change to a client's account made through the API or MCP becomes a proposal, not an action: the same approvals apply as in the app.

MCP server address:  https://app.hiretorin.com/mcp
Sign-in:             OAuth (the connector finds the
                     authorization server under /.well-known/)
Scope:               read (id: czytaj); change tools create proposals

Endpoints

What the API offers.

Torin connects cables on a switchboard
MethodPathKey scopeWhat it does
GET/v1/modelsany dowolnymodels you can order
GET/v1/creditsusage zuzyciethe agency's credit balance
GET/v1/usageusage zuzycieusage over a period
POST/v1/chat/completionsconversation rozmowaa question in an OpenAI-compatible format
POST/v1/messagesconversation rozmowaa question in an Anthropic-compatible format
POST/mcpread czytajMCP server (read tools)
GET/v1/threadsread czytajthe agency's conversations
GET/v1/threads/{id}read czytaja single conversation
POST/v1/threadsconversation rozmowaa new conversation
POST/v1/threads/{id}/messagesconversation rozmowaa message in a conversation
GET/v1/runsread czytajwork runs
GET/v1/runs/{id}read czytaja single run
POST/v1/runsconversation rozmowaa job to run in the background
POST/v1/runs/{id}/decyzjaconversation rozmowaa decision in a run that is waiting for one
POST/v1/runs/{id}/anulujconversation rozmowastopping a run
GET/v1/toolsread czytajtools, and which of them need approval
GET/v1/filesfiles plikifiles from conversations
GET/v1/files/{id}files plikia single file
POST/v1/files/{id}/linkfiles plikia link to a file, valid for fifteen minutes
GET/v1/auditlog dziennikthe agency's event log

Counted from the product on 2 November 202620 endpoints

Tests

How we check it.

Every module has its own offline test suite. The full run happens with network access blocked, so no test depends on anyone else's API.

264
suites
361,540
checks
0
attempts to reach the network

Counted from the product on 31 October 2026last full run, all green

Try it on one client's account.

No card and no password. The trial plan is €4.58 net of Torin's work.

Torin at an office door holds out an ID badge on a blue lanyard