{"openapi":"3.1.0","info":{"title":"TycoonRouter","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/ready":{"get":{"summary":"Ready","operationId":"ready_ready_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/account/api-keys":{"get":{"tags":["account"],"summary":"List Api Keys","operationId":"list_api_keys_v1_account_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Api Keys V1 Account Api Keys Get"}}}}}},"post":{"tags":["account"],"summary":"Create Api Key","operationId":"create_api_key_v1_account_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Api Key V1 Account Api Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/account/profile":{"get":{"tags":["account"],"summary":"Account Profile","description":"Return the Router user and workspace bound to the current API key.","operationId":"account_profile_v1_account_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Account Profile V1 Account Profile Get"}}}}}}},"/v1/account/api-keys/current/rotate":{"post":{"tags":["account"],"summary":"Rotate Api Key","operationId":"rotate_api_key_v1_account_api_keys_current_rotate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rotate Api Key V1 Account Api Keys Current Rotate Post"}}}}}}},"/v1/account/api-keys/{key_id}/rotate":{"post":{"tags":["account"],"summary":"Rotate Owned Api Key","operationId":"rotate_owned_api_key_v1_account_api_keys__key_id__rotate_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rotate Owned Api Key V1 Account Api Keys  Key Id  Rotate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/account/api-keys/current":{"delete":{"tags":["account"],"summary":"Revoke Api Key","operationId":"revoke_api_key_v1_account_api_keys_current_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Revoke Api Key V1 Account Api Keys Current Delete"}}}}}}},"/v1/account/api-keys/{key_id}":{"delete":{"tags":["account"],"summary":"Revoke Owned Api Key","operationId":"revoke_owned_api_key_v1_account_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Revoke Owned Api Key V1 Account Api Keys  Key Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/checkout":{"post":{"tags":["billing"],"summary":"Create Checkout","operationId":"create_checkout_v1_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CheckoutRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Create Checkout V1 Billing Checkout Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/billing/webhook":{"post":{"tags":["billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_v1_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Stripe Webhook V1 Billing Webhook Post"}}}}}}},"/v1/billing/reconcile":{"post":{"tags":["billing"],"summary":"Reconcile Checkout","description":"Reconcile a paid Checkout Session after the browser returns from Stripe.\n\nStripe webhooks remain the authoritative retry path, but relying on the\nwebhook alone leaves a paid customer stuck at zero when the Dashboard\nendpoint is missing or temporarily unavailable. The session id is scoped\nto the authenticated tenant and the same idempotent credit routine is used\nby both paths.","operationId":"reconcile_checkout_v1_billing_reconcile_post","parameters":[{"name":"checkout_session_id","in":"query","required":true,"schema":{"type":"string","minLength":4,"maxLength":255,"title":"Checkout Session Id"}},{"name":"return_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":16,"maxLength":2048},{"type":"null"}],"title":"Return Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reconcile Checkout V1 Billing Reconcile Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/providers":{"get":{"tags":["authentication"],"summary":"Auth Providers","operationId":"auth_providers_v1_auth_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auth Providers V1 Auth Providers Get"}}}}}}},"/v1/auth/register":{"post":{"tags":["authentication"],"summary":"Register","operationId":"register_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register V1 Auth Register Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"tags":["authentication"],"summary":"Login","operationId":"login_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Login V1 Auth Login Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/session":{"get":{"tags":["authentication"],"summary":"Session Info","operationId":"session_info_v1_auth_session_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Session Info V1 Auth Session Get"}}}}}}},"/v1/auth/logout":{"post":{"tags":["authentication"],"summary":"Logout","operationId":"logout_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Logout V1 Auth Logout Post"}}}}}}},"/v1/wallet/balance":{"get":{"tags":["wallet"],"summary":"Balance","operationId":"balance_v1_wallet_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Balance V1 Wallet Balance Get"}}}}}}},"/v1/wallet/transactions":{"get":{"tags":["wallet"],"summary":"Transactions","operationId":"transactions_v1_wallet_transactions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Transactions V1 Wallet Transactions Get"}}}}}}},"/v1/run/status/{identifier}":{"get":{"summary":"Job Status","operationId":"job_status_v1_run_status__identifier__get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncJobView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/run/cancel/{identifier}":{"post":{"summary":"Cancel Job","operationId":"cancel_job_v1_run_cancel__identifier__post","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncJobView"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/key":{"get":{"summary":"Current Key","description":"Return non-secret metadata for the API key used by this request.\n\nThis is intentionally read-only: TycoonRouter owns the credential and\nwallet state used by the request.","operationId":"current_key_v1_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Current Key V1 Key Get"}}}}}}},"/v1/usage":{"get":{"summary":"Usage","operationId":"usage_v1_usage_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"null"}],"title":"Agent Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10000,"minimum":1},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/usage":{"get":{"summary":"Usage","operationId":"usage_usage_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":160},{"type":"null"}],"title":"Agent Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":10000,"minimum":1},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers":{"post":{"tags":["tycoon-integration"],"summary":"Provision Managed Customer","operationId":"provision_managed_customer_internal_tycoon_managed_customers_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManagedCustomerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Provision Managed Customer Internal Tycoon Managed Customers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/keys":{"get":{"tags":["tycoon-integration"],"summary":"List Managed Keys","operationId":"list_managed_keys_internal_tycoon_managed_customers__customer_id__keys_get","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Managed Keys Internal Tycoon Managed Customers  Customer Id  Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tycoon-integration"],"summary":"Create Managed Key","operationId":"create_managed_key_internal_tycoon_managed_customers__customer_id__keys_post","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ManagedCustomerRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Managed Key Internal Tycoon Managed Customers  Customer Id  Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/rotate":{"post":{"tags":["tycoon-integration"],"summary":"Rotate Managed Customer","operationId":"rotate_managed_customer_internal_tycoon_managed_customers__customer_id__rotate_post","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rotate Managed Customer Internal Tycoon Managed Customers  Customer Id  Rotate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/keys/{key_id}/limits":{"patch":{"tags":["tycoon-integration"],"summary":"Update Managed Key Limits","operationId":"update_managed_key_limits_internal_tycoon_managed_customers__customer_id__keys__key_id__limits_patch","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}},{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Managed Key Limits Internal Tycoon Managed Customers  Customer Id  Keys  Key Id  Limits Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/keys/{key_id}":{"delete":{"tags":["tycoon-integration"],"summary":"Revoke Managed Key","operationId":"revoke_managed_key_internal_tycoon_managed_customers__customer_id__keys__key_id__delete","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}},{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Revoke Managed Key Internal Tycoon Managed Customers  Customer Id  Keys  Key Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/wallet-credit":{"post":{"tags":["tycoon-integration"],"summary":"Credit Managed Wallet","operationId":"credit_managed_wallet_internal_tycoon_managed_customers__customer_id__wallet_credit_post","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletCreditRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Credit Managed Wallet Internal Tycoon Managed Customers  Customer Id  Wallet Credit Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/tycoon/managed-customers/{customer_id}/usage":{"get":{"tags":["tycoon-integration"],"summary":"Managed Usage","operationId":"managed_usage_internal_tycoon_managed_customers__customer_id__usage_get","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":500,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Managed Usage Internal Tycoon Managed Customers  Customer Id  Usage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pilot":{"post":{"summary":"Pilot","operationId":"pilot_v1_pilot_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PilotRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Pilot V1 Pilot Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/run":{"post":{"summary":"Run","operationId":"run_v1_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/completions":{"post":{"summary":"Chat Completions","operationId":"chat_completions_v1_chat_completions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/responses":{"post":{"summary":"Responses","operationId":"responses_v1_responses_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/messages":{"post":{"summary":"Messages","operationId":"messages_v1_messages_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/{resource_path}":{"post":{"summary":"Openai Compatible Post","operationId":"openai_compatible_post_v1__resource_path__post","parameters":[{"name":"resource_path","in":"path","required":true,"schema":{"type":"string","title":"Resource Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/models":{"get":{"summary":"Models","operationId":"models_v1_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/models/{model_id}":{"get":{"summary":"Model Detail","description":"Return one versioned catalog row without enabling paid execution.","operationId":"model_detail_v1_models__model_id__get","parameters":[{"name":"model_id","in":"path","required":true,"schema":{"type":"string","title":"Model Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/transcribe":{"post":{"summary":"Transcribe","description":"Compatibility STT endpoint backed by the normal Router billing path.\n\nThe upload is converted to the audited /v1/run base64 contract. No caller\nURL is fetched, and the same request/idempotency and wallet settlement\ncode is used as every other paid route.","operationId":"transcribe_api_transcribe_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_transcribe_api_transcribe_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ApiKeyCreateRequest":{"properties":{"name":{"type":"string","maxLength":160,"minLength":1,"title":"Name","default":"API key"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"spend_limit_usd":{"anyOf":[{"type":"number","maximum":1000000.0,"minimum":0.01},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Spend Limit Usd"}},"type":"object","title":"ApiKeyCreateRequest"},"AsyncJobView":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"request_id":{"type":"string","format":"uuid","title":"Request Id"},"model":{"type":"string","title":"Model"},"status":{"type":"string","title":"Status"},"result":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Result"},"error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Code"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"cancel_requested":{"type":"boolean","title":"Cancel Requested"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","request_id","model","status","result","error_code","error_message","cancel_requested","created_at","updated_at"],"title":"AsyncJobView"},"Body_transcribe_api_transcribe_post":{"properties":{"audio":{"type":"string","contentMediaType":"application/octet-stream","title":"Audio"},"model":{"type":"string","title":"Model","default":"fish_audio/transcribe-1"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"duration_seconds":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duration Seconds"}},"type":"object","required":["audio"],"title":"Body_transcribe_api_transcribe_post"},"CheckoutRequest":{"properties":{"amount_usd":{"anyOf":[{"type":"number","maximum":1000.0,"minimum":5.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount Usd"}},"type":"object","title":"CheckoutRequest","description":"Optional variable wallet top-up amount.\n\nOmitting the body preserves the configured Stripe Price fallback. Variable\namounts use Stripe's one-time `price_data`; the webhook remains the only\npath that credits the wallet."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LoginRequest":{"properties":{"email":{"type":"string","maxLength":320,"minLength":5,"title":"Email"},"password":{"type":"string","maxLength":256,"minLength":1,"title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"ManagedCustomerRequest":{"properties":{"customer_id":{"type":"string","maxLength":160,"minLength":1,"title":"Customer Id"},"tenant_name":{"type":"string","maxLength":200,"minLength":1,"title":"Tenant Name"},"key_name":{"type":"string","maxLength":160,"minLength":1,"title":"Key Name","default":"TycoonRouter API key"},"spend_limit_micros":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Spend Limit Micros"}},"type":"object","required":["customer_id","tenant_name"],"title":"ManagedCustomerRequest"},"PilotRequest":{"properties":{"discover":{"type":"boolean","title":"Discover","default":false},"keyword":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Keyword"},"type":{"anyOf":[{"type":"string","maxLength":80,"minLength":1},{"type":"null"}],"title":"Type"},"prefer":{"type":"string","enum":["price","quality","balanced"],"title":"Prefer","default":"balanced"},"limit":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Limit","default":3},"capability":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Capability"},"model":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Model"},"include_docs":{"type":"boolean","title":"Include Docs","default":false},"inputs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Inputs"},"chain":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":50},{"type":"null"}],"title":"Chain"}},"additionalProperties":false,"type":"object","title":"PilotRequest"},"RegisterRequest":{"properties":{"email":{"type":"string","maxLength":320,"minLength":5,"title":"Email"},"password":{"type":"string","maxLength":256,"minLength":12,"title":"Password"},"display_name":{"type":"string","maxLength":160,"minLength":1,"title":"Display Name"}},"type":"object","required":["email","password","display_name"],"title":"RegisterRequest"},"RunRequest":{"properties":{"model":{"type":"string","maxLength":300,"minLength":1,"title":"Model"},"inputs":{"additionalProperties":true,"type":"object","title":"Inputs"},"async":{"type":"boolean","title":"Async","default":false}},"additionalProperties":false,"type":"object","required":["model","inputs"],"title":"RunRequest"},"UsageCostInfo":{"properties":{"usd_usage":{"$ref":"#/components/schemas/UsageUsdAmount"}},"type":"object","required":["usd_usage"],"title":"UsageCostInfo"},"UsageItem":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"model":{"type":"string","title":"Model"},"provider":{"type":"string","title":"Provider"},"amount_micros":{"type":"integer","title":"Amount Micros"},"amount_usd":{"type":"string","title":"Amount Usd"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["request_id","model","provider","amount_micros","amount_usd","created_at"],"title":"UsageItem"},"UsageRecord":{"properties":{"request_id":{"type":"string","format":"uuid","title":"Request Id"},"model":{"type":"string","title":"Model"},"provider":{"type":"string","title":"Provider"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"cost_info":{"$ref":"#/components/schemas/UsageCostInfo"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["request_id","model","provider","agent_id","cost_info","created_at"],"title":"UsageRecord"},"UsageResponse":{"properties":{"records":{"items":{"$ref":"#/components/schemas/UsageRecord"},"type":"array","title":"Records"},"total_cost_usd":{"type":"number","title":"Total Cost Usd"},"total_requests":{"type":"integer","title":"Total Requests"},"data":{"items":{"$ref":"#/components/schemas/UsageItem"},"type":"array","title":"Data"},"total_micros":{"type":"integer","title":"Total Micros"},"total_usd":{"type":"string","title":"Total Usd"}},"type":"object","required":["records","total_cost_usd","total_requests","data","total_micros","total_usd"],"title":"UsageResponse"},"UsageUsdAmount":{"properties":{"billed_usd":{"type":"number","title":"Billed Usd"}},"type":"object","required":["billed_usd"],"title":"UsageUsdAmount"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WalletCreditRequest":{"properties":{"amount_micros":{"type":"integer","maximum":100000000.0,"exclusiveMinimum":0.0,"title":"Amount Micros"},"idempotency_key":{"type":"string","maxLength":255,"minLength":8,"title":"Idempotency Key"}},"type":"object","required":["amount_micros","idempotency_key"],"title":"WalletCreditRequest"}}}}