Anthropic Messages Batches API #1
Labels
No labels
area/auth
area/batches
area/count-tokens
area/docs
area/errors
area/infra
area/messages
area/models
area/plugin
area/server
area/sessions
area/streaming
area/transform
priority/p0
priority/p1
priority/p2
status/blocked
status/done
status/in-progress
status/in-review
status/needs-rescope
status/todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kalmiya/hermes-anthropic-api#1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kanban ticket:
t_7ec0a1c1Board:
hermes-anthropic-apiTask t_7ec0a1c1: Anthropic Messages Batches API
status: ready
assignee: -
workspace: scratch
max-retries: 2 (default)
created: 2026-08-03 16:53 by kalmiya
Body:
Anthropic Messages Batches endpoints — full parity with Anthropic's own shape.
Endpoints (all under
/v1/messages/batches):POST /v1/messages/batches— create batch from a list ofrequests[](each withcustom_id+paramsmirroring the Messages request body). Response:{"id": "msgbatch_...", "type": "message_batch", "processing_status": "in_progress", "request_counts": {...}, "created_at": ..., "expires_at": ...}.GET /v1/messages/batches/{message_batch_id}— retrieve.GET /v1/messages/batches/{message_batch_id}/results— stream a.jsonlof per-request results.GET /v1/messages/batches— paginated list withlimit,before_id,after_id.DELETE /v1/messages/batches/{message_batch_id}— cancel an in-progress batch.Implementation note: Hermes's batch infrastructure (
batch_runner.py) already exists. Reuse it; the adapter mostly translates the Anthropic request shape into a list of Messages calls and shapes the responses back. Storage: SQLite (reuse theResponseStorepattern from api_server.py).Result shape per request in the JSONL stream:
or for failures:
{"result": {"type": "errored", "error": {"type": "...", "message": "..."}}}.Events (1):
[2026-08-03 16:53] created {'assignee': None, 'status': 'ready', 'parents': [], 'tenant': None, 'workspace_kind': 'scratch', 'workspace_path': None, 'branch_name': None, 'project_id': None, 'skills': None, 'goal_mode': None, 'model_override': None, 'provider_override': None}