Hawkeye Docs

API

API reference

Every partner path, generated from the OpenAPI document.

This table is generated from the OpenAPI document (OpenAPI 3.0.3, info version 1.0.0). Each operation there has a summary and, when a key is required, the scope name. That document does not yet attach a request body to each operation. Field lists on the topic pages are taken from the handlers.

Embed a Hawkeye agent (for example a Receptionist or Garage Front Desk) over text and phone. Keys are deny-by-default. Usage is billed to the key's account with the existing credit meter.

GET /docs/partner is listed there as the quickstart. That address now redirects to /docs/api/quickstart.

MethodPathSummaryScopeAuth
GET/api/partner/v1/openapi.jsonThis document. No key required.—No
GET/docs/partnerQuickstart page. No key required.—No
GET/api/partner/v1/meThe key's scopes, agents, rate limit and spend. Any live key.—Bearer
POST/api/partner/v1/conversationsStart a conversation.textBearer
GET/api/partner/v1/conversations/{id}Read a conversation.textBearer
POST/api/partner/v1/conversations/{id}/messagesSend a message. Attach images and PDFs.textBearer
POST/api/partner/v1/conversations/{id}/messages/streamSame message as SSE.textBearer
POST/api/partner/v1/messagesSend a message. conversation_id is optional.textBearer
POST/api/partner/v1/messages/streamStreaming send.textBearer
POST/api/partner/v1/filesUpload an image or PDF.filesBearer
POST/api/partner/v1/imagesGenerate an image.imageBearer
POST/api/partner/v1/videosStart a video.videoBearer
GET/api/partner/v1/videos/{id}Video status.videoBearer
GET/api/partner/v1/phone-numbersNumbers attached to agents.voiceBearer
POST/api/partner/v1/phone-numbersAttach an E.164 number or provision a bridge.voiceBearer
DELETE/api/partner/v1/phone-numbers/{id}Detach a number.voiceBearer
POST/api/partner/v1/callsPlace an outbound call.voiceBearer
POST/api/partner/v1/phone/inboundTell Hawkeye an inbound call arrived.voiceBearer
GET/api/partner/v1/calls/{id}Call transcript and summary.voiceBearer
POST/api/partner/v1/calls/{id}/turnsProvider bridge: send one utterance, get the spoken reply.voiceBearer
POST/api/partner/v1/calls/{id}/endEnd a call.voiceBearer
GET/api/partner/v1/voice/streamWebsocket bridge. Text frames are utterances. Audio uses the provider session.voiceBearer
GET/api/partner/v1/projectsList projects.projectsBearer
POST/api/partner/v1/projectsCreate a project.projectsBearer
GET/api/partner/v1/tasksQueued work.projectsBearer
POST/api/partner/v1/tasksQueue a task.projectsBearer
GET/api/partner/v1/agentsAgents this key may use.agentsBearer
POST/api/partner/v1/agentsCreate an agent. The router chooses the model.adminBearer
GET/api/partner/v1/toolsTools and skills for an agent.toolsBearer
POST/api/partner/v1/tools/invokeRun one plugin tool.toolsBearer

Attachment schema

Same field as chat and POST /api/v1/chat/completions. data is a base64 data URL. Requires the files (file-upload) scope.

FieldTypeRequired
typeimage, pdfyes
namestringyes
mimestringyes
datastringyes

Not in this document

POST /api/v1/chat/completions and GET /api/v1/models are the OpenAI-compatible routes. They use the same key and the text scope, and they are not listed in the partner OpenAPI file. See Chat completions.