Skip to content

Org Inference Routes

List Org Routes

The routes this org authored. Platform routes are not listed here.

Deliberately not the dispatchable list: the platform’s routes are configured (keys, endpoint overrides, on/off) under /settings/ai/routes, and mixing rows an org may delete with rows it may not into one list is how a delete button ends up next to something it cannot act on.

Requires ADMIN or OWNER role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes

Responses

StatusDescriptionBody
200Successful ResponseOrgInferenceRouteListResponse
422Validation ErrorHTTPValidationError

Create Org Route

Author a route pointing at an endpoint this org runs.

Requires ADMIN or OWNER role, and byo_keys.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
base_urlstringyesThe endpoint’s URL. Must be reachable from the public internet.
dialect"anthropic" | "openai" | "voyage"yesThe wire format the endpoint speaks — not the vendor.
labelstringyes
slugstringyesLowercase kebab-case. Globally unique across every organization, because it is also the name of this route’s credential setting.

Responses

StatusDescriptionBody
201Successful ResponseOrgInferenceRouteResponse
422Validation ErrorHTTPValidationError

PATCH /api/orgs/{org_id}/inference-routes/{route_id}

Section titled “PATCH /api/orgs/{org_id}/inference-routes/{route_id}”

Update Org Route

Change a route’s label, endpoint or on/off state.

slug and dialect are not editable. The slug is stored on offerings and in the credential setting’s own name, so renaming it is a data migration rather than an edit; the dialect decides which SDK is constructed, so changing it under an offering would send one wire format to an endpoint speaking another.

Switching a route off is allowed with offerings still pinned to it, and that is the difference from the admin surface: this row is the org’s own, a disabled route hard-fails at dispatch naming itself, and refusing here would remove the one control an org has when its endpoint is misbehaving.

Requires ADMIN or OWNER role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes
route_idpathstring (uuid)yes

Request body (required)

FieldTypeRequiredDescription
base_urlstringno
enabledbooleanno
labelstringno

Responses

StatusDescriptionBody
200Successful ResponseOrgInferenceRouteResponse
422Validation ErrorHTTPValidationError

DELETE /api/orgs/{org_id}/inference-routes/{route_id}

Section titled “DELETE /api/orgs/{org_id}/inference-routes/{route_id}”

Delete Org Route

Remove a route.

Refused with 409 while any offering still pins it. Not a cascade: deleting the endpoint out from under an offering would leave a model that resolves to nothing, and the first anyone hears of it is a failed turn. The FK is RESTRICT and would refuse anyway — this exists to say what is pinned, which the database’s own error cannot.

Requires ADMIN or OWNER role.

Parameters

NameInTypeRequiredDescription
org_idpathstring (uuid)yes
route_idpathstring (uuid)yes

Responses

StatusDescriptionBody
204Successful Response
422Validation ErrorHTTPValidationError