Skip to main content
An agent names a model and the credential it runs on. These two endpoints are how you find out which names are valid for your account before you write them into a harness.

The endpoints

The list is the platform’s own endpoints plus any you have connected yourself.
uuid
What an agent writes as text_llm_endpoint_id. It is a raw UUID, not a public id: endpoints are referenced inside a harness’s files, not addressed as API resources.
string
The provider slug — anthropic, openai, gemini, splox — which is also what an agent writes as provider.
boolean
True when the platform holds the credential, so you need none of your own.
boolean
True for at most one endpoint: the one the server stamps into an agent that names none.
Naming an endpoint is optional. Leave text_llm_endpoint_id out of an agent and it gets the default one — above, Anthropic. What you cannot do is leave the agent with neither a provider nor an endpoint: nothing then says whose credential the turn runs on, and the run fails on its first turn.

The models of one endpoint

Models come back in display order, across every operation the provider serves — chat_completion, responses, realtime. The Anthropic endpoint above answers with eleven, all chat_completion, ids from claude-haiku-4-5-20251001 to claude-opus-5. id is the value an agent writes as model:
Model choice is optional too — omit it and the server assigns its default.

What a model accepts

capabilities is what the model can do; input_schema is the JSON Schema of the knobs it accepts, which are the ones you may pass to the agent as additional_llm_config. It is a real schema, with types, bounds and defaults:
The knobs differ per model, which is the point of asking: on this endpoint the 4.5-generation models take thinking_tokens, the 5-generation models take thinking_effort, and only the Sonnet models offer enable_1m_context. Reading the schema beats guessing at a parameter the provider will reject.

Visibility

Platform endpoints are visible to everybody; an endpoint you connected is visible only to you. An endpoint that belongs to somebody else and one that does not exist answer the same way:

In the SDKs