https://{instanceId}.agent37.app, with the same sk_live_ key sent as the X-Agent37-Key header. See Instance and preview URLs.
List models
GET /v1/models lists the models a harness can run, in the OpenAI list shape, { "object": "list", "data": [...] }, so any OpenAI-compatible client works against it. It reports on one harness: the instance default, or the one named by ?agent=, hermes or openclaw, and the response echoes which agent answered. An unknown ?agent= value is 400 validation_error, omitting it (or sending it empty) targets the instance default, and targeting a harness the instance was not provisioned with is 503 agent_unavailable. The result is cached for about 60 seconds, so a newly available model can take up to a minute to appear.
string
Always
"list".string
Which harness this list is for,
hermes or openclaw.string | null
The model used when a turn does not name one.
string | null
The provider of the default model.
array
One entry per model. Each is an OpenAI-compatible model object plus a few additive fields a UI can group and label on:
id: the model id. Pass it asmodelon a turn.object: always"model".created: Unix seconds. We don’t track per-model creation time, so this is a stable placeholder (0).owned_by: the upstream provider, e.g.nousoranthropic.label: a human-readable name.source: where the entry comes from, one ofcurrent,catalog,custom, oralias.is_default:truefor the default model.
Choosing a model per turn
model and provider are dials you set per turn on POST /v1/responses: omit them to keep the session’s current model, or send them to switch. A continuation that sets them updates the session’s model for the turns that follow.