Models API
OpenAI-compatible model discovery and inference endpoints.Endpoints
Section titled “Endpoints”| Method | Path | Request | Response |
|---|---|---|---|
GET | /v1/models | — | ModelList |
POST | /v1/chat/completions | ChatCompletionRequest | ChatCompletion or an SSE stream |
List models
Section titled “List models” GET
/v1/models curl https://api.dexto.ai/v1/models \ -H "Authorization: Bearer $DEXTO_API_KEY"| Response field | JSON type | Required | Description |
|---|---|---|---|
object | "list" | Yes | List discriminator |
data | array<Model> | Yes | Models Dexto supports; your account may have different access methods |
data[].id | string | Yes | Model identifier used in requests; replies name the model by this id |
data[].object | "model" | Yes | Object discriminator |
data[].name | string | Yes | Display name |
data[].owned_by | string | Yes | The lab that makes the model, such as anthropic or openai |
data[].context_window | integer | Yes | Most input tokens the model takes in one request |
data[].max_output_tokens | integer|null | Yes | Most tokens the model writes in one reply; null when Dexto does not know it |
data[].reasoning_efforts | array<string> | Yes | reasoning_effort values a request may send; empty when the model takes none |
data[].created | integer | No | Unix timestamp in seconds |
Create chat completion
Section titled “Create chat completion” POST
/v1/chat/completions The endpoint supports text, model-dependent image, PDF, and audio inputs, tool calls, reasoning, and streaming. Available modalities depend on the selected model.
| Request field | JSON type | Required | Description |
|---|---|---|---|
model | string | Yes | ID returned by GET /v1/models |
reasoning_effort | string | No | One of the model’s reasoning_efforts |
messages | array<Message> | Yes | Ordered conversation messages |
messages[].role | string | Yes | system, user, assistant, or tool |
messages[].content | string | array | Yes | Text or structured multimodal parts |
stream | boolean | No | Return server-sent events |
temperature | number | No | Sampling temperature |
max_tokens | integer | No | Maximum generated tokens |
tools | array<Tool> | No | OpenAI-compatible function tools |
curl https://api.dexto.ai/v1/chat/completions \ -H "Authorization: Bearer $DEXTO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-5.6-luna", "messages": [{"role":"user","content":"Summarize this release note."}] }'{ "id": "chatcmpl_01K4M6V7P8", "object": "chat.completion", "created": 1789142400, "model": "openai/gpt-5.6-luna", "choices": [{ "index": 0, "message": {"role":"assistant","content":"The release expands the developer API."}, "finish_reason": "stop" }], "usage": {"prompt_tokens":14,"completion_tokens":9,"total_tokens":23}}With stream: true, the response uses text/event-stream and returns OpenAI-compatible completion chunks.