---
title: "List models, CUA versions, action types, and effective runtime pricing"
method: GET
path: "/v1/models"
tags: ["predict"]
---

# List models, CUA versions, action types, and effective runtime pricing

`GET /v1/models`

## Response `200`

Model/capability catalog plus the billing engine's effective CUA and task-step prices.

- ModelsResponse
  - `models` ModelInfo[], required
    - `id` string, required
    - `description` string, required
  - `cua_versions` CUAVersionInfo[], required
    - `id` string, required
    - `description` string, required
    - `avg_step_time` string, required
    - `features` string[], required
    - `managed_stateless_predict_mode` 'full_pipeline' | 'shared_fast_planner', required — Managed-key POST /predict execution path. v3/v4/v5 share the low-latency one-call planner; sessions, runs, workflows, and BYOK predictions use the selected full engine.
    - `latest` boolean, required
  - `action_types` string[], required
  - `machine_action_commands` string[], required — Exact sorted runtime allowlist for POST /v1/machines/{machine_id}/actions and each batch step. Parameter shapes are discriminated in ActionRequest.oneOf.
  - `pricing` RuntimePricingInfo, required
    - `value_kind` 'effective_runtime', required
    - `published_defaults_path` '/api/pricing', required
    - `currency` 'usd', required
    - `credit_usd_cents` 1, required
    - `base_fees_credits` object, required
      - `predict` integer, required
      - `session_create` integer, required
      - `session_predict` integer, required
      - `ground` integer, required
      - `parse` integer, required
    - `surcharges_credits` object, required
      - `trajectory_screenshot_each` integer, required
      - `high_resolution_image_each` integer, required
      - `v1_engine_per_request` integer, required
      - `long_system_prompt_per_request` integer, required — Legacy name: Predict/Session Predict fee when combined system_prompt plus trimmed instructions exceeds the threshold; task instruction is excluded.
    - `long_system_prompt_threshold_chars` integer, required — Legacy name: threshold for combined system_prompt plus trimmed instructions on Predict/Session Predict. Exactly this value is free; task instruction is excluded.
    - `run_step_credits` CreditsByCuaVersion, required
      - `v1` integer, required
      - `v3` integer, required
      - `v4` integer, required
      - `v5` integer, required
    - `workflow_task_step_credits` CreditsByCuaVersion, required
      - `v1` integer, required
      - `v3` integer, required
      - `v4` integer, required
      - `v5` integer, required
    - `schedules` SchedulePricingInfo, required
      - `per_fire_credits` 0, required — Schedule dispatch itself is free.
      - `minimum_wallet_balance_cents` integer, required — Managed-model API-wallet gate for schedule creation and run-now; no amount is deducted. BYOK schedules bypass this gate.
      - `webhook_minimum_wallet_balance_cents` integer, required — Independently configurable managed-model API-wallet gate for HMAC webhook dispatch; no amount is deducted. BYOK schedules bypass this gate.
      - `webhook_default_rate_limit_per_minute` integer, required — Effective default per-webhook fire limit; a trigger may publish a narrower configured limit.
      - `webhook_replay_window_seconds` integer, required — Effective allowed absolute clock skew for Coasty-Signature timestamps.
      - `webhook_dedup_window_seconds` integer, required — Effective identical webhook-id plus raw-body deduplication window.
      - `webhook_max_body_bytes` integer, required — Effective maximum raw webhook request-body size.
      - `execution` ScheduleExecutionPricingInfo, required
        - `balance_source` 'subscription_credits', required — Live scheduled execution uses the account's subscription-credit balance, not the separate API wallet.
        - `credits_per_minute` integer, required
        - `minimum_balance_credits` integer, required
        - `billing_rounding` 'ceil_billable_minutes', required — Elapsed billable time is rounded up to a whole minute.
        - `billing_session_max_duration_seconds` integer, required — Agent-billing safety ceiling; startup rejects a scheduler timeout above it.
        - `scheduler_timeout_seconds` integer, required — Effective wall-clock timeout for one scheduled firing.
        - `credit_meter_applies_to` 'non_unlimited_accounts', required — The subscription-credit tariff and start-balance gate apply to accounts that are not on Unlimited.
        - `unlimited_credit_meter_bypass` true, required — Unlimited skips the subscription-credit start gate and deductions; its separate token throttle still applies.
    - `test_keys_bill` false, required

## Other responses

- `400` — Invalid request body or parameters.
- `401` — Missing, invalid, or revoked API key. Pass `X-API-Key: sk-coasty-live-...` (or test).
- `403` — API key lacks the required scope or tier-feature is unavailable on the caller's plan.
- `404` — Resource not found in this key's namespace.
- `409` — The resource state conflicts with this operation.
- `413` — The request body exceeds the endpoint limit.
- `422` — The JSON shape is valid but one or more values violate the endpoint contract.
- `429` — Rate or concurrency limit exceeded.
- `500` — Unexpected server error. Retry with exponential backoff.
- `502` — An upstream dependency returned an invalid response.
- `503` — A required service is temporarily unavailable.
- `504` — An upstream dependency timed out.

---

[API](https://skmtc.net/coasty/apis/coasty-public-api.md) · [All operations](https://skmtc.net/coasty/apis/coasty-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/coasty/coasty-public-api/versions/f50d93b0d8a1/schema)
