API Reference
Short reference for the /v1 endpoints exposed by Arcflow.
Base URL:
https://api.tryarcflow.com
User authentication:
Authorization: Bearer sk-...
Public endpoints such as /v1/models and /v1/ping do not require a bearer
according to the OpenAPI schema.
| Method | Path | Description |
|---|
GET | /v1/ping | API ping. |
GET | /v1/models | List the model catalog. |
GET | /v1/models/{model} | Retrieve one model metadata. |
| Method | Path | Description |
|---|
POST | /v1/responses | Create a Responses API response, with SSE when stream=true. |
GET | /v1/responses/{response_id} | Retrieve a response. |
POST | /v1/chat/completions | Forward Chat Completions to the configured upstream. |
POST | /v1/conversations | Create a conversation container. |
GET | /v1/conversations/{conversation_id} | Retrieve a conversation. |
POST | /v1/conversations/{conversation_id} | Update a conversation. |
DELETE | /v1/conversations/{conversation_id} | Delete a conversation. |
curl https://api.tryarcflow.com/v1/responses \
-H "Authorization: Bearer $ARCFLOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.4",
"input": "Write a one sentence release note."
}'
The minimal body requires model. input can contain text, messages, images,
files, or tool results depending on the Responses format you use.
| Method | Path | Description |
|---|
POST | /v1/messages | Create a Claude message through Anthropic Messages. |
POST | /v1/messages/count_tokens | Count Claude tokens. |
curl https://api.tryarcflow.com/v1/messages \
-H "Authorization: Bearer $ARCFLOW_API_KEY" \
-H "Content-Type: application/json" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 128,
"messages": [{ "role": "user", "content": "Reply with ok" }]
}'
| Method | Path | Description |
|---|
POST | /v1/files | Upload multipart form data. |
PUT | /v1/files/{path} | Upload by streaming the request body. |
| Method | Path | Description |
|---|
GET | /v1/usage | Budget for the authenticated API key. |
| Status | Meaning |
|---|
400 | Invalid body or unavailable model. |
401 | Missing or invalid key. |
402 | API key budget exhausted. |
502 | Upstream failure. |
503 | Provider, repository, or capacity unavailable. |