Dedalus Labs V1 API
The V1 API from Dedalus Labs — 12 operation(s) for v1.
The V1 API from Dedalus Labs — 12 operation(s) for v1.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dedaluslabs-v1-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Dedalus V1 API
description: 'MCP gateway for AI agents. Mix-and-match any model with any tool from our marketplace.
## Authentication
Use Bearer token or X-API-Key header authentication:
```
Authorization: Bearer your-api-key-here
```
```
x-api-key: your-api-key-here
```
## Available Endpoints
- **GET /v1/models**: list available models
- **POST /v1/chat/completions**: Chat completions with MCP tools
- **GET /health**: Service health check'
version: 0.0.1
servers:
- url: https://api.dedaluslabs.ai
description: Official Dedalus API
tags:
- name: V1
paths:
/v1/models:
get:
tags:
- V1
summary: List Models
description: "List available models.\n\nRetrieve the complete list of models available to your organization, including\nmodels from OpenAI, Anthropic, Google, xAI, Mistral, Fireworks, and DeepSeek.\n\nReturns:\n ListModelsResponse: List of available models across all supported providers"
operationId: list_models_v1_models_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListModelsResponse'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.models.list();'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.models.list()'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Models.List(ctx context.Context)'
/v1/models/{model_id}:
get:
tags:
- V1
summary: Retrieve Model
description: "Retrieve a model.\n\nRetrieve detailed information about a specific model, including its capabilities,\nprovider, and supported features.\n\nArgs:\n model_id: The ID of the model to retrieve (e.g., 'openai/gpt-4', 'anthropic/claude-3-5-sonnet-20241022')\n user: Authenticated user obtained from API key validation\n\nReturns:\n Model: Information about the requested model\n\nRaises:\n HTTPException:\n - 401 if authentication fails\n - 404 if model not found or not accessible with current API key\n - 500 if internal error occurs\n\nRequires:\n Valid API key with 'read' scope permission\n\nExample:\n ```python\n import dedalus_sdk\n\n client = dedalus_sdk.Client(api_key=\"your-api-key\")\n model = client.models.retrieve(\"openai/gpt-4\")\n\n print(f\"Model: {model.id}\")\n print(f\"Owner: {model.owned_by}\")\n ```\n\n Response:\n ```json\n {\n \"id\": \"openai/gpt-4\",\n \"object\": \"model\",\n \"created\": 1687882411,\n \"owned_by\": \"openai\"\n }\n ```"
operationId: retrieve_model_v1_models__model_id__get
security:
- Bearer: []
parameters:
- name: model_id
in: path
required: true
schema:
type: string
title: Model Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/Model'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.models.retrieve(modelID);'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.models.retrieve(model_id)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Models.Get(ctx, modelID string)'
/v1/chat/completions:
post:
tags:
- V1
summary: Create Chat Completion
description: "Create a chat completion.\n\nGenerates a model response for the given conversation and configuration.\nSupports OpenAI-compatible parameters and provider-specific extensions.\n\nHeaders:\n - Authorization: bearer key for the calling account.\n - X-Provider / X-Provider-Key: optional headers for using your own provider API key.\n\nBehavior:\n - If multiple models are supplied, the first one is used, and the agent may hand off to another model.\n - Tools may be invoked on the server or signaled for the client to run.\n - Streaming responses emit incremental deltas; non-streaming returns a single object.\n - Usage metrics are computed when available and returned in the response.\n\nResponses:\n - 200 OK: JSON completion object with choices, message content, and usage.\n - 400 Bad Request: validation error.\n - 401 Unauthorized: authentication failed.\n - 402 Payment Required or 429 Too Many Requests: quota, balance, or rate limit issue.\n - 500 Internal Server Error: unexpected failure.\n\nBilling:\n - Token usage metered by the selected model(s).\n - Tool calls and MCP sessions may be billed separately.\n - Streaming is settled after the stream ends via an async task.\n\nExample (non-streaming HTTP):\n POST /v1/chat/completions\n Content-Type: application/json\n Authorization: Bearer <key>\n\n {\n \"model\": \"provider/model-name\",\n \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]\n }\n\n 200 OK\n {\n \"id\": \"cmpl_123\",\n \"object\": \"chat.completion\",\n \"choices\": [\n {\"index\": 0, \"message\": {\"role\": \"assistant\", \"content\": \"Hi there!\"}, \"finish_reason\": \"stop\"}\n ],\n \"usage\": {\"prompt_tokens\": 3, \"completion_tokens\": 4, \"total_tokens\": 7}\n }\n\nExample (streaming over SSE):\n POST /v1/chat/completions\n Accept: text/event-stream\n\n data: {\"id\":\"cmpl_123\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\"Hi\"}}]}\n data: {\"id\":\"cmpl_123\",\"choices\":[{\"index\":0,\"delta\":{\"content\":\" there!\"}}]}\n data: [DONE]"
operationId: create_chat_completion_v1_chat_completions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionRequest'
required: true
responses:
'200':
description: JSON or SSE stream of ChatCompletionChunk events
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletion'
text/event-stream:
schema:
$ref: '#/components/schemas/ChatCompletionStreamResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.chat.completions.create({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.chat.completions.create(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Chat.Completions.New(ctx, body githubcomdedaluslabsdedalussdkgo.ChatCompletionNewParams)'
/v1/embeddings:
post:
tags:
- V1
summary: Create Embeddings
description: Create embeddings using the configured provider.
operationId: create_embeddings_v1_embeddings_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EmbeddingRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/EmbeddingResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.embeddings.create({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.embeddings.create(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Embeddings.New(ctx, body githubcomdedaluslabsdedalussdkgo.EmbeddingNewParams)'
/v1/responses:
post:
tags:
- V1
summary: Create Response
description: 'Create a response using the OpenAI Responses API.
This endpoint routes directly to OpenAI''s Responses API.
Only OpenAI models are supported.'
operationId: create_response_v1_responses_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResponsesRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ResponsesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: python
label: Python
source: 'client = Dedalus()
result = client.responses.create(**params)'
/v1/audio/speech:
post:
tags:
- V1
summary: Create Speech
description: 'Generate speech audio from text.
Generates audio from the input text using text-to-speech models. Supports multiple
voices and output formats including mp3, opus, aac, flac, wav, and pcm.
Returns streaming audio data that can be saved to a file or streamed directly to users.'
operationId: create_speech_v1_audio_speech_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SpeechRequest'
required: true
responses:
'200':
description: Audio file stream
content:
audio/mpeg:
schema:
type: string
format: binary
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.audio.speech.create({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.audio.speech.create(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Audio.Speech.New(ctx, body githubcomdedaluslabsdedalussdkgo.AudioSpeechNewParams)'
/v1/audio/transcriptions:
post:
tags:
- V1
summary: Create Transcription
description: "Transcribe audio into text.\n\nTranscribes audio files using OpenAI's Whisper model. Supports multiple audio formats\nincluding mp3, mp4, mpeg, mpga, m4a, wav, and webm. Maximum file size is 25 MB.\n\nArgs:\n file: Audio file to transcribe (required)\n model: Model ID to use (e.g., \"openai/whisper-1\")\n language: ISO-639-1 language code (e.g., \"en\", \"es\") - improves accuracy\n prompt: Optional text to guide the model's style\n response_format: Format of the output (json, text, srt, verbose_json, vtt)\n temperature: Sampling temperature between 0 and 1\n\nReturns:\n Transcription object with the transcribed text"
operationId: create_transcription_v1_audio_transcriptions_post
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_create_transcription_v1_audio_transcriptions_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/CreateTranscriptionResponseVerboseJson'
- $ref: '#/components/schemas/CreateTranscriptionResponseJson'
title: Response Create Transcription V1 Audio Transcriptions Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.audio.transcriptions.create({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.audio.transcriptions.create(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Audio.Transcriptions.New(ctx, body githubcomdedaluslabsdedalussdkgo.AudioTranscriptionNewParams)'
/v1/audio/translations:
post:
tags:
- V1
summary: Create Translation
description: "Translate audio into English.\n\nTranslates audio files in any supported language to English text using OpenAI's\nWhisper model. Supports the same audio formats as transcription. Maximum file size\nis 25 MB.\n\nArgs:\n file: Audio file to translate (required)\n model: Model ID to use (e.g., \"openai/whisper-1\")\n prompt: Optional text to guide the model's style\n response_format: Format of the output (json, text, srt, verbose_json, vtt)\n temperature: Sampling temperature between 0 and 1\n\nReturns:\n Translation object with the English translation"
operationId: create_translation_v1_audio_translations_post
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_create_translation_v1_audio_translations_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/CreateTranslationResponseVerboseJson'
- $ref: '#/components/schemas/CreateTranslationResponseJson'
title: Response Create Translation V1 Audio Translations Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.audio.translations.create({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.audio.translations.create(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Audio.Translations.New(ctx, body githubcomdedaluslabsdedalussdkgo.AudioTranslationNewParams)'
/v1/images/generations:
post:
tags:
- V1
summary: Create Image
description: 'Generate images from text prompts.
Pure image generation models only (DALL-E, GPT Image).
For multimodal models like gemini-2.5-flash-image, use /v1/chat/completions.'
operationId: create_image_v1_images_generations_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ImageGenerateRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImagesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.images.generate({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.images.generate(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Images.Generate(ctx, body githubcomdedaluslabsdedalussdkgo.ImageGenerateParams)'
/v1/images/edits:
post:
tags:
- V1
summary: Edit Image
description: 'Edit images using inpainting.
Supports dall-e-2 and gpt-image-1. Upload an image and optionally a mask
to indicate which areas to regenerate based on the prompt.'
operationId: edit_image_v1_images_edits_post
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_edit_image_v1_images_edits_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImagesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.images.edit({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.images.edit(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Images.Edit(ctx, body githubcomdedaluslabsdedalussdkgo.ImageEditParams)'
/v1/images/variations:
post:
tags:
- V1
summary: Create Variation
description: 'Create variations of an image.
DALL·E 2 only. Upload an image to generate variations.'
operationId: create_variation_v1_images_variations_post
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/Body_create_variation_v1_images_variations_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ImagesResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: typescript
label: Typescript
source: 'const client = new Dedalus();
const result = await client.images.createVariation({ ...params });'
- lang: python
label: Python
source: 'client = Dedalus()
result = client.images.create_variation(**params)'
- lang: go
label: Go
source: 'client := dedalus.NewClient()
result, err := client.Images.NewVariation(ctx, body githubcomdedaluslabsdedalussdkgo.ImageNewVariationParams)'
/v1/ocr:
post:
tags:
- V1
summary: Process Ocr
description: 'Process a document through Mistral OCR.
Extracts text from PDFs and images, returning markdown-formatted content.'
operationId: process_ocr_v1_ocr_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OCRRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/OCRResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- Bearer: []
x-codeSamples:
- lang: python
label: Python
source: 'client = Dedalus()
result = client.ocr.process(**params)'
components:
schemas:
ResponsePromptParam:
properties:
id:
type: string
title: Id
description: Identifier of the stored prompt.
version:
anyOf:
- type: string
- type: 'null'
title: Version
description: Optional version identifier of the stored prompt.
variables:
anyOf:
- $ref: '#/components/schemas/JSONObject'
- type: 'null'
description: Variables to substitute into the stored prompt template.
type: object
required:
- id
title: ResponsePromptParam
description: Stored prompt template reference (BYOK).
ToolChoiceNone:
properties:
type:
type: string
const: none
title: Type
x-order: 0
type: object
required:
- type
title: ToolChoiceNone
description: 'The model will not be allowed to use tools.
Fields:
- type (required): Literal["none"]'
OCRPage:
properties:
index:
type: integer
title: Index
markdown:
type: string
title: Markdown
type: object
required:
- index
- markdown
title: OCRPage
description: Single page OCR result.
MCPToolResult:
properties:
tool_name:
type: string
title: Tool Name
description: Name of the MCP tool that was executed.
server_name:
type: string
title: Server Name
description: Name of the MCP server that handled the tool.
arguments:
$ref: '#/components/schemas/JSONObject'
description: Input arguments passed to the tool.
result:
anyOf:
- $ref: '#/components/schemas/JSONValue'
- type: 'null'
description: Structured result from the tool (parsed from structuredContent or content).
is_error:
type: boolean
title: Is Error
description: Whether the tool execution resulted in an error.
duration_ms:
anyOf:
- type: integer
- type: 'null'
title: Duration (ms)
description: Execution time in milliseconds.
type: object
required:
- tool_name
- server_name
- arguments
- is_error
title: MCPToolResult
description: 'Result of a single MCP tool execution.
Provides visibility into MCP tool calls including the full input arguments
and structured output, enabling debugging and audit trails.'
ModelId:
type: string
title: ModelId
description: Model identifier string (e.g., 'openai/gpt-5', 'anthropic/claude-3-5-sonnet').
x-stainless-variantName: ModelId
ChatCompletionRequestMessageContentPartFile:
properties:
type:
type: string
const: file
title: Type
description: The type of the content part. Always `file`.
x-order: 0
file:
properties:
filename:
type: string
title: Filename
description: "The name of the file, used when passing the file to the model as a \nstring."
x-order: 0
file_data:
type: string
title: File Data
description: "The base64 encoded file data, used when passing the file to the model \nas a string."
x-order: 1
file_id:
type: string
title: File Id
description: The ID of an uploaded file to use as input.
x-order: 2
type: object
description: 'Schema for File.
Fields:
- filename (optional): str
- file_data (optional): str
- file_id (optional): str'
type: object
required:
- type
- file
title: ChatCompletionRequestMessageContentPartFile
description: 'Learn about [file inputs](/docs/guides/text) for text generation.
Fields:
- type (required): Literal["file"]
- file (required): File'
CacheControlEphemeral:
properties:
ttl:
type: string
enum:
- 5m
- 1h
title: Ttl
description: 'The time-to-live for the cache control breakpoint.
This may be one the following values:
- `5m`: 5 minutes
- `1h`: 1 hour
Defaults to `5m`.'
x-order: 0
type:
type: string
const: ephemeral
title: Type
x-order: 1
type: object
required:
- type
title: CacheControlEphemeral
description: 'Schema for CacheControlEphemeral.
Fields:
- ttl (optional): Literal["5m", "1h"]
- type (required): Literal["ephemeral"]'
ModelCapabilities:
properties:
text:
anyOf:
- type: boolean
- type: 'null'
title: Text
description: Supports text generation
vision:
anyOf:
- type: boolean
- type: 'null'
title: Vision
description: Supports image understanding
image_generation:
anyOf:
- type: boolean
- type: 'null'
title: Image Generation
description: Supports image generation
audio:
anyOf:
- type: boolean
- type: 'null'
title: Audio
description: Supports audio processing
tools:
anyOf:
- type: boolean
- type: 'null'
title: Tools
description: Supports function/tool calling
structured_output:
anyOf:
- type: boolean
- type: 'null'
title: Structured Output
description: Supports structured JSON output
streaming:
anyOf:
- type: boolean
- type: 'null'
title: Streaming
description: Supports streaming responses
thinking:
anyOf:
- type: boolean
- type: 'null'
title: Thinking
description: Supports extended thinking/reasoning
input_token_limit:
anyOf:
- type: integer
- type: 'null'
title: Input Token Limit
description: Maximum input tokens
output_token_limit:
anyOf:
- type: integer
- type: 'null'
title: Output Token Limit
description: Maximum output tokens
type: object
title: ModelCapabilities
description: Normalized model capabilities across all providers.
SafetySetting:
properties:
category:
type: string
enum:
- SEXUALLY_EXPLICIT
- DANGEROUS_CONTENT
title: Category
description: The category this setting applies to.
x-order: 0
threshold:
type: string
enum:
- BLOCK_UNSET
- BLOCK_LOW_THRESHOLD
- BLOCK_HIGH_THRESHOLD
title: Threshold
description: The blocking threshold for the category.
x-order: 1
type: object
required:
- category
- threshold
title: SafetySetting
description: 'Per-category safety setting that pairs a content category with a blocking threshold.
Fields:
- category (required): SafetyCategory
- threshold (required): SafetyThreshold'
CompletionTokensDetails:
properties:
accepted_prediction_tokens:
type: integer
title: Accepted Prediction Tokens
description: 'When using Predicted Outputs, the number of tokens in the
prediction that appeared in the completion.'
default: 0
x-order: 0
audio_tokens:
type: integer
title: Audio Tokens
description: Audio input tokens generated by the model.
default: 0
x-order: 1
reasoning_tokens:
type: integer
title: Reasoning Tokens
description: Tokens generated by the model for reasoning.
default: 0
x-order: 2
rejected_prediction_tokens:
type: integer
title: Rejected Prediction Tokens
description: 'When using Predicted Outputs, the number of tokens in the
prediction that did not appear in the completion. However, like
reasoning tokens, these tokens are still counted in the total
completion tokens for purposes of billing, output, and context window
limits.'
default: 0
x-order: 3
type: object
title: CompletionTokensDetails
description: 'Breakdown of tokens used in a completion.
Fields:
- accepted_prediction_tokens (optional): int
- audio_tokens (optional): int
- reasoning_tokens (optional): int
- rejected_prediction_tokens (optional): int'
x-ddls-inline: true
ChatCompletionRequestSystemMessage:
properties:
content:
anyOf:
- type: string
- items:
$ref: '#/components/schemas/ChatCompletionRequestMessageContentPartText'
type: array
minItems: 1
title: ChatCompletionRequestSystemMessageContentArray
title: Content
description: The contents of the system message.
x-order: 0
role:
type: string
const: system
title: Role
description: The role of the messages author, in this case `system`.
x-order: 1
name:
type: string
title: Name
description: An optional name for the participant. Provides the model information to differentiate between participants of the same role.
x-order: 2
type: object
required:
- content
- role
title: ChatCompletionRequestSystemMessage
description: 'Developer-provided instructions that the model should follow, regardless of
messages sent by the user. With o1 models and newer, use `developer` messages
for this purpose instead.
Fields:
- content (required): str | Annotated[list[ChatCompletionRequestSystemMessageContentPart], MinLen(1), ArrayTitle("ChatCompletionRequestSystemMessageContentArray")]
- role (required): Literal["system"]
- name (optional): str'
Model:
properties:
id:
type: string
title: Id
description: Unique model identifier with provider prefix (e.g., 'openai/gpt-4')
provider:
$ref: '#/components/schemas/Provider'
description: Provider that hosts this model
created_at:
type: string
format: date-time
title: Created At
description: When the model was released (RFC 3339)
display_name:
anyOf:
- type: string
- type: 'null'
title: Display Name
description: Human-readable model name
description:
anyOf:
- type: string
- type: 'null'
title: Description
description: Mod
# --- truncated at 32 KB (193 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dedaluslabs/refs/heads/main/openapi/dedaluslabs-v1-api-openapi.yml