https://guidinghand.ai/openapi.json if you want to generate a client.
Base URLs
All paths start with
/v1, for example https://guidinghand.ai/v1/sessions.
Authentication
Send an org API key as a bearer token on every request:gh_live_. Admins create them in the console under Settings → API keys; each key is shown once and belongs to one org. See API keys.
Requests with a body send JSON with Content-Type: application/json. Responses are JSON, except a recorded screen (GET /v1/tasks/{task_id}/recording/{seq}), which is a PNG.
Versioning
The version is in the path:/v1. Within v1, new fields, endpoints and event types may be added, so ignore fields and event types your code doesn’t know rather than failing on them.
Objects and conventions
- Every object has an
objectfield:agent,session,task,recordingorwebhook. - Timestamps are ISO 8601 strings in UTC.
- A session’s id is its pairing code (
K7QM-24XP). Task ids start withtask_. - Lists return
{ "data", "has_more", "next_cursor" }, newest first. See pagination. - Errors return
{ "error": { "type", "message" } }. See errors. metadataon sessions and tasks holds your own string values and is returned as given.
The older session-token API
Before/v1, integrations used a smaller task API authenticated with one session’s token. It still works, and it is what /tools.json describes for LLM agents.
Authenticate with
Authorization: Bearer <session_token>. The session_token (gh_sk_…) is returned once by POST /v1/sessions. You can also use an org API key and name the session with code in the body.
Differences from /v1:
- Errors are
{ "error": "message" }, a string rather than an object. Extra fields sit next to it, such ascodeandanswered_bywhen a question was already answered. - Tasks come back as
{ id, request_id, status, done, cursor, events, update, question?, approval?, result?, error? }: the pending item is inquestionorapprovalinstead ofpending.question.customer_can_answerandapproval.customer_can_approveare the same as in/v1. - Answers and approvals go through
/waitinstead of a separate/respond.
/v1.