Skip to content

Update a model

PATCH
/v1/models/{id}
curl --request PATCH \
--url https://app.everruns.com/api/v1/models/example \
--header 'Content-Type: application/json' \
--data '{ "capabilities": [ "chat", "tools" ], "display_name": "GPT-4o Mini", "enabled": true, "is_favorite": true, "model_id": "gpt-4o-mini", "provider_id": "provider_019df670b5af7db7a5685a4ad18a544a" }'
id
required
string

Model ID (prefixed, e.g., mod_…)

Media type application/json

Request to update an LLM model. Only provided fields will be updated.

object
capabilities

List of capabilities this model supports.

Array<string> | null
Example
[
"chat",
"tools"
]
display_name

Human-readable display name for the model.

string | null
Example
GPT-4o Mini
enabled

Whether this model should be enabled (visible in UI model pickers).

boolean | null
Example
true
is_favorite

Whether this model should be marked as a favorite for quick access.

boolean | null
Example
true
model_id

The model identifier used by the provider’s API.

string | null
Example
gpt-4o-mini
provider_id

Provider that owns this model.

string | null
Example
provider_019df670b5af7db7a5685a4ad18a544a

Model updated

Media type application/json

Wrapper that adds API and UI links to a serialized resource.

Uses self_url (not url) for the API link to avoid collision with resources that already have a url field (e.g. McpServer). The allowed_actions array carries state-aware hypermedia links — empty (and omitted from the wire shape) until the underlying resource opts into the convention by overriding ResourceUrlable::allowed_actions.

object
capabilities
required

Capability tags supported by this model (e.g. chat, tools, vision).

Array<string>
created_at
required

Timestamp when this model was created (RFC 3339).

string format: date-time
display_name
required

Human-readable display name. Safe to render in user-facing messages.

string
enabled
required

Whether this model is selectable. Controls UI visibility AND server-side resolution: ProviderResolverService requires enabled = true, and org default-model validation rejects disabled models. Disabled models stay visible in raw list endpoints (so admins can re-enable them) but cannot be used in active sessions or as a session/agent default.

boolean
id
required

Prefixed public identifier. See ID Schema.

string
is_favorite
required

Whether this model is starred in the UI for quick access.

boolean
model_id
required

Provider-side model identifier as sent on the wire (e.g. gpt-4o, claude-sonnet-4).

string
provider_id
required

Owning provider’s prefixed public identifier.

string
source
required

How this model entry was added (manually, discovered, or seeded as predefined).

string
Allowed values: manual discovered predefined
updated_at
required

Timestamp when this model was last updated (RFC 3339).

string format: date-time
allowed_actions

State-aware hypermedia actions the caller can take on this resource next (e.g. cancel, events, update). Omitted from the wire shape when empty so resources that haven’t opted into the convention don’t grow their payloads.

Array<object>

Agent-actionable link describing a follow-up the caller can take. Used in two contexts:

  • Error recoveryErrorResponse.allowed_actions carries rels like retry, retry-later, unarchive, get-existing so the agent knows the right next call after a 4xx/429.
  • Entity hypermediaWithUrls<T>.allowed_actions carries state-aware rels like cancel, events, self, update on the entity itself so the agent can follow links instead of reconstructing routes from prose.

The shape is intentionally identical across both contexts; the closed rel vocabulary documented in specs/api-conventions.md distinguishes them.

object
hint

Short, agent-readable hint (e.g. “Shorten ‘name’ to <= 200 chars.”, “Cancel the active turn for this session.”).

string | null
href

Absolute (preferred) or relative URL the caller may invoke directly. Always present on entity hypermedia actions (WithUrls<T>.allowed_actions); optional on error-recovery actions (ErrorResponse.allowed_actions) where the matching operation_id is enough and the URI is implicit from the failed call.

string | null
method

HTTP method to use against href. Required for entity hypermedia actions; usually omitted on error-recovery actions where the same operation is retried with its original method.

string | null
operation_id

OpenAPI operationId the caller should invoke. Lets an MCP client resolve the call without parsing href.

string | null
rel
required

Link relation describing the action. Closed vocabulary documented in specs/api-conventions.md — examples: self, cancel, pause, resume, events, retry, retry-later, unarchive, get-existing, delete, update.

string
schema_ref

OpenAPI $ref to the request-body schema, when the action takes one (e.g. #/components/schemas/UpdateSessionRequest). Lets a tool-calling agent fetch the input shape without scanning the whole spec.

string | null
self_url
required

Full API endpoint URL for this resource.

string
ui_link
required

Alias for view_url, used by command and MCP outputs.

string
view_url
required

Full UI URL for viewing this resource.

string
Example
{
"id": "model_01933b5a00007000800000000000001",
"provider_id": "provider_01933b5a00007000800000000000001",
"source": "manual",
"allowed_actions": [
{
"method": "POST"
}
]
}

Invalid model ID

Model not found