Skip to content
Hoody.com

Browse the merged model catalogue, inspect LLM providers, and manage provider credentials — stored API keys, OAuth logins, and pooled OAuth accounts. All endpoints return secret-free summaries; stored credentials are never echoed back.


List models.

Lists the merged model catalogue: every catalogued provider model (spec, display name, context window, output limit, reasoning flag, display prices) AND every selectable fusion composite (spec beginning with fusion/<slug>). Each entry carries source:"provider" or source:"fusion" so a caller can tell them apart. A composite’s context_window is the minimum across its catalogued members and it carries no per-token price. Only selectable composites appear (a broken one is excluded). Fusion composites are cwd/config_dir scoped; X-Hoody-Cwd and X-Hoody-Config-Dir are honored to resolve them.

NameInTypeRequiredDescription
pagequeryintegerNo1-based page number for pagination.
limitqueryintegerNoMaximum items per page (0 = no pagination).
X-Hoody-CwdheaderstringNoPer-request working-directory scope: the .hoody project layer / record cwd / tool+workflow cwd.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override selecting which on-disk .hoody install a stateless read/write resolves.
X-Hoody-ContainerheaderstringNoPer-request bound remote container (omitted = local).
X-Hoody-RealmheaderstringNoPer-request realm selector: "global" or a 24-hex id.
realmquerystringNoPer-request realm selector — the query alias of the X-Hoody-Realm header (read only when the header is absent).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/models

Get a model by spec.

Returns one catalogued model by its full spec (for example anthropic/claude-opus-4-8), OR a fusion composite by its fusion/<slug> spec. The spec contains a slash; pass it URL-encoded or use the SDK helper.

NameInTypeRequiredDescription
specpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/models/anthropic%2Fclaude-opus-4-8

List LLM providers.

Lists every catalogued LLM provider (id, display name, model prefix, wire format, model count) from the merged providers.json catalogue.

NameInTypeRequiredDescription
pagequeryintegerNo1-based page number for pagination.
limitqueryintegerNoMaximum items per page (0 = no pagination).
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers

Get a provider.

Returns one provider’s metadata plus its full catalogued model list.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/anthropic

Get a provider’s auth status.

Reports a provider’s stored-credential state — whether an API key or OAuth login is stored, the effective default method, the passwordless (no-auth) flag, and the secret-free OAuth account pool. Any stored API key is surfaced as a 10-character prefix only; the full key is never returned.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/anthropic/auth

POST /api/v1/agent/providers/{id}/auth/oauth

Section titled “POST /api/v1/agent/providers/{id}/auth/oauth”

Start a provider OAuth login.

Begins an interactive OAuth login and returns {job_id, verification_uri, user_code?}. Drive the flow with GET .../oauth/{job} (poll) and, for a manual or PKCE code, POST .../oauth/{job}/code (submit). The job carries only the non-secret verification URL and user code — never a token.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
FieldTypeRequiredDescription
add_accountbooleanNoWhen true, the login ADDS to the provider’s OAuth account pool instead of replacing the primary login.
Terminal window
curl -sS -X POST https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/oauth \
-H "Content-Type: application/json" \
-d '{}'

GET /api/v1/agent/providers/{id}/auth/oauth/{job}

Section titled “GET /api/v1/agent/providers/{id}/auth/oauth/{job}”

Poll a provider OAuth login.

Polls an in-flight OAuth login job. Reports state:"pending" until the user authorizes, then state:"complete" (with the now-current secret-free auth status) or state:"error" (with a scrubbed error message).

NameInTypeRequiredDescription
idpathstringYesPath identifier.
jobpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/oauth/oaj_3f4b1c9d7e2a8f60

POST /api/v1/agent/providers/{id}/auth/oauth/{job}/code

Section titled “POST /api/v1/agent/providers/{id}/auth/oauth/{job}/code”

Submit a provider OAuth authorization code.

Supplies the authorization code (or full redirect URL) a blocked OAuth flow is waiting for. Idempotent-safe: a second submit on an already-fed job is a no-op (submitted:false).

NameInTypeRequiredDescription
idpathstringYesPath identifier.
jobpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
FieldTypeRequiredDescription
codestringYesThe authorization code (or the full redirect URL) to complete the exchange.
Terminal window
curl -sS -X POST https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/oauth/oaj_3f4b1c9d7e2a8f60/code \
-H "Content-Type: application/json" \
-d '{"code":"https://github.com/callback?code=abc123&state=xyz"}'

DELETE /api/v1/agent/providers/{id}/auth/oauth

Section titled “DELETE /api/v1/agent/providers/{id}/auth/oauth”

Remove a provider’s OAuth login.

Removes a provider’s stored OAuth credentials. Idempotent. Returns the resulting secret-free auth status.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS -X DELETE https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/oauth

GET /api/v1/agent/providers/{id}/auth/accounts

Section titled “GET /api/v1/agent/providers/{id}/auth/accounts”

List a provider’s OAuth account pool.

Lists the secret-free OAuth account pool for a provider: key, label, active flag, cooldown — never a token.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
pagequeryintegerNo1-based page number for pagination.
limitqueryintegerNoMaximum items per page (0 = no pagination).
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/accounts

POST /api/v1/agent/providers/{id}/auth/accounts

Section titled “POST /api/v1/agent/providers/{id}/auth/accounts”

Add an OAuth account to a provider’s pool.

Begins an OAuth login that ADDS to the provider’s account pool. Returns a {job_id}; drive it with the same poll/submit endpoints as startProviderOAuth.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS -X POST https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/accounts \
-H "Content-Type: application/json" \
-d '{}'

PUT /api/v1/agent/providers/{id}/auth/accounts/{key}/active

Section titled “PUT /api/v1/agent/providers/{id}/auth/accounts/{key}/active”

Make a pooled OAuth account active.

Makes one pooled OAuth account active for a provider. The {key} path value names the account; the trailing /active sub-resource names the activation verb. Returns the resulting secret-free account pool.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
keypathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS -X PUT https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/accounts/work-b/active \
-H "Content-Type: application/json" \
-d '{}'

DELETE /api/v1/agent/providers/{id}/auth/accounts/{key}

Section titled “DELETE /api/v1/agent/providers/{id}/auth/accounts/{key}”

Remove a pooled OAuth account.

Drops one pooled OAuth account for a provider. The {key} path value names the account. Returns the resulting secret-free account pool.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
keypathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS -X DELETE https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/github/auth/accounts/work-b

PUT /api/v1/agent/providers/{id}/auth/api-key

Section titled “PUT /api/v1/agent/providers/{id}/auth/api-key”

Store a provider API key.

Stores a provider’s API key in the 0600-atomic ~/.hoody/.env keychainless store. The reply carries only the secret-free auth status (10-character prefix); the full key is never returned.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
FieldTypeRequiredDescription
api_keystringYesThe provider API key. Stored in the 0600 ~/.hoody/.env store; the reply echoes only a prefix.
Terminal window
curl -sS -X PUT https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/anthropic/auth/api-key \
-H "Content-Type: application/json" \
-d '{"api_key":"sk-ant-api03-XXXXX-REDACTED-XXXXX"}'

DELETE /api/v1/agent/providers/{id}/auth/api-key

Section titled “DELETE /api/v1/agent/providers/{id}/auth/api-key”

Delete a provider API key.

Removes a provider’s stored API key and its default-method marker. Idempotent. Returns the resulting secret-free auth status.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
Terminal window
curl -sS -X DELETE https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/anthropic/auth/api-key

PUT /api/v1/agent/providers/{id}/auth/default

Section titled “PUT /api/v1/agent/providers/{id}/auth/default”

Set a provider’s default credential method.

Sets the effective default credential method for a provider — api_key or oauth. The daemon validates the method against the provider’s capabilities AND that a credential of that kind is actually stored.

NameInTypeRequiredDescription
idpathstringYesPath identifier.
X-Hoody-CwdheaderstringNoPer-request working-directory scope.
X-Hoody-Config-DirheaderstringNoPer-request --config-dir override.
X-Hoody-ContainerheaderstringNoPer-request bound remote container.
X-Hoody-RealmheaderstringNoPer-request realm selector.
realmquerystringNoPer-request realm selector (query alias).
FieldTypeRequiredDescription
defaultstringYesThe default method: "api_key" or "oauth". Must be a method the provider supports AND has a stored credential for.
Terminal window
curl -sS -X PUT https://{projectId}-{containerId}-agent-1.{server}.containers.hoody.icu/api/v1/agent/providers/anthropic/auth/default \
-H "Content-Type: application/json" \
-d '{"default":"api_key"}'