Skip to main content
POST
Create a model in the catalogue

Authorizations

Authorization
string
header
required

User-bound credential carrying an identity: either a session JWT or a user access token (at:*) generated from the user settings UI. Send as Authorization: Bearer <token>. Org API keys (iak_*) are not accepted here - they carry no user identity. Use the x-prismeai-api-key header instead (see OrgApiKeyAuth).

Body

application/json

Write-shape for POST /v1/models and each item of PUT /v1/models. model_id and type are required.

model_id
string
required
Maximum string length: 128
type
enum<string>
required
Available options:
completion,
embeddings,
image_generation,
transcription
Maximum string length: 64
display
object
capabilities
object
limits
object
failover
string
Maximum string length: 128
region
enum<string> | null
Available options:
world,
eu-west,
eu-north,
us-east,
us-west,
asia,
null
Maximum string length: 64
end_of_life
string<date> | null
dimensions
any
supported_dimensions
any
metrics
any
provider_config
any
pricing
any
tags
any
org_slugs
any
enabled
any

Response

Model created. Returns the inserted document.

Model catalogue document. The catalogue is the source of truth for provider routing, capabilities, pricing, and per-org availability.

model_id
string
required

Stable identifier (matches the value sent in request.model).

Maximum string length: 128
type
enum<string>
required

Model family.

Available options:
completion,
embeddings,
image_generation,
transcription
Maximum string length: 64
display
object

Display metadata (label, brand, hidden flag).

capabilities
object

Flags advertising what the model supports.

limits
object

Provider-side limits (e.g. context window, max tokens).

failover
string

Optional model_id to route to when the primary fails.

Maximum string length: 128
region
enum<string> | null

Optional carbon-region override. null (default) = the region the provider entry serving the model gives: its carbon_region, else the Bedrock inference-profile prefix (global. → world, eu. → eu-west…) or AWS region, else the Vertex location. Set it only for a model that runs elsewhere. An unknown value is refused (400 INVALID_REGION).

Available options:
world,
eu-west,
eu-north,
us-east,
us-west,
asia,
null
Maximum string length: 64
end_of_life
string<date> | null

Announced end-of-life date of the model (YYYY-MM-DD). Informational, routing continues.

dimensions
any

Default embedding dimensionality (embeddings models only).

supported_dimensions
number[]

Allowed values for the request dimensions parameter.

metrics
any

Free-form metrics block (latency, throughput hints, …).

provider_config
object

Provider-specific configuration (batch size, parallelism, …).

pricing
object

Cost configuration used to compute usage.cost.

tags
string[]

Free-form tags used by the search/filter UI.

org_slugs
string[]

When set and non-empty, restricts the model to the listed organizations. Empty / missing means the model is available to all orgs (subject to governance overlays).

enabled
boolean

When false, the model is hidden from routing.