Responses API
DEVUP AI provides an OpenAI-compatible Responses API endpoint for supported models. This endpoint exposes a structured request/response interface with native Responses output payloads, built-in reasoning configuration, and transparent billing in Algerian Dinar (DZD).
https://api.devupai.com/v1/responsesCurrent limitation: Non-streaming requests only
Streaming is not currently supported on /v1/responses. Requests must set stream: false or omit the parameter entirely. Sending stream: true returns an HTTP 400 streaming_not_supported error.
Authentication & Billing
The Responses API uses standard Bearer token authentication with your existing DEVUP AI API key. It connects directly to our canonical billing engine, applying exact balance reservation and settlement in Algerian Dinar (DZD) without separate subscription tiers or secondary ledgers.
Quick Start
You can interact with /v1/responses using official OpenAI SDKs or standard HTTP clients by setting the base URL to https://api.devupai.com/v1.
Note: Examples use openai/gpt-5.3-codex, or another catalog model configured for Responses compatibility.
Request Parameters
The DEVUP AI gateway accepts native Responses parameters and validates them before forwarding to the upstream provider.
| Parameter | Type | Requirement | Description |
|---|---|---|---|
| model | string | Required | Identifier of a Responses-compatible catalog model. |
| input | string | array | Optional | The text prompt or array of input content items to process. |
| instructions | string | Optional | System-level instructions directing the model's behavior. |
| max_output_tokens | integer | Optional | Ceiling on generated output tokens. Must be a positive integer within model capabilities. |
| reasoning | object | Optional | Nested reasoning object. Supports effort (accepted values vary by model; see Reasoning Configuration below). |
| temperature | number | Optional | Sampling temperature. Passed through to compatible providers. |
| top_p | number | Optional | Nucleus sampling threshold. |
| user | string | Optional | End-user identifier for abuse monitoring and logging. |
| metadata | object | Optional | Developer metadata key-value pairs attached to the request. |
| store | boolean | Forced False | DEVUP AI strictly forces store: false upstream to ensure zero data retention. Client values are overridden. |
| stream | boolean | Omit / False | Streaming is not supported. Must be omitted or false. Setting true returns HTTP 400. |
Reasoning Configuration
In the Responses API, reasoning parameters must be nested under the reasoning object. Top-level parameters such as Chat's reasoning_effort are explicitly rejected with an HTTP 400 error. Accepted effort levels depend on the model:
| Model | Accepted Values |
|---|---|
| openai/gpt-5.3-codex | none, low, medium, high, xhigh |
| openai/gpt-5.5-pro | medium, high (none and low not accepted) |
| openai/gpt-5.4-pro | medium, high (none and low not accepted) |
{
"model": "openai/gpt-5.3-codex",
"input": "Prove whether P equals NP or explain why the problem remains unresolved.",
"reasoning": {
"effort": "high"
},
"max_output_tokens": 2048
}Native Responses Output
The endpoint returns the provider-native Responses object rather than Chat Completions choices[]. DEVUP AI cleanses provider infrastructure headers, preserves structured content parts, and attaches canonical billing telemetry under _devup.
{
"id": "resp_01j8k9m0n1p2q3r4s5t6u7v8w9",
"object": "response",
"created_at": 1700000000,
"model": "openai/gpt-5.3-codex",
"status": "completed",
"output": [
{
"id": "msg_01j8k9m0n1p2q3r4s5t6u7v8wa",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "Quantum key distribution (QKD) leverages the fundamental quantum principle..."
}
]
}
],
"usage": {
"input_tokens": 24,
"output_tokens": 182,
"total_tokens": 206,
"input_tokens_details": {
"cached_tokens": 0,
"cache_write_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"_devup": {
"cost_dzd": "<settled_cost_dzd>",
"balance_dzd": "<remaining_balance_dzd>"
}
}Usage Metrics & Token Accounting
The usage object reports detailed token metrics normalized by DEVUP AI:
Model Compatibility
Responses API compatibility is capability-based. Not all models in the catalogue support the Responses protocol. To use this endpoint, the target model must support the native Responses protocol and input-token preflight counter.
If a request targets a model whose provider destination does not support the Responses protocol, the gateway fails safely with an HTTP 400 unsupported_destination error before reserving funds or invoking upstream resources. Check the Model Catalog for compatible model identifiers.
Error Reference
The Responses API adheres to the standard DEVUP AI error envelope. For the complete reference of gateway error codes, visit the API Error Reference.
| Status | Error Code | Description & Resolution |
|---|---|---|
| 400 | missing_model | The model parameter is missing or empty. Provide a valid model string. |
| 400 | streaming_not_supported | The request specified stream: true. Set stream: false or omit the parameter. |
| 400 | unsupported_parameter | An unsupported parameter was provided. Top-level reasoning_effort must be moved to reasoning: { effort }; multi-turn continuation parameters are not supported (provide full conversation in input). |
| 400 | unsupported_destination | The selected model does not support the Responses protocol. Select a compatible model from the catalog. |
| 400 | invalid_request_error | max_output_tokens must be a positive integer within model limits. |
| 401 | missing_api_key / invalid_api_key | Provide a valid active API key in the Authorization: Bearer header. |
| 402 | insufficient_balance | Your DZD balance is insufficient for the request reservation. Top up via the dashboard. |
| 404 | model_not_found | The requested model identifier was not found in the DEVUP AI catalog. |
| 429 | rate_limit_exceeded | Standard per-account rate limit (100 req/min) reached. Back off and retry. |