API Reference
Endpoints
The full VectorAxis REST surface, grouped by purpose. Every endpoint lives under /v1, and the paths in the tables below are the full HTTP paths. The management endpoints power the dashboard and let you automate everything it does.
Paths below are the full HTTP paths and include the /v1 prefix, for direct HTTP clients.
• OpenAI SDK (inference endpoints): set base_url to https://api.vectoraxis.ai/v1 (with /v1) — the SDK appends the endpoint, so /v1/chat/completions is just client.chat.completions.create(…).
• Direct HTTP: use https://api.vectoraxis.ai as the base (without /v1) and request the full path shown, e.g. https://api.vectoraxis.ai/v1/chat/completions.
• OpenAI SDK (inference endpoints): set base_url to https://api.vectoraxis.ai/v1 (with /v1) — the SDK appends the endpoint, so /v1/chat/completions is just client.chat.completions.create(…).
• Direct HTTP: use https://api.vectoraxis.ai as the base (without /v1) and request the full path shown, e.g. https://api.vectoraxis.ai/v1/chat/completions.
How each group authenticates. Inference paths take a virtual key (or direct x-provider + x-api-key). Discovery paths are open. Management paths take a Cognito session or a va_ platform key, with role checks per action (see Access Control).
Chat & inference virtual key
| Method | Path | Description |
|---|---|---|
| POST | /v1/chat/completions | OpenAI-compatible chat completion — the main inference endpoint. |
| POST | /v1/prompts/{slug}/completions | Run a managed prompt template as a chat completion. |
Discovery no auth
| Method | Path | Description |
|---|---|---|
| GET | /v1/providers | The routable provider ids (only those with a live adapter). |
| GET | /v1/pricing | Per-model pricing; accepts ?providers=OPENAI,ANTHROPIC. |
Virtual keys management
| Method | Path | Description |
|---|---|---|
| POST | /v1/virtual-keys | Create a key. |
| GET | /v1/virtual-keys | List (filter by provider, status, page). |
| GET | /v1/virtual-keys/{slug} | Get one key. |
| PUT | /v1/virtual-keys/{slug} | Update limits, budgets, allowlists. |
| DELETE | /v1/virtual-keys/{slug} | Delete a key. |
| POST | /v1/virtual-keys/{slug}/disable | Suspend (→ DISABLED). |
| POST | /v1/virtual-keys/{slug}/enable | Restore (→ ACTIVE). |
| POST | /v1/virtual-keys/{slug}/transfer | Move a key + balance to another workspace. |
Prompts management
| Method | Path | Description |
|---|---|---|
| POST / GET | /v1/prompts | Create · list. |
| GET / PUT / DELETE | /v1/prompts/{slug} | Get · update · delete. |
| POST / GET | /v1/prompts/{slug}/versions | Add a version · list versions. |
| GET | /v1/prompts/{slug}/versions/{ref} | Fetch a version by number or label. |
| POST | /v1/prompts/{slug}/versions/{n}/publish | Publish a version. |
| POST | /v1/prompts/{slug}/versions/{n}/rollback | Roll back to a version. |
| GET / PUT / DELETE | /v1/prompts/{slug}/labels/{label} | Manage a moving label. |
| POST | /v1/prompts/{slug}/render | Render with variables (no model call). |
| POST / GET / DELETE | /v1/prompts/{slug}/test-cases | Manage test cases. |
| POST | /v1/prompts/{slug}/test-cases/run | Run the test suite. |
| GET | /v1/prompts/{slug}/analytics | Cost/latency by version. |
| GET | /v1/prompts/{slug}/audit-log | Change history. |
Routing configs & guardrails management
| Method | Path | Description |
|---|---|---|
| POST / GET | /v1/configs | Create · list routing configs. |
| GET / PUT / DELETE | /v1/configs/{slug} | Get · update · delete. |
| POST / GET | /v1/guardrails | Create · list guardrails. |
| GET / PUT / DELETE | /v1/guardrails/{slug} | Get · update · delete. |
| POST | /v1/guardrails/{slug}/enable | Enable. |
| POST | /v1/guardrails/{slug}/disable | Disable. |
Observability management
| Method | Path | Description |
|---|---|---|
| GET | /v1/logs | Paginated log search with filters. |
| GET | /v1/logs/{id} | Single log detail. |
| GET | /v1/analytics/summary | Aggregated summary for a scope. |
| GET | /v1/analytics/timeseries | One metric bucketed over time. |
| GET | /v1/analytics/breakdown | Group-by breakdown. |
| POST | /v1/logs/export | Start an async export job (org admin). |
| GET | /v1/logs/export/{jobId} | Poll export status. |
| GET | /v1/logs/export/{jobId}/download | Download the finished file. |
Documents & media virtual key
| Method | Path | Description |
|---|---|---|
| POST / GET | /v1/files | Upload · list files (vxf-* ids). |
| GET / DELETE | /v1/files/{file_id} | Get metadata · delete. |
| GET | /v1/files/{file_id}/content | Download file content. |
| POST | /v1/audio/transcriptions | Speech → text. |
| POST | /v1/audio/translations | Speech → English text. |
| POST | /v1/audio/speech | Text → speech. |
| POST | /v1/images/generations | Generate images. |
| POST | /v1/images/edits | Edit images. |
| POST / GET | /v1/batches | Create · list batch jobs. |
| GET / POST | /v1/batches/{id} | Get · cancel (/cancel). |
| POST / GET / DELETE | /v1/responses | Responses API (create · get /{id} · delete). |
Configuring behaviour on these paths? Every feature is toggled with a request header — no proprietary body fields.