Skip to content

Create a logical model, provider bindings, pricing, and access atomically

POST
/api/inference/models/configuration
curl --request POST \
--url https://gateway.example.com/api/inference/models/configuration \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "model": { "publicId": "example", "displayName": "example", "contextWindow": 1, "maxInputTokens": 1, "maxOutputTokens": null, "autoCompactTokenLimit": 1, "modalities": [ "example" ], "capabilities": { "additionalProperty": true }, "reasoningEfforts": [ "example" ], "defaultReasoningEffort": "example", "defaultAccessAllowed": true, "subscriptionMultiplier": 1 }, "sources": [ { "connectionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "discoveredModelId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "upstreamModelId": "example", "enabled": true, "subscriptionMultiplierOverride": 1, "reasoningEffortMap": { "additionalProperty": "example" }, "capabilitiesOverride": "example", "manualMetadata": { "contextWindow": 1, "maxInputTokens": 1, "maxOutputTokens": 1, "autoCompactTokenLimit": 1 }, "pricing": { "version": "example", "inputMicrodollarsPerMillion": 1, "cachedInputMicrodollarsPerMillion": 1, "cacheWriteMicrodollarsPerMillion": 1, "outputMicrodollarsPerMillion": 1, "reasoningMicrodollarsPerMillion": 1, "otherUnitPrices": { "additionalProperty": 1 }, "source": "provider" } } ], "access": { "mode": "everyone", "subjects": [] } }'

JSON request body

Media typeapplication/json
object
model
required
object
publicId
required
string
>= 1 characters <= 255 characters
displayName
required
string
>= 1 characters <= 255 characters
contextWindow
required
integer
> 0
maxInputTokens
required
integer
> 0
maxOutputTokens
integer | null
> 0
autoCompactTokenLimit
required
integer
> 0
modalities
required
Array<string>
>= 1 items
capabilities
required
object
key
additional properties
boolean
reasoningEfforts
required
Array<string>
defaultReasoningEffort
string | null
>= 1 characters <= 32 characters
defaultAccessAllowed
required
boolean
subscriptionMultiplier
required
number
> 0 <= 10000
sources
required
Array<object>
>= 1 items
object
connectionId
required
string format: uuid
discoveredModelId
string format: uuid
upstreamModelId
string
>= 1 characters <= 1024 characters
enabled
boolean
subscriptionMultiplierOverride
number | null
> 0 <= 10000
reasoningEffortMap
required
object
key
additional properties
string
>= 1 characters <= 64 characters
capabilitiesOverride
object | null
manualMetadata
object
contextWindow
integer
> 0
maxInputTokens
integer
> 0
maxOutputTokens
integer
> 0
autoCompactTokenLimit
integer
> 0
pricing
object
version
required
string
>= 1 characters <= 80 characters
inputMicrodollarsPerMillion
required
integer
cachedInputMicrodollarsPerMillion
integer | null
cacheWriteMicrodollarsPerMillion
integer | null
outputMicrodollarsPerMillion
required
integer
reasoningMicrodollarsPerMillion
integer | null
otherUnitPrices
object
key
additional properties
integer
source
required
string
Allowed values: provider manual
access
required
object
mode
required
string
Allowed values: everyone selected disabled
subjects
Array<object>
default:
object
subjectType
required
string
Allowed values: group user
subjectId
required
string format: uuid

Created

Media typeapplication/json
object
key
additional properties
Example
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Example resource",
"createdAt": "2024-01-01T12:00:00.000Z",
"updatedAt": "2024-01-01T12:30:00.000Z"
}
}

Bad request

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "VALIDATION_ERROR",
"message": "Request validation failed",
"details": [
{
"path": [
"name"
],
"message": "Required"
}
]
}

Authentication required

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNAUTHORIZED",
"message": "Authentication required"
}

Forbidden

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "FORBIDDEN",
"message": "Insufficient permissions"
}

Not found

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "NOT_FOUND",
"message": "Resource not found"
}

Conflict

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "CONFLICT",
"message": "Resource already exists"
}

Unprocessable entity

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "UNPROCESSABLE_ENTITY",
"message": "Request could not be processed"
}

Internal server error

Media typeapplication/json
object
code
required

Error code

string
message
required

Human-readable error message

string
details

Additional error details

Example
{
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}