Changelog

Release notes for the Pokee Enterprise Responses API. Breaking changes will land under /v2/ when introduced; /v1/ only sees additive changes.

Reasoning effort + larger tool descriptions

  • addedreasoning field on POST /v1/responses — { effort: "minimal" | "low" | "medium" | "high" } toggles extended thinking. Omitted or "minimal" keeps thinking off (default). "low" / "medium" / "high" turn it on, and the chain-of-thought is returned alongside the answer.
  • changedPer-tool description hard limit raised from 1 KiB to 16 KiB so callers can embed real per-tool docs (full instructions, schema notes, examples) without us 400ing the request. Name limit unchanged at 64 chars; up to 128 tools per request.

Resume, cancel, and idempotency

  • addedGET /v1/sessions/{id}/responses/{rid}/events — resume a session-turn SSE stream after disconnect. Honors the standard Last-Event-ID header (sent automatically by EventSource on auto-reconnect) and the ?last_event_id=N query fallback. Closed turns are retained for 120s before eviction.
  • addedGET /v1/responses/{rid}/events — same resume protocol for the stateless /v1/responses streaming path. Auth-scoped to the original caller.
  • addedPOST /v1/sessions/{id}/responses/{rid}/cancel — abort an in-flight session turn. The terminal event flips to message.cancelled; partial-turn usage is not billed.
  • addedPOST /v1/responses/{rid}/cancel — same cancel semantics for /v1/responses streams; emits response.cancelled as the terminal.
  • addedIdempotency-Key header on POST /v1/sessions/{id}/messages and POST /v1/responses (stream=true). Same key + same body returns the original response_id instead of starting a duplicate turn — 24h TTL. 422 on body/session mismatch.
  • changedStreaming responses now emit an id: <seq> line on every SSE event (monotonic per turn) AND embed the same value as data.sequence_number — pick whichever is easier to read in your client. Existing event:/data: shape otherwise unchanged. EventSource clients pick up Last-Event-ID automatically with no code changes.
  • changedPOST /v1/sessions/{id}/messages and POST /v1/responses now return an X-Response-Id header. Same id you see in the first event's data.id; surface it for resume/cancel without parsing the stream.

Custom skill uploads

  • addedPOST /v1/skills/{name} — install a custom skill from a zip bundle. The bundle must contain a SKILL.md at its root; a single wrapper directory is auto-stripped. Atomic replace-in-place; effective on the next session created.
  • addedGET /v1/skills and DELETE /v1/skills/{name} — list and uninstall workspace-uploaded skills.

v1 launch

  • addedInitial release of the Enterprise Responses API.
  • addedSession lifecycle endpoints: POST/GET/DELETE /v1/sessions, bulk delete by status/age.
  • addedFile API: PUT/GET/DELETE for workspace files. Range header support for resumable downloads.
  • addedServer-Sent Events streaming on POST /v1/sessions/{id}/messages with text, thinking, tool_use, and tool_result events.
  • addedPer-session file access scoping enforced at the filesystem level via mount namespaces.
  • addedTenant-supplied agent context via .pokee/*.md files — extend the system prompt without code changes.
  • addedPersistent cross-session memory at .memory/MEMORY.md.
  • addedRolling rate limits (300 turns/hr, 5000/day) and credit balance reporting via /v1/usage.
  • addedSoft and hard credit modes (hard returns 402 Payment Required when balance falls below the per-turn minimum).
  • addedPer-tenant dedicated subdomain.