{"openapi":"3.1.0","info":{"title":"ModelsLab Agent Control Plane API","version":"1.0.0","description":"Agent-first control plane for account, billing, team, API key, and model discovery operations.","x-versioning":{"current":"v1","deprecation_policy":"Breaking changes are introduced only on a new versioned base path.","minimum_notice_days":90,"policy_url":"https://modelslab.com/api-deprecation-policy","signals":{"ModelsLab-Api-Version":"The version segment this request resolved to.","ModelsLab-Api-Lifecycle":"current | supported | deprecated.","Deprecation":"RFC 9745 HTTP date. Present only on a deprecated version.","Sunset":"RFC 8594 HTTP date after which the version stops responding."}},"x-scopes":{"default":["*"],"catalogue":{"*":"Full account access. Equivalent to every scope below; the default when no scopes are requested.","profile:read":"Read the account profile, email and preferences.","profile:write":"Update the account profile, password, socials and preferences.","tokens:read":"List the access tokens issued for this account.","tokens:write":"Revoke access tokens, log out, and switch account context.","api-keys:read":"List and inspect generation API keys.","api-keys:write":"Create, rename and delete generation API keys.","usage:read":"Read usage summaries, per-product usage and request history.","models:read":"Browse the model catalogue, filters, tags and providers.","files:write":"Upload files and base64 payloads for use as generation inputs.","billing:read":"Read billing info, invoices, payment methods and the Stripe publishable key.","billing:write":"Add and remove payment methods, update billing info and create payment links.","wallet:read":"Read the wallet balance, coupon validity and payment status.","wallet:write":"Fund the wallet, withdraw, redeem coupons and change auto-funding.","subscriptions:read":"Read plans, current subscriptions and subscription status.","subscriptions:write":"Buy, change, pause, resume and repair subscriptions.","teams:read":"List teams and team members.","teams:write":"Create and modify teams, invite members and accept invitations."},"request":"Send a `scopes` array on POST /auth/login or POST /auth/switch-account to mint a least-privilege token. Omitting it issues a full-access token, which is the historical behaviour.","enforcement":"A request outside a token's scopes is refused with 403 and error.code \"insufficient_scope\"; the required scope is named in the body and in the WWW-Authenticate header.","discovery":"https://modelslab.com/api/agents/v1/auth/scopes"},"x-rate-limit":{"headers":{"RateLimit-Limit":"Requests permitted in the current window.","RateLimit-Remaining":"Requests still available in the current window.","RateLimit-Reset":"Seconds until the window resets.","RateLimit-Policy":"Structured field: \"<policy>\";q=<quota>;w=<window seconds>.","RateLimit":"Structured field: \"<policy>\";r=<remaining>;t=<reset seconds>.","Retry-After":"Seconds to wait before retrying. Sent on 429."},"policies":{"general":"120 requests per minute across the authenticated control plane.","billing":"15 requests per minute on money-moving endpoints.","auth":"20 requests per minute per IP and email.","signup":"3 per minute, 10 per hour and 20 per day per client IP."}},"x-changelog":[{"version":"v1","released_at":"2026-02-19","changes":["Initial release of the agent control-plane endpoints.","Added idempotency handling for billing-sensitive mutations.","Added token lifecycle and account context APIs."]}]},"servers":[{"url":"https://modelslab.com/api/agents/v1"}],"security":[{"bearerAuth":[]}],"components":{"schemas":{"AgentMeta":{"type":"object","required":["request_id"],"properties":{"request_id":{"type":"string","description":"Correlation id for this request. Echo it to support when reporting a failure."}},"additionalProperties":true},"AgentError":{"type":"object","title":"Control plane error","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code. Branch on this, never on `message`.","examples":["validation_error","unauthenticated","insufficient_scope","not_found","method_not_allowed","rate_limited","invalid_credentials","email_not_verified","access_denied"]},"message":{"type":"string","description":"Human-readable explanation. Wording is not stable."},"details":{"type":["object","array"],"description":"Structured detail. For validation_error this is a map of field name to messages; for insufficient_scope it carries required_scope and granted_scopes.","additionalProperties":true}},"additionalProperties":false},"AgentSuccessEnvelope":{"type":"object","title":"Control plane success envelope","description":"Every 2xx on this API has this shape. `error` is always null on success.","required":["data","error","meta"],"properties":{"data":{"type":["object","array","null"],"description":"The endpoint payload. Shape is per operation; list endpoints wrap items in `items` plus a `count`.","additionalProperties":true},"error":{"type":"null"},"meta":{"$ref":"#/components/schemas/AgentMeta"}},"additionalProperties":false},"AgentErrorEnvelope":{"type":"object","title":"Control plane error envelope","description":"Every 4xx and 5xx on this API has this shape. `data` is always null on failure.","example":{"data":null,"error":{"code":"insufficient_scope","message":"This token does not have the required scope: wallet:read.","details":{"required_scope":"wallet:read","granted_scopes":["models:read"]}},"meta":{"request_id":"0f8f6b1e-7a4a-4a3f-9a1b-2c9c1d0e5f21"}},"required":["data","error","meta"],"properties":{"data":{"type":"null"},"error":{"$ref":"#/components/schemas/AgentError"},"meta":{"$ref":"#/components/schemas/AgentMeta"}},"additionalProperties":false}},"headers":{"RateLimit-Limit":{"description":"Requests permitted in the current window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests still available in the current window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the current window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Structured field: \"<policy>\";q=<quota>;w=<window seconds>.","schema":{"type":"string"}},"RateLimit":{"description":"Structured field: \"<policy>\";r=<remaining>;t=<reset seconds>.","schema":{"type":"string"}},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}},"WWW-Authenticate":{"description":"RFC 6750 challenge. On an insufficient_scope refusal it names the scope required.","schema":{"type":"string"}},"ModelsLab-Api-Version":{"description":"The API version segment this request resolved to.","schema":{"type":"string"}},"ModelsLab-Api-Lifecycle":{"description":"Lifecycle state of this API version.","schema":{"type":"string","enum":["current","supported","deprecated"]}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"PersonalAccessToken","description":"Sanctum personal access token from POST /auth/login. Pass `scopes` at login to mint a least-privilege token; see info.x-scopes."}}},"tags":[{"name":"api_keys"},{"name":"auth"},{"name":"billing"},{"name":"general"},{"name":"files"},{"name":"profile"},{"name":"models"},{"name":"subscriptions"},{"name":"teams"},{"name":"usage"},{"name":"wallet"}],"paths":{"/api-keys":{"get":{"tags":["api_keys"],"summary":"Api Keys Index","description":"Api Keys Index. GET /api-keys on the ModelsLab agent control plane. Requires the `api-keys:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_api-keys_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"api-keys:read"},"post":{"tags":["api_keys"],"summary":"Api Keys Store","description":"Api Keys Store. POST /api-keys on the ModelsLab agent control plane. Requires the `api-keys:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_api-keys_store","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"api-keys:write"}},"/api-keys/{id}":{"delete":{"tags":["api_keys"],"summary":"Api Keys Destroy","description":"Api Keys Destroy. DELETE /api-keys/{id} on the ModelsLab agent control plane. Requires the `api-keys:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_api-keys_destroy","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"api-keys:write"},"get":{"tags":["api_keys"],"summary":"Api Keys Show","description":"Api Keys Show. GET /api-keys/{id} on the ModelsLab agent control plane. Requires the `api-keys:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_api-keys_show","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"api-keys:read"},"put":{"tags":["api_keys"],"summary":"Api Keys Update","description":"Api Keys Update. PUT /api-keys/{id} on the ModelsLab agent control plane. Requires the `api-keys:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_api-keys_update","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"api-keys:write"}},"/auth/forgot-password":{"post":{"tags":["auth"],"summary":"Auth Forgot Password","description":"Auth Forgot Password. POST /auth/forgot-password on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_forgot-password","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/google-sign-in":{"post":{"tags":["auth"],"summary":"Auth Google Sign In","description":"Auth Google Sign In. POST /auth/google-sign-in on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_google-sign-in","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/login":{"post":{"tags":["auth"],"summary":"Auth Login","description":"Auth Login. POST /auth/login on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_login","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/logout":{"post":{"tags":["auth"],"summary":"Auth Logout","description":"Auth Logout. POST /auth/logout on the ModelsLab agent control plane. No bearer token required. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_logout","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}}}},"/auth/logout-all":{"post":{"tags":["auth"],"summary":"Auth Logout All","description":"Auth Logout All. POST /auth/logout-all on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_logout-all","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/resend-verification":{"post":{"tags":["auth"],"summary":"Auth Resend Verification","description":"Auth Resend Verification. POST /auth/resend-verification on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_resend-verification","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/reset-password":{"post":{"tags":["auth"],"summary":"Auth Reset Password","description":"Auth Reset Password. POST /auth/reset-password on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_reset-password","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/scopes":{"get":{"tags":["auth"],"summary":"Auth Scopes","description":"Auth Scopes. GET /auth/scopes on the ModelsLab agent control plane. Requires the `tokens:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_scopes","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:read"}},"/auth/signup":{"post":{"tags":["auth"],"summary":"Auth Signup","description":"Auth Signup. POST /auth/signup on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_signup","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/switch-account":{"post":{"tags":["auth"],"summary":"Auth Switch Account","description":"Auth Switch Account. POST /auth/switch-account on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_switch-account","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/tokens":{"get":{"tags":["auth"],"summary":"Auth Tokens Index","description":"Auth Tokens Index. GET /auth/tokens on the ModelsLab agent control plane. Requires the `tokens:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_tokens_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:read"}},"/auth/tokens/revoke-others":{"post":{"tags":["auth"],"summary":"Auth Tokens Revoke Others","description":"Auth Tokens Revoke Others. POST /auth/tokens/revoke-others on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_tokens_revoke-others","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/tokens/{id}":{"delete":{"tags":["auth"],"summary":"Auth Tokens Destroy","description":"Auth Tokens Destroy. DELETE /auth/tokens/{id} on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_tokens_destroy","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/auth/verify":{"post":{"tags":["auth"],"summary":"Auth Verify","description":"Auth Verify. POST /auth/verify on the ModelsLab agent control plane. Requires the `tokens:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_auth_verify","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"tokens:write"}},"/billing/google-play/status":{"get":{"tags":["billing"],"summary":"Billing Google Play Status","description":"Billing Google Play Status. GET /billing/google-play/status on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_google-play_status","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/billing/google-play/verify":{"post":{"tags":["billing"],"summary":"Billing Google Play Verify","description":"Billing Google Play Verify. POST /billing/google-play/verify on the ModelsLab agent control plane. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_google-play_verify","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/info":{"get":{"tags":["billing"],"summary":"Billing Info","description":"Billing Info. GET /billing/info on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_info","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"},"put":{"tags":["billing"],"summary":"Billing Info Update","description":"Billing Info Update. PUT /billing/info on the ModelsLab agent control plane. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_info_update","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/invoices":{"get":{"tags":["billing"],"summary":"Billing Invoices Index","description":"Billing Invoices Index. GET /billing/invoices on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_invoices_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/billing/invoices/{id}":{"get":{"tags":["billing"],"summary":"Billing Invoices Show","description":"Billing Invoices Show. GET /billing/invoices/{id} on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_invoices_show","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/billing/invoices/{id}/pdf":{"get":{"tags":["billing"],"summary":"Billing Invoices Pdf","description":"Billing Invoices Pdf. GET /billing/invoices/{id}/pdf on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_invoices_pdf","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/billing/overview":{"get":{"tags":["billing"],"summary":"Billing Overview","description":"Billing Overview. GET /billing/overview on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_overview","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/billing/payment-link":{"post":{"tags":["billing"],"summary":"Billing Payment Link","description":"Billing Payment Link. POST /billing/payment-link on the ModelsLab agent control plane. Generate Stripe-hosted payment URL to forward to human \u2014 supports card, Google Pay, Amazon Pay, Link, etc.. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_payment-link","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/payment-methods":{"get":{"tags":["billing"],"summary":"Billing Payment Methods Index","description":"Billing Payment Methods Index. GET /billing/payment-methods on the ModelsLab agent control plane. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_payment-methods_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"},"post":{"tags":["billing"],"summary":"Billing Payment Methods Store","description":"Billing Payment Methods Store. POST /billing/payment-methods on the ModelsLab agent control plane. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_payment-methods_store","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/payment-methods/{id}":{"delete":{"tags":["billing"],"summary":"Billing Payment Methods Destroy","description":"Billing Payment Methods Destroy. DELETE /billing/payment-methods/{id} on the ModelsLab agent control plane. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_payment-methods_destroy","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/payment-methods/{id}/default":{"put":{"tags":["billing"],"summary":"Billing Payment Methods Default","description":"Billing Payment Methods Default. PUT /billing/payment-methods/{id}/default on the ModelsLab agent control plane. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_payment-methods_default","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/setup-intent":{"post":{"tags":["billing"],"summary":"Billing Setup Intent","description":"Billing Setup Intent. POST /billing/setup-intent on the ModelsLab agent control plane. Create SetupIntent for 3DS-safe card saving. Requires the `billing:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_setup-intent","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:write"}},"/billing/stripe-config":{"get":{"tags":["billing"],"summary":"Billing Stripe Config","description":"Billing Stripe Config. GET /billing/stripe-config on the ModelsLab agent control plane. Get Stripe publishable key for headless card tokenization. Requires the `billing:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_billing_stripe-config","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"billing:read"}},"/changelog":{"get":{"tags":["general"],"summary":"Changelog","description":"Changelog. GET /changelog on the ModelsLab agent control plane. No bearer token required. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_changelog","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}}}},"/files/base64":{"post":{"tags":["files"],"summary":"Files Base64","description":"Files Base64. POST /files/base64 on the ModelsLab agent control plane. Requires the `files:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_files_base64","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"files:write"}},"/files/upload":{"post":{"tags":["files"],"summary":"Files Upload","description":"Files Upload. POST /files/upload on the ModelsLab agent control plane. Requires the `files:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_files_upload","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"files:write"}},"/me":{"get":{"tags":["profile"],"summary":"Me Show","description":"Me Show. GET /me on the ModelsLab agent control plane. Requires the `profile:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_me_show","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"profile:read"},"patch":{"tags":["profile"],"summary":"Me Update","description":"Me Update. PATCH /me on the ModelsLab agent control plane. Requires the `profile:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_me_update","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"profile:write"}},"/me/password":{"patch":{"tags":["profile"],"summary":"Me Password","description":"Me Password. PATCH /me/password on the ModelsLab agent control plane. Requires the `profile:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_me_password","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"profile:write"}},"/me/preferences":{"patch":{"tags":["profile"],"summary":"Me Preferences","description":"Me Preferences. PATCH /me/preferences on the ModelsLab agent control plane. Requires the `profile:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_me_preferences","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"profile:write"}},"/me/socials":{"patch":{"tags":["profile"],"summary":"Me Socials","description":"Me Socials. PATCH /me/socials on the ModelsLab agent control plane. Requires the `profile:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_me_socials","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"profile:write"}},"/models":{"get":{"tags":["models"],"summary":"Models Index","description":"Models Index. GET /models on the ModelsLab agent control plane. Requires the `models:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_models_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"models:read"}},"/models/filters":{"get":{"tags":["models"],"summary":"Models Filters","description":"Models Filters. GET /models/filters on the ModelsLab agent control plane. Requires the `models:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_models_filters","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"models:read"}},"/models/providers":{"get":{"tags":["models"],"summary":"Models Providers","description":"Models Providers. GET /models/providers on the ModelsLab agent control plane. Requires the `models:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_models_providers","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"models:read"}},"/models/tags":{"get":{"tags":["models"],"summary":"Models Tags","description":"Models Tags. GET /models/tags on the ModelsLab agent control plane. Requires the `models:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_models_tags","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"models:read"}},"/models/{modelId}":{"get":{"tags":["models"],"summary":"Models Show","description":"Models Show. GET /models/{modelId} on the ModelsLab agent control plane. Requires the `models:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_models_show","security":[{"bearerAuth":[]}],"parameters":[{"name":"modelId","in":"path","required":true,"description":"Model identifier from the catalogue. See GET /models.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"models:read"}},"/openapi.json":{"get":{"tags":["general"],"summary":"Openapi","description":"Openapi. GET /openapi.json on the ModelsLab agent control plane. No bearer token required. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_openapi","security":[],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}}}},"/payments/{paymentIntentId}/status":{"get":{"tags":["general"],"summary":"Payments Status","description":"Payments Status. GET /payments/{paymentIntentId}/status on the ModelsLab agent control plane. Requires the `wallet:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_payments_status","security":[{"bearerAuth":[]}],"parameters":[{"name":"paymentIntentId","in":"path","required":true,"description":"Stripe PaymentIntent id returned by a funding or subscription call.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:read"}},"/subscriptions":{"get":{"tags":["subscriptions"],"summary":"Subscriptions Index","description":"Subscriptions Index. GET /subscriptions on the ModelsLab agent control plane. Requires the `subscriptions:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:read"},"post":{"tags":["subscriptions"],"summary":"Subscriptions Store","description":"Subscriptions Store. POST /subscriptions on the ModelsLab agent control plane. Pass `payment_method_id` for headless, omit for checkout URL. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_store","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/charge-amount":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Charge Amount","description":"Subscriptions Charge Amount. POST /subscriptions/charge-amount on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_charge-amount","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/confirm-checkout":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Confirm Checkout","description":"Subscriptions Confirm Checkout. POST /subscriptions/confirm-checkout on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_confirm-checkout","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/plans":{"get":{"tags":["subscriptions"],"summary":"Subscriptions Plans","description":"Subscriptions Plans. GET /subscriptions/plans on the ModelsLab agent control plane. Requires the `subscriptions:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_plans","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:read"}},"/subscriptions/{id}":{"put":{"tags":["subscriptions"],"summary":"Subscriptions Update","description":"Subscriptions Update. PUT /subscriptions/{id} on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_update","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/{id}/fix-payment":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Fix Payment","description":"Subscriptions Fix Payment. POST /subscriptions/{id}/fix-payment on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_fix-payment","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/{id}/pause":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Pause","description":"Subscriptions Pause. POST /subscriptions/{id}/pause on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_pause","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/{id}/reset-cycle":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Reset Cycle","description":"Subscriptions Reset Cycle. POST /subscriptions/{id}/reset-cycle on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_reset-cycle","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/{id}/resume":{"post":{"tags":["subscriptions"],"summary":"Subscriptions Resume","description":"Subscriptions Resume. POST /subscriptions/{id}/resume on the ModelsLab agent control plane. Requires the `subscriptions:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_resume","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:write"}},"/subscriptions/{id}/status":{"get":{"tags":["subscriptions"],"summary":"Subscriptions Status","description":"Subscriptions Status. GET /subscriptions/{id}/status on the ModelsLab agent control plane. Requires the `subscriptions:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_subscriptions_status","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"subscriptions:read"}},"/teams":{"get":{"tags":["teams"],"summary":"Teams Index","description":"Teams Index. GET /teams on the ModelsLab agent control plane. Requires the `teams:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_index","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:read"},"post":{"tags":["teams"],"summary":"Teams Store","description":"Teams Store. POST /teams on the ModelsLab agent control plane. Requires the `teams:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_store","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:write"}},"/teams/invitations/{inviteId}/accept":{"post":{"tags":["teams"],"summary":"Teams Invitations Accept","description":"Teams Invitations Accept. POST /teams/invitations/{inviteId}/accept on the ModelsLab agent control plane. Requires the `teams:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_invitations_accept","security":[{"bearerAuth":[]}],"parameters":[{"name":"inviteId","in":"path","required":true,"description":"Team invitation identifier.","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:write"}},"/teams/{id}":{"delete":{"tags":["teams"],"summary":"Teams Destroy","description":"Teams Destroy. DELETE /teams/{id} on the ModelsLab agent control plane. Requires the `teams:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_destroy","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:write"},"get":{"tags":["teams"],"summary":"Teams Show","description":"Teams Show. GET /teams/{id} on the ModelsLab agent control plane. Requires the `teams:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_show","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:read"},"put":{"tags":["teams"],"summary":"Teams Update","description":"Teams Update. PUT /teams/{id} on the ModelsLab agent control plane. Requires the `teams:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_update","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:write"}},"/teams/{id}/resend-invite":{"post":{"tags":["teams"],"summary":"Teams Resend Invite","description":"Teams Resend Invite. POST /teams/{id}/resend-invite on the ModelsLab agent control plane. Requires the `teams:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_teams_resend-invite","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"description":"Numeric identifier of the resource.","schema":{"type":["integer","string"]}}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"teams:write"}},"/usage/history":{"get":{"tags":["usage"],"summary":"Usage History","description":"Usage History. GET /usage/history on the ModelsLab agent control plane. Requires the `usage:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_usage_history","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"usage:read"}},"/usage/products":{"get":{"tags":["usage"],"summary":"Usage Products","description":"Usage Products. GET /usage/products on the ModelsLab agent control plane. Requires the `usage:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_usage_products","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"usage:read"}},"/usage/summary":{"get":{"tags":["usage"],"summary":"Usage Summary","description":"Usage Summary. GET /usage/summary on the ModelsLab agent control plane. Requires the `usage:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_usage_summary","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"usage:read"}},"/wallet/auto-funding":{"delete":{"tags":["wallet"],"summary":"Wallet Auto Funding Disable","description":"Wallet Auto Funding Disable. DELETE /wallet/auto-funding on the ModelsLab agent control plane. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_auto-funding_disable","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"},"put":{"tags":["wallet"],"summary":"Wallet Auto Funding Update","description":"Wallet Auto Funding Update. PUT /wallet/auto-funding on the ModelsLab agent control plane. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_auto-funding_update","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"}},"/wallet/balance":{"get":{"tags":["wallet"],"summary":"Wallet Balance","description":"Wallet Balance. GET /wallet/balance on the ModelsLab agent control plane. Requires the `wallet:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_balance","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:read"}},"/wallet/confirm-checkout":{"post":{"tags":["wallet"],"summary":"Wallet Confirm Checkout","description":"Wallet Confirm Checkout. POST /wallet/confirm-checkout on the ModelsLab agent control plane. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_confirm-checkout","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"}},"/wallet/coupons/redeem":{"post":{"tags":["wallet"],"summary":"Wallet Coupons Redeem","description":"Wallet Coupons Redeem. POST /wallet/coupons/redeem on the ModelsLab agent control plane. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_coupons_redeem","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"}},"/wallet/coupons/validate":{"get":{"tags":["wallet"],"summary":"Wallet Coupons Validate","description":"Wallet Coupons Validate. GET /wallet/coupons/validate on the ModelsLab agent control plane. Requires the `wallet:read` scope (a token minted without a `scopes` array holds `*` and satisfies it). Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_coupons_validate","security":[{"bearerAuth":[]}],"parameters":[],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:read"}},"/wallet/fund":{"post":{"tags":["wallet"],"summary":"Wallet Fund","description":"Wallet Fund. POST /wallet/fund on the ModelsLab agent control plane. Pass `payment_method_id` for headless, omit for checkout URL. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_fund","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"}},"/wallet/withdraw":{"post":{"tags":["wallet"],"summary":"Wallet Withdraw","description":"Wallet Withdraw. POST /wallet/withdraw on the ModelsLab agent control plane. Requires the `wallet:write` scope (a token minted without a `scopes` array holds `*` and satisfies it). Mutating and billing-sensitive: send a unique `Idempotency-Key` header so a retry cannot double-charge. Responds with the standard `{data, error, meta}` envelope.","operationId":"agents_v1_wallet_withdraw","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":255},"description":"Unique idempotency key for safe retries on mutation endpoints."}],"responses":{"200":{"description":"Successful response.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"201":{"description":"Resource created.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"202":{"description":"Accepted for asynchronous processing.","headers":{"RateLimit-Limit":{"$ref":"#/components/headers/RateLimit-Limit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimit-Remaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimit-Reset"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimit-Policy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"ModelsLab-Api-Version":{"$ref":"#/components/headers/ModelsLab-Api-Version"},"ModelsLab-Api-Lifecycle":{"$ref":"#/components/headers/ModelsLab-Api-Lifecycle"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSuccessEnvelope"}}}},"400":{"description":"Bad request","x-error-code":"bad_request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"401":{"description":"Authentication required","x-error-code":"unauthenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"403":{"description":"Forbidden, or the token lacks the required scope. See x-required-scope on the operation","x-error-code":"insufficient_scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"WWW-Authenticate":{"$ref":"#/components/headers/WWW-Authenticate"}}},"404":{"description":"Resource not found","x-error-code":"not_found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"409":{"description":"Conflict","x-error-code":"conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"422":{"description":"Validation error","x-error-code":"validation_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}},"429":{"description":"Rate limited","x-error-code":"rate_limited","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}},"headers":{"Retry-After":{"$ref":"#/components/headers/Retry-After"}}},"500":{"description":"Server error","x-error-code":"server_error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentErrorEnvelope"}}}}},"x-required-scope":"wallet:write"}}},"x-generated-from":"route-metadata"}
