{"openapi":"3.0.0","info":{"description":"Chutes decentralized AI compute (Bittensor subnet 64) — api.chutes.ai management plane: account, billing, API keys, chutes catalog, instances, jobs, secrets, nodes; Authorization: Bearer cpk_... (inference lives separately at llm.chutes.ai/v1).","version":null},"servers":[{"description":"Chutes decentralized AI compute (Bittensor subnet 64) — api.chutes.ai management plane: account, billing, API keys, chutes catalog, instances, jobs, secrets, nodes; Authorization: Bearer cpk_... (inference lives separately at llm.chutes.ai/v1).","url":"https://api.apirails.com/chutes"}],"paths":{"/users/growth":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_user_growth_users_growth_get","api_endpoint":"https://api.chutes.ai/users/growth"},"summary":"Get User Growth","description":"Get User Growth | Get User Growth | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id}/shares":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_chute_shares_users__user_id__shares_get","api_endpoint":"https://api.chutes.ai/users/{user_id}/shares"},"summary":"List Chute Shares","description":"List Chute Shares | List Chute Shares | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/user_id_lookup":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"username","in":"query","description":"username (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_user_id_lookup_users_user_id_lookup_get","api_endpoint":"https://api.chutes.ai/users/user_id_lookup"},"summary":"Admin User Id Lookup","description":"Admin User Id Lookup | Admin User Id Lookup | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id_or_username}/balance":{"get":{"tags":["Users"],"parameters":[{"name":"user_id_or_username","in":"path","description":"user_id_or_username (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_balance_lookup_users__user_id_or_username__balance_get","api_endpoint":"https://api.chutes.ai/users/{user_id_or_username}/balance"},"summary":"Admin Balance Lookup","description":"Admin Balance Lookup | Admin Balance Lookup | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/invoiced_user_list":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_invoiced_user_list_users_invoiced_user_list_get","api_endpoint":"https://api.chutes.ai/users/invoiced_user_list"},"summary":"Admin Invoiced User List","description":"Admin Invoiced User List | Admin Invoiced User List | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/batch_user_lookup":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_batch_user_lookup_users_batch_user_lookup_post","api_endpoint":"https://api.chutes.ai/users/batch_user_lookup"},"summary":"Admin Batch User Lookup","description":"Admin Batch User Lookup | Admin Batch User Lookup | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/admin_balance_change":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_balance_change_users_admin_balance_change_post","api_endpoint":"https://api.chutes.ai/users/admin_balance_change"},"summary":"Admin Balance Change","description":"Admin Balance Change | Admin Balance Change | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"amount":{"type":"number","description":"body.amount (number field from the documented request schema)","required":true},"reason":{"type":"string","description":"body.reason (string field from the documented request schema)","required":true},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)","required":true}}},"example":{"amount":[0],"reason":["string"],"user_id":["string"]}}}}}},"/users/balance_transfer":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#balance_transfer_users_balance_transfer_post","api_endpoint":"https://api.chutes.ai/users/balance_transfer"},"summary":"Balance Transfer","description":"Balance Transfer | Transfer balance from the authenticated user to a target user.\nSupports three authentication methods:\n  1. Hotkey authentication (X-Chutes-Hotkey + X-Chutes-Signature + X-Chutes-Nonce)\n  2. Admin API key (Authorization: cpk_...)\n  3. Fingerprint (Authorization: ) | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"amount":{"type":"number","description":"body.amount (number field from the documented request schema)"},"user_id":{"type":"string","description":"body.user_id (string field from the documented request schema)","required":true}}},"example":{"amount":[0],"user_id":["string"]}}}}}},"/users/grant_subnet_role":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#grant_subnet_role_users_grant_subnet_role_post","api_endpoint":"https://api.chutes.ai/users/grant_subnet_role"},"summary":"Grant Subnet Role","description":"Grant Subnet Role | Grant Subnet Role | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"admin":{"type":"boolean","description":"body.admin (boolean field from the documented request schema)","required":true,"enum":[true,false]},"netuid":{"type":"number","description":"body.netuid (number field from the documented request schema)","required":true},"user":{"type":"string","description":"body.user (string field from the documented request schema)","required":true}}},"example":{"admin":[false],"netuid":[0],"user":["string"]}}}}}},"/users/revoke_subnet_role":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#revoke_subnet_role_users_revoke_subnet_role_post","api_endpoint":"https://api.chutes.ai/users/revoke_subnet_role"},"summary":"Revoke Subnet Role","description":"Revoke Subnet Role | Revoke Subnet Role | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"netuid":{"type":"number","description":"body.netuid (number field from the documented request schema)","required":true},"user":{"type":"string","description":"body.user (string field from the documented request schema)","required":true}}},"example":{"netuid":[0],"user":["string"]}}}}}},"/users/{user_id}/quotas":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_quotas_change_users__user_id__quotas_post","api_endpoint":"https://api.chutes.ai/users/{user_id}/quotas"},"summary":"Admin Quotas Change","description":"Admin Quotas Change | Admin Quotas Change | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_get_user_quotas_users__user_id__quotas_get","api_endpoint":"https://api.chutes.ai/users/{user_id}/quotas"},"summary":"Admin Get User Quotas","description":"Admin Get User Quotas | Load quotas for a user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id}/quotas/{chute_id}/effective_date":{"put":{"tags":["Users"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_quota_effective_date_change_users__user_id__quotas__chute_id__effective_date_put","api_endpoint":"https://api.chutes.ai/users/{user_id}/quotas/{chute_id}/effective_date"},"summary":"Admin Quota Effective Date Change","description":"Admin Quota Effective Date Change | Admin Quota Effective Date Change | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"effective_date":{"type":"string","description":"body.effective_date (string field from the documented request schema)"}}},"example":{"effective_date":["string"]}}}}}},"/users/{user_id}/discounts":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_discounts_change_users__user_id__discounts_post","api_endpoint":"https://api.chutes.ai/users/{user_id}/discounts"},"summary":"Admin Discounts Change","description":"Admin Discounts Change | Admin Discounts Change | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_list_discounts_users__user_id__discounts_get","api_endpoint":"https://api.chutes.ai/users/{user_id}/discounts"},"summary":"Admin List Discounts","description":"Admin List Discounts | Admin List Discounts | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id}/enable_invoicing":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_enable_invoicing_users__user_id__enable_invoicing_post","api_endpoint":"https://api.chutes.ai/users/{user_id}/enable_invoicing"},"summary":"Admin Enable Invoicing","description":"Admin Enable Invoicing | Admin Enable Invoicing | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/me/quotas":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#my_quotas_users_me_quotas_get","api_endpoint":"https://api.chutes.ai/users/me/quotas"},"summary":"My Quotas","description":"My Quotas | Load quotas for the current user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/me/discounts":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#my_discounts_users_me_discounts_get","api_endpoint":"https://api.chutes.ai/users/me/discounts"},"summary":"My Discounts","description":"My Discounts | Load discounts for the current user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/me/price_overrides":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#my_price_overrides_users_me_price_overrides_get","api_endpoint":"https://api.chutes.ai/users/me/price_overrides"},"summary":"My Price Overrides","description":"My Price Overrides | Load price overrides for the current user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/me/quota_usage/{chute_id}":{"get":{"tags":["Users"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#chute_quota_usage_users_me_quota_usage__chute_id__get","api_endpoint":"https://api.chutes.ai/users/me/quota_usage/{chute_id}"},"summary":"Chute Quota Usage","description":"Chute Quota Usage | Check the current quota usage for a chute. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/me/subscription_usage":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#my_subscription_usage_users_me_subscription_usage_get","api_endpoint":"https://api.chutes.ai/users/me/subscription_usage"},"summary":"My Subscription Usage","description":"My Subscription Usage | Get current subscription usage and caps for the authenticated user.\nReturns monthly and 4-hour window usage vs limits. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id_or_username}/subscription_usage":{"get":{"tags":["Users"],"parameters":[{"name":"user_id_or_username","in":"path","description":"user_id_or_username (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_subscription_usage_users__user_id_or_username__subscription_usage_get","api_endpoint":"https://api.chutes.ai/users/{user_id_or_username}/subscription_usage"},"summary":"Admin Subscription Usage","description":"Admin Subscription Usage | Admin endpoint to get subscription usage and caps for any user by user_id or username. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/me":{"delete":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization header","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_my_user_users_me_delete","api_endpoint":"https://api.chutes.ai/users/me"},"summary":"Delete My User","description":"Delete My User | Delete account. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id_or_username}":{"delete":{"tags":["Users"],"parameters":[{"name":"user_id_or_username","in":"path","description":"user_id_or_username (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_delete_user_users__user_id_or_username__delete","api_endpoint":"https://api.chutes.ai/users/{user_id_or_username}"},"summary":"Admin Delete User","description":"Admin Delete User | Permanently (hard) delete a user account. Requires the explicit ``delete_user`` permission.\nRemoves the ``users`` row, which the ``on_user_delete`` DB trigger archives into\n``deleted_users`` and which CASCADEs ``api_keys``/``jobs``/``logos``/``chute_shares``/\n``oauth_*``. Deletion requires: no special roles (``permissions_bitmask`` is 0), a balance\nwithin +/-25, and no owned chutes/images/secrets (those have ``NO ACTION`` FKs and must be\nremoved manually first, via their own endpoints). Financial history\n(``admin_balance_changes``, ``payments``) has no FK and is preserved. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"reason":{"type":"string","description":"body.reason (string field from the documented request schema)"}}},"example":{"reason":["string"]}}}}}},"/users/set_logo":{"get":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"logo_id","in":"query","description":"logo_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#set_logo_users_set_logo_get","api_endpoint":"https://api.chutes.ai/users/set_logo"},"summary":"Set Logo","description":"Set Logo | Get a detailed response for the current user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/name_check":{"get":{"tags":["Users"],"parameters":[{"name":"readonly","in":"query","description":"readonly (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"username","in":"query","description":"username (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#check_username_users_name_check_get","api_endpoint":"https://api.chutes.ai/users/name_check"},"summary":"Check Username","description":"Check Username | Check if a username is valid and available. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/register":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"The hotkey of the user","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"token","in":"query","description":"token (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#register_users_register_post","api_endpoint":"https://api.chutes.ai/users/register"},"summary":"Register","description":"Register | Register a user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"coldkey":{"type":"string","description":"body.coldkey (string field from the documented request schema)","required":true},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"coldkey":["string"],"logo_id":["string"],"username":["string"]}}}}}},"/users/registration_token":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_registration_token_users_registration_token_get","api_endpoint":"https://api.chutes.ai/users/registration_token"},"summary":"Get Registration Token","description":"Get Registration Token | Initial form with cloudflare + hcaptcha to generate a registration token. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#post_rtok_users_registration_token_post","api_endpoint":"https://api.chutes.ai/users/registration_token"},"summary":"Post Rtok","description":"Post Rtok | Verify hCaptcha and get a short-lived registration token. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/create_user":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#admin_create_user_users_create_user_post","api_endpoint":"https://api.chutes.ai/users/create_user"},"summary":"Admin Create User","description":"Admin Create User | Create a new user manually from an admin account, no bittensor stuff necessary. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"coldkey":{"type":"string","description":"body.coldkey (string field from the documented request schema)"},"hotkey":{"type":"string","description":"body.hotkey (string field from the documented request schema)"},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true}}},"example":{"coldkey":["string"],"hotkey":["string"],"logo_id":["string"],"username":["string"]}}}}}},"/users/change_fingerprint":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Coldkey","in":"query","description":"X-Chutes-Coldkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"Nonce","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"Hotkey signature","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#change_fingerprint_users_change_fingerprint_post","api_endpoint":"https://api.chutes.ai/users/change_fingerprint"},"summary":"Change Fingerprint","description":"Change Fingerprint | Reset a user's fingerprint using either the hotkey or coldkey. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"fingerprint":{"type":"string","description":"body.fingerprint (string field from the documented request schema)","required":true}}},"example":{"fingerprint":["string"]}}}}}},"/users/login/nonce":{"get":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_login_nonce_users_login_nonce_get","api_endpoint":"https://api.chutes.ai/users/login/nonce"},"summary":"Get Login Nonce","description":"Get Login Nonce | Get a nonce for hotkey signature login.\nThe nonce is a UUID4 string that must be signed by the user's hotkey.\nValid for 5 minutes. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/login":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#login_users_login_post","api_endpoint":"https://api.chutes.ai/users/login"},"summary":"Login","description":"Login | Exchange credentials for a JWT.\nSupports two authentication methods:\n1. Fingerprint: {\"fingerprint\": \"your-fingerprint\"}\n2. Hotkey signature: {\"hotkey\": \"5...\", \"signature\": \"hex...\", \"nonce\": \"uuid\"}\nFor hotkey auth, first call GET /users/login/nonce to get a nonce,\nsign it with your hotkey (e.g., `btcli w sign --message `),\nthen submit the hotkey, signature, and nonce. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/change_bt_auth":{"post":{"tags":["Users"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#change_bt_auth_users_change_bt_auth_post","api_endpoint":"https://api.chutes.ai/users/change_bt_auth"},"summary":"Change Bt Auth","description":"Change Bt Auth | Change the bittensor hotkey/coldkey associated with an account via fingerprint auth. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/users/{user_id}/usage":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"chute_id","in":"query","description":"chute_id (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"end_date","in":"query","description":"end_date (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"per_chute","in":"query","description":"per_chute (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"start_date","in":"query","description":"start_date (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_usage_users__user_id__usage_get","api_endpoint":"https://api.chutes.ai/users/{user_id}/usage"},"summary":"List Usage","description":"List Usage | List usage summary data. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id}":{"get":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_user_info_users__user_id__get","api_endpoint":"https://api.chutes.ai/users/{user_id}"},"summary":"Get User Info","description":"Get User Info | Get user info. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/agent_registration":{"post":{"tags":["Users"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#agent_registration_users_agent_registration_post","api_endpoint":"https://api.chutes.ai/users/agent_registration"},"summary":"Agent Registration","description":"Agent Registration | Register an AI agent programmatically using hotkey/coldkey/signature.\nReturns a payment address where the agent must send TAO to complete registration. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"coldkey":{"type":"string","description":"body.coldkey (string field from the documented request schema)","required":true},"hotkey":{"type":"string","description":"body.hotkey (string field from the documented request schema)","required":true},"signature":{"type":"string","description":"body.signature (string field from the documented request schema)","required":true},"username":{"type":"string","description":"body.username (string field from the documented request schema)"}}},"example":{"coldkey":["string"],"hotkey":["string"],"signature":["string"],"username":["string"]}}}}}},"/users/agent_registration/{hotkey}":{"get":{"tags":["Users"],"parameters":[{"name":"hotkey","in":"path","description":"hotkey (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_agent_registration_status_users_agent_registration__hotkey__get","api_endpoint":"https://api.chutes.ai/users/agent_registration/{hotkey}"},"summary":"Get Agent Registration Status","description":"Get Agent Registration Status | Check the status of an agent registration by hotkey.\nHandles all states: pending payment, completed (converted to user), or expired. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/users/{user_id}/agent_setup":{"post":{"tags":["Users"],"parameters":[{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#agent_setup_users__user_id__agent_setup_post","api_endpoint":"https://api.chutes.ai/users/{user_id}/agent_setup"},"summary":"Agent Setup","description":"Agent Setup | One-time setup endpoint for agent-registered users.\nRequires hotkey signature to prove ownership.\nReturns API key and config.ini template. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"hotkey":{"type":"string","description":"body.hotkey (string field from the documented request schema)","required":true},"signature":{"type":"string","description":"body.signature (string field from the documented request schema)","required":true}}},"example":{"hotkey":["string"],"signature":["string"]}}}}}},"/chutes/share":{"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#share_chute_chutes_share_post","api_endpoint":"https://api.chutes.ai/chutes/share"},"summary":"Share Chute","description":"Share Chute | Share a chute with another user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"chute_id_or_name":{"type":"string","description":"body.chute_id_or_name (string field from the documented request schema)","required":true},"user_id_or_name":{"type":"string","description":"body.user_id_or_name (string field from the documented request schema)","required":true}}},"example":{"chute_id_or_name":["string"],"user_id_or_name":["string"]}}}}}},"/chutes/unshare":{"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#unshare_chute_chutes_unshare_post","api_endpoint":"https://api.chutes.ai/chutes/unshare"},"summary":"Unshare Chute","description":"Unshare Chute | Unshare a chute with another user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"chute_id_or_name":{"type":"string","description":"body.chute_id_or_name (string field from the documented request schema)","required":true},"user_id_or_name":{"type":"string","description":"body.user_id_or_name (string field from the documented request schema)","required":true}}},"example":{"chute_id_or_name":["string"],"user_id_or_name":["string"]}}}}}},"/chutes/make_public":{"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#make_public_chutes_make_public_post","api_endpoint":"https://api.chutes.ai/chutes/make_public"},"summary":"Make Public","description":"Make Public | Promote subnet chutes to public visibility, owned by the calling subnet admin user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"chutes":{"type":"array","description":"body.chutes (array field from the documented request schema)","required":true,"items":{"type":"string"}}}},"example":{"chutes":[["string"]]}}}}}},"/chutes/boosted":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_boosted_chutes_chutes_boosted_get","api_endpoint":"https://api.chutes.ai/chutes/boosted"},"summary":"List Boosted Chutes","description":"List Boosted Chutes | Get a list of chutes that have a boost. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/affine_available":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_available_affine_chutes_chutes_affine_available_get","api_endpoint":"https://api.chutes.ai/chutes/affine_available"},"summary":"List Available Affine Chutes","description":"List Available Affine Chutes | Get a list of affine chutes where the creator/user has a non-zero balance. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/":{"get":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"exclude","in":"query","description":"exclude (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"image","in":"query","description":"image (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"include_public","in":"query","description":"include_public (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_schemas","in":"query","description":"include_schemas (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"name","in":"query","description":"name (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"offset","in":"query","description":"offset (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"slug","in":"query","description":"slug (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"template","in":"query","description":"template (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_chutes_chutes__get","api_endpoint":"https://api.chutes.ai/chutes/"},"summary":"List Chutes","description":"List Chutes | List (and optionally filter/paginate) chutes. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"accept_fee","in":"query","description":"accept_fee (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#deploy_chute_chutes__post","api_endpoint":"https://api.chutes.ai/chutes/"},"summary":"Deploy Chute","description":"Deploy Chute | Standard deploy from the CDK. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allow_external_egress":{"type":"boolean","description":"body.allow_external_egress (boolean field from the documented request schema)","enum":[true,false]},"code":{"type":"string","description":"body.code (string field from the documented request schema)","required":true},"concurrency":{"type":"number","description":"body.concurrency (number field from the documented request schema)"},"cords":{"type":"array","description":"body.cords (array field from the documented request schema)","items":{"type":"object","properties":{"method":{"type":"string","description":"body.cords.method (string field from the documented request schema)","required":true},"path":{"type":"string","description":"body.cords.path (string field from the documented request schema)","required":true},"function":{"type":"string","description":"body.cords.function (string field from the documented request schema)","required":true},"input_schema":{"type":"object","description":"body.cords.input_schema (object field from the documented request schema)"},"minimal_input_schema":{"type":"object","description":"body.cords.minimal_input_schema (object field from the documented request schema)"},"output_content_type":{"type":"string","description":"body.cords.output_content_type (string field from the documented request schema)"},"output_schema":{"type":"object","description":"body.cords.output_schema (object field from the documented request schema)"},"passthrough":{"type":"boolean","description":"body.cords.passthrough (boolean field from the documented request schema)","enum":[true,false]},"public_api_method":{"type":"string","description":"body.cords.public_api_method (string field from the documented request schema)"},"public_api_path":{"type":"string","description":"body.cords.public_api_path (string field from the documented request schema)"},"stream":{"type":"boolean","description":"body.cords.stream (boolean field from the documented request schema)","required":true,"enum":[true,false]}}}},"encrypted_fs":{"type":"boolean","description":"body.encrypted_fs (boolean field from the documented request schema)","enum":[true,false]},"filename":{"type":"string","description":"body.filename (string field from the documented request schema)","required":true},"image":{"type":"string","description":"body.image (string field from the documented request schema)","required":true},"jobs":{"type":"array","description":"body.jobs (array field from the documented request schema)","items":{"type":"object","properties":{"disk_gb":{"type":"number","description":"body.jobs.disk_gb (number field from the documented request schema)"},"name":{"type":"string","description":"body.jobs.name (string field from the documented request schema)","required":true},"ports":{"type":"array","description":"body.jobs.ports (array field from the documented request schema)"},"timeout":{"type":"number","description":"body.jobs.timeout (number field from the documented request schema)"},"upload":{"type":"boolean","description":"body.jobs.upload (boolean field from the documented request schema)","enum":[true,false]}}}},"lock_modules":{"type":"boolean","description":"body.lock_modules (boolean field from the documented request schema)","enum":[true,false]},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"max_instances":{"type":"number","description":"body.max_instances (number field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"node_selector":{"type":"object","description":"body.node_selector (object field from the documented request schema)","required":true,"properties":{"dynamic":{"type":"boolean","description":"body.node_selector.dynamic (boolean field from the documented request schema)","enum":[true,false]},"exclude":{"type":"array","description":"body.node_selector.exclude (array field from the documented request schema)"},"gpu_count":{"type":"number","description":"body.node_selector.gpu_count (number field from the documented request schema)"},"include":{"type":"array","description":"body.node_selector.include (array field from the documented request schema)"},"max_hourly_price_per_gpu":{"type":"number","description":"body.node_selector.max_hourly_price_per_gpu (number field from the documented request schema)"},"min_vram_gb_per_gpu":{"type":"number","description":"body.node_selector.min_vram_gb_per_gpu (number field from the documented request schema)"}}},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","required":true,"enum":[true,false]},"readme":{"type":"string","description":"body.readme (string field from the documented request schema)"},"ref_str":{"type":"string","description":"body.ref_str (string field from the documented request schema)","required":true},"revision":{"type":"string","description":"body.revision (string field from the documented request schema)"},"scaling_threshold":{"type":"number","description":"body.scaling_threshold (number field from the documented request schema)"},"shutdown_after_seconds":{"type":"number","description":"body.shutdown_after_seconds (number field from the documented request schema)"},"standard_template":{"type":"string","description":"body.standard_template (string field from the documented request schema)"},"tagline":{"type":"string","description":"body.tagline (string field from the documented request schema)"},"tee":{"type":"boolean","description":"body.tee (boolean field from the documented request schema)","enum":[true,false]},"tool_description":{"type":"string","description":"body.tool_description (string field from the documented request schema)"},"use_rolling_update":{"type":"boolean","description":"body.use_rolling_update (boolean field from the documented request schema)","enum":[true,false]}}},"example":{"allow_external_egress":[false],"code":["string"],"concurrency":[0],"cords":[[]],"encrypted_fs":[false],"filename":["string"],"image":["string"],"jobs":[[]],"lock_modules":[false],"logo_id":["string"],"max_instances":[1],"name":["string"],"node_selector":[{"dynamic":false,"exclude":["string"],"gpu_count":1,"include":["string"],"max_hourly_price_per_gpu":0,"min_vram_gb_per_gpu":16}],"public":[false],"readme":[""],"ref_str":["string"],"revision":["string"],"scaling_threshold":[0.75],"shutdown_after_seconds":[300],"standard_template":["string"],"tagline":[""],"tee":[false],"tool_description":["string"],"use_rolling_update":[true]}}}}}},"/chutes/rolling_updates":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_rolling_updates_chutes_rolling_updates_get","api_endpoint":"https://api.chutes.ai/chutes/rolling_updates"},"summary":"List Rolling Updates","description":"List Rolling Updates | List Rolling Updates | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/gpu_count_history":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_gpu_count_history_chutes_gpu_count_history_get","api_endpoint":"https://api.chutes.ai/chutes/gpu_count_history"},"summary":"Get Gpu Count History","description":"Get Gpu Count History | Get Gpu Count History | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/miner_means":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_miner_mean_index_chutes_miner_means_get","api_endpoint":"https://api.chutes.ai/chutes/miner_means"},"summary":"Get Chute Miner Mean Index","description":"Get Chute Miner Mean Index | Get Chute Miner Mean Index | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/miner_means/{chute_id}.{ext}":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"ext","in":"path","description":"ext (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_miner_means_chutes_miner_means__chute_id___ext__get","api_endpoint":"https://api.chutes.ai/chutes/miner_means/{chute_id}.{ext}"},"summary":"Get Chute Miner Means","description":"Get Chute Miner Means | Load a chute's mean TPS and output token count by miner ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/miner_means/{chute_id}":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"ext","in":"query","description":"ext (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_miner_means_chutes_miner_means__chute_id__get","api_endpoint":"https://api.chutes.ai/chutes/miner_means/{chute_id}"},"summary":"Get Chute Miner Means (Chutes)","description":"Get Chute Miner Means | Load a chute's mean TPS and output token count by miner ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/code/{chute_id}":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_code_chutes_code__chute_id__get","api_endpoint":"https://api.chutes.ai/chutes/code/{chute_id}"},"summary":"Get Chute Code","description":"Get Chute Code | Load a chute's code by ID or name. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/{chute_id}/hf_info":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_hf_info_chutes__chute_id__hf_info_get","api_endpoint":"https://api.chutes.ai/chutes/{chute_id}/hf_info"},"summary":"Get Chute Hf Info","description":"Get Chute Hf Info | Return Hugging Face repo_id and revision for a chute so miners can predownload the model.\nMiner-only; responses are cached by chute_id via aiocache. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/warmup/{chute_id_or_name}":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id_or_name","in":"path","description":"chute_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"quick","in":"query","description":"quick (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#warm_up_chute_chutes_warmup__chute_id_or_name__get","api_endpoint":"https://api.chutes.ai/chutes/warmup/{chute_id_or_name}"},"summary":"Warm Up Chute","description":"Warm Up Chute | Warm up a chute.\nWith ?quick=true, performs a single status check, creates a bounty if needed,\nand returns JSON immediately instead of holding an SSE connection open. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/utilization":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_utilization_chutes_utilization_get","api_endpoint":"https://api.chutes.ai/chutes/utilization"},"summary":"Get Chute Utilization","description":"Get Chute Utilization | Get chute utilization data from the most recent capacity log. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/{chute_id_or_name}/evidence":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id_or_name","in":"path","description":"chute_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"nonce","in":"query","description":"nonce (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_tee_chute_evidence_chutes__chute_id_or_name__evidence_get","api_endpoint":"https://api.chutes.ai/chutes/{chute_id_or_name}/evidence"},"summary":"Get Tee Chute Evidence","description":"Get Tee Chute Evidence | Get TEE evidence for all instances of a chute (TDX quote, GPU evidence, certificate per instance).\nArgs:\n    chute_id_or_name: Chute ID or name\n    nonce: User-provided nonce (64 hex characters, 32 bytes)\nReturns:\n    TeeChuteEvidence with array of TEE instance evidence per instance\nRaises:\n    404: Chute not found\n    400: Invalid nonce format or chute not TEE-enabled\n    403: User cannot access chute\n    429: Rate limit exceeded\n    500: Server attestation failures | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/chutes/{chute_id_or_name}":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id_or_name","in":"path","description":"chute_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_chutes__chute_id_or_name__get","api_endpoint":"https://api.chutes.ai/chutes/{chute_id_or_name}"},"summary":"Get Chute","description":"Get Chute | Load a chute by ID or name. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"put":{"tags":["Chutes"],"parameters":[{"name":"chute_id_or_name","in":"path","description":"chute_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#update_common_attributes_chutes__chute_id_or_name__put","api_endpoint":"https://api.chutes.ai/chutes/{chute_id_or_name}"},"summary":"Update Common Attributes","description":"Update Common Attributes | Update readme, tagline, etc. (but not code, image, etc.). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"disabled":{"type":"boolean","description":"body.disabled (boolean field from the documented request schema)","enum":[true,false]},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"max_instances":{"type":"number","description":"body.max_instances (number field from the documented request schema)"},"readme":{"type":"string","description":"body.readme (string field from the documented request schema)"},"scaling_threshold":{"type":"number","description":"body.scaling_threshold (number field from the documented request schema)"},"shutdown_after_seconds":{"type":"number","description":"body.shutdown_after_seconds (number field from the documented request schema)"},"tagline":{"type":"string","description":"body.tagline (string field from the documented request schema)"},"tool_description":{"type":"string","description":"body.tool_description (string field from the documented request schema)"}}},"example":{"disabled":[false],"logo_id":["string"],"max_instances":[0],"readme":[""],"scaling_threshold":[0],"shutdown_after_seconds":[300],"tagline":[""],"tool_description":[""]}}}}}},"/chutes/{chute_id}":{"delete":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_chute_chutes__chute_id__delete","api_endpoint":"https://api.chutes.ai/chutes/{chute_id}"},"summary":"Delete Chute","description":"Delete Chute | Delete a chute by ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/chutes/vllm":{"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#easy_deploy_vllm_chute_chutes_vllm_post","api_endpoint":"https://api.chutes.ai/chutes/vllm"},"summary":"Easy Deploy Vllm Chute","description":"Easy Deploy Vllm Chute | Easy/templated vLLM deployment. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"concurrency":{"type":"number","description":"body.concurrency (number field from the documented request schema)"},"engine_args":{"type":"object","description":"body.engine_args (object field from the documented request schema)","properties":{"enforce_eager":{"type":"boolean","description":"body.engine_args.enforce_eager (boolean field from the documented request schema)","enum":[true,false]},"max_model_len":{"type":"number","description":"body.engine_args.max_model_len (number field from the documented request schema)"},"tokenizer":{"type":"string","description":"body.engine_args.tokenizer (string field from the documented request schema)"},"trust_remote_code":{"type":"boolean","description":"body.engine_args.trust_remote_code (boolean field from the documented request schema)","enum":[true,false]}}},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"model":{"type":"string","description":"body.model (string field from the documented request schema)","required":true},"node_selector":{"type":"object","description":"body.node_selector (object field from the documented request schema)","properties":{"dynamic":{"type":"boolean","description":"body.node_selector.dynamic (boolean field from the documented request schema)","enum":[true,false]},"exclude":{"type":"array","description":"body.node_selector.exclude (array field from the documented request schema)"},"gpu_count":{"type":"number","description":"body.node_selector.gpu_count (number field from the documented request schema)"},"include":{"type":"array","description":"body.node_selector.include (array field from the documented request schema)"},"max_hourly_price_per_gpu":{"type":"number","description":"body.node_selector.max_hourly_price_per_gpu (number field from the documented request schema)"},"min_vram_gb_per_gpu":{"type":"number","description":"body.node_selector.min_vram_gb_per_gpu (number field from the documented request schema)"}}},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","enum":[true,false]},"readme":{"type":"string","description":"body.readme (string field from the documented request schema)"},"revision":{"type":"string","description":"body.revision (string field from the documented request schema)"},"tagline":{"type":"string","description":"body.tagline (string field from the documented request schema)"},"tool_description":{"type":"string","description":"body.tool_description (string field from the documented request schema)"}}},"example":{"concurrency":[8],"engine_args":[{"enforce_eager":false,"max_model_len":16384,"tokenizer":"string","trust_remote_code":true}],"logo_id":["string"],"model":["string"],"node_selector":[{"dynamic":false,"exclude":["string"],"gpu_count":1,"include":["string"],"max_hourly_price_per_gpu":0,"min_vram_gb_per_gpu":16}],"public":[true],"readme":[""],"revision":["string"],"tagline":[""],"tool_description":["string"]}}}}}},"/chutes/diffusion":{"post":{"tags":["Chutes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#easy_deploy_diffusion_chute_chutes_diffusion_post","api_endpoint":"https://api.chutes.ai/chutes/diffusion"},"summary":"Easy Deploy Diffusion Chute","description":"Easy Deploy Diffusion Chute | Easy/templated diffusion deployment. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"concurrency":{"type":"number","description":"body.concurrency (number field from the documented request schema)"},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)"},"model":{"type":"string","description":"body.model (string field from the documented request schema)","required":true},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"node_selector":{"type":"object","description":"body.node_selector (object field from the documented request schema)","properties":{"dynamic":{"type":"boolean","description":"body.node_selector.dynamic (boolean field from the documented request schema)","enum":[true,false]},"exclude":{"type":"array","description":"body.node_selector.exclude (array field from the documented request schema)"},"gpu_count":{"type":"number","description":"body.node_selector.gpu_count (number field from the documented request schema)"},"include":{"type":"array","description":"body.node_selector.include (array field from the documented request schema)"},"max_hourly_price_per_gpu":{"type":"number","description":"body.node_selector.max_hourly_price_per_gpu (number field from the documented request schema)"},"min_vram_gb_per_gpu":{"type":"number","description":"body.node_selector.min_vram_gb_per_gpu (number field from the documented request schema)"}}},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","enum":[true,false]},"readme":{"type":"string","description":"body.readme (string field from the documented request schema)"},"tagline":{"type":"string","description":"body.tagline (string field from the documented request schema)"},"tool_description":{"type":"string","description":"body.tool_description (string field from the documented request schema)"}}},"example":{"concurrency":[1],"logo_id":["string"],"model":["string"],"name":["string"],"node_selector":[{"dynamic":false,"exclude":["string"],"gpu_count":1,"include":["string"],"max_hourly_price_per_gpu":0,"min_vram_gb_per_gpu":16}],"public":[true],"readme":[""],"tagline":[""],"tool_description":["string"]}}}}}},"/bounties/":{"get":{"tags":["Chutes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_bounty_list_bounties__get","api_endpoint":"https://api.chutes.ai/bounties/"},"summary":"Get Bounty List","description":"Get Bounty List | List available bounties, if any. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/bounties/{chute_id}/increase":{"get":{"tags":["Chutes"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"boost","in":"query","description":"boost (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#increase_chute_bounty_bounties__chute_id__increase_get","api_endpoint":"https://api.chutes.ai/bounties/{chute_id}/increase"},"summary":"Increase Chute Bounty","description":"Increase Chute Bounty | Increase bounty value (creating if not exists). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/images/{image_id}/logs":{"get":{"tags":["Images"],"parameters":[{"name":"image_id","in":"path","description":"image_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"offset","in":"query","description":"offset (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#stream_build_logs_images__image_id__logs_get","api_endpoint":"https://api.chutes.ai/images/{image_id}/logs"},"summary":"Stream Build Logs","description":"Stream Build Logs | Stream Build Logs | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/images/":{"get":{"tags":["Images"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"include_public","in":"query","description":"include_public (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"name","in":"query","description":"name (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"tag","in":"query","description":"tag (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_images_images__get","api_endpoint":"https://api.chutes.ai/images/"},"summary":"List Images","description":"List Images | List (and optionally filter/paginate) images. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Images"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_image_images__post","api_endpoint":"https://api.chutes.ai/images/"},"summary":"Create Image","description":"Create Image | Create an image; really here we're just storing the metadata\nin the DB and kicking off the image build asynchronously. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"build_context":{"type":"string","description":"body.build_context (string field from the documented request schema)","required":true},"dockerfile":{"type":"string","description":"body.dockerfile (string field from the documented request schema)","required":true},"image":{"type":"string","description":"body.image (string field from the documented request schema)","required":true},"logo_id":{"type":"string","description":"body.logo_id (string field from the documented request schema)","required":true},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","required":true,"enum":[true,false]},"readme":{"type":"string","description":"body.readme (string field from the documented request schema)","required":true},"tag":{"type":"string","description":"body.tag (string field from the documented request schema)","required":true},"username":{"type":"string","description":"body.username (string field from the documented request schema)","required":true},"wait":{"type":"boolean","description":"body.wait (boolean field from the documented request schema)","required":true,"enum":[true,false]}}},"example":{"build_context":["string"],"dockerfile":["string"],"image":["string"],"logo_id":["string"],"name":["string"],"public":[false],"readme":["string"],"tag":["string"],"username":["string"],"wait":[false]}}}}}},"/images/{image_id_or_name}":{"get":{"tags":["Images"],"parameters":[{"name":"image_id_or_name","in":"path","description":"image_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_image_images__image_id_or_name__get","api_endpoint":"https://api.chutes.ai/images/{image_id_or_name}"},"summary":"Get Image","description":"Get Image | Load a single image by ID or name. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"delete":{"tags":["Images"],"parameters":[{"name":"image_id_or_name","in":"path","description":"image_id_or_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_image_images__image_id_or_name__delete","api_endpoint":"https://api.chutes.ai/images/{image_id_or_name}"},"summary":"Delete Image","description":"Delete Image | Delete an image by ID or name:tag. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/nodes/":{"get":{"tags":["Nodes"],"parameters":[{"name":"detailed","in":"query","description":"detailed (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"hotkey","in":"query","description":"hotkey (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"model","in":"query","description":"model (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_nodes_nodes__get","api_endpoint":"https://api.chutes.ai/nodes/"},"summary":"List Nodes","description":"List Nodes | List full inventory, optionally in detailed view (which lists chutes). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Nodes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_nodes_nodes__post","api_endpoint":"https://api.chutes.ai/nodes/"},"summary":"Create Nodes","description":"Create Nodes | Add nodes/GPUs to inventory. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"nodes":{"type":"array","description":"body.nodes (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{"clock_rate":{"type":"number","description":"body.nodes.clock_rate (number field from the documented request schema)","required":true},"concurrent_kernels":{"type":"boolean","description":"body.nodes.concurrent_kernels (boolean field from the documented request schema)","enum":[true,false]},"device_index":{"type":"number","description":"body.nodes.device_index (number field from the documented request schema)","required":true},"ecc":{"type":"boolean","description":"body.nodes.ecc (boolean field from the documented request schema)","enum":[true,false]},"gpu_identifier":{"type":"string","description":"body.nodes.gpu_identifier (string field from the documented request schema)","required":true},"major":{"type":"number","description":"body.nodes.major (number field from the documented request schema)"},"max_threads_per_processor":{"type":"number","description":"body.nodes.max_threads_per_processor (number field from the documented request schema)"},"memory":{"type":"number","description":"body.nodes.memory (number field from the documented request schema)","required":true},"minor":{"type":"number","description":"body.nodes.minor (number field from the documented request schema)"},"name":{"type":"string","description":"body.nodes.name (string field from the documented request schema)","required":true},"processors":{"type":"number","description":"body.nodes.processors (number field from the documented request schema)"},"sxm":{"type":"boolean","description":"body.nodes.sxm (boolean field from the documented request schema)","enum":[true,false]},"uuid":{"type":"string","description":"body.nodes.uuid (string field from the documented request schema)","required":true},"verification_host":{"type":"string","description":"body.nodes.verification_host (string field from the documented request schema)","required":true},"verification_port":{"type":"number","description":"body.nodes.verification_port (number field from the documented request schema)","required":true}}}},"server_id":{"type":"string","description":"body.server_id (string field from the documented request schema)","required":true},"server_name":{"type":"string","description":"body.server_name (string field from the documented request schema)"}}},"example":{"nodes":[[{"clock_rate":0,"concurrent_kernels":false,"device_index":0,"ecc":false,"major":0,"max_threads_per_processor":0,"memory":0,"minor":0,"name":"string","processors":0,"sxm":false,"uuid":"string"}]],"server_id":["string"],"server_name":["string"]}}}}}},"/nodes/supported":{"get":{"tags":["Nodes"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_supported_gpus_nodes_supported_get","api_endpoint":"https://api.chutes.ai/nodes/supported"},"summary":"List Supported Gpus","description":"List Supported Gpus | Show all currently supported GPUs. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/nodes/verification_status":{"get":{"tags":["Nodes"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"task_id","in":"query","description":"task_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#check_verification_status_nodes_verification_status_get","api_endpoint":"https://api.chutes.ai/nodes/verification_status"},"summary":"Check Verification Status","description":"Check Verification Status | Check taskiq task status, to see if the validator has finished GPU verification. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/nodes/{node_id}":{"delete":{"tags":["Nodes"],"parameters":[{"name":"node_id","in":"path","description":"node_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_node_nodes__node_id__delete","api_endpoint":"https://api.chutes.ai/nodes/{node_id}"},"summary":"Delete Node","description":"Delete Node | Remove a node from inventory. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/daily_revenue_summary":{"get":{"tags":["Pricing"],"parameters":[{"name":"days","in":"query","description":"days (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_daily_revenue_summary_daily_revenue_summary_get","api_endpoint":"https://api.chutes.ai/daily_revenue_summary"},"summary":"Get Daily Revenue Summary","description":"Get Daily Revenue Summary | Get the summary of daily revenue including paygo, invoiced users, subscriptions and pending private instances. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/payments/summary/tao":{"get":{"tags":["Pricing"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_tao_payment_totals_payments_summary_tao_get","api_endpoint":"https://api.chutes.ai/payments/summary/tao"},"summary":"Get Tao Payment Totals","description":"Get Tao Payment Totals | Get the amount (as USD equivalent) of payments made by tao for\ntoday, the current month, and total. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/fmv":{"get":{"tags":["Pricing"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_fmv_fmv_get","api_endpoint":"https://api.chutes.ai/fmv"},"summary":"Get Fmv","description":"Get Fmv | Get the current FMV for tao. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/pricing":{"get":{"tags":["Pricing"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_pricing_pricing_get","api_endpoint":"https://api.chutes.ai/pricing"},"summary":"Get Pricing","description":"Get Pricing | Get the current compute unit pricing. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/return_developer_deposit":{"post":{"tags":["Pricing"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#return_developer_deposit_return_developer_deposit_post","api_endpoint":"https://api.chutes.ai/return_developer_deposit"},"summary":"Return Developer Deposit","description":"Return Developer Deposit | Return Developer Deposit | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"address":{"type":"string","description":"body.address (string field from the documented request schema)","required":true}}},"example":{"address":["string"]}}}}}},"/payments":{"get":{"tags":["Pricing"],"parameters":[{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_payments_payments_get","api_endpoint":"https://api.chutes.ai/payments"},"summary":"List Payments","description":"List Payments | List all payments. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/reconciliation_csv":{"get":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_instance_reconciliation_csv_instances_reconciliation_csv_get","api_endpoint":"https://api.chutes.ai/instances/reconciliation_csv"},"summary":"Get Instance Reconciliation Csv","description":"Get Instance Reconciliation Csv | Get all instance audit instance_id, deleted_at records to help reconcile audit data. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/compute_history_csv":{"get":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_instance_compute_history_csv_instances_compute_history_csv_get","api_endpoint":"https://api.chutes.ai/instances/compute_history_csv"},"summary":"Get Instance Compute History Csv","description":"Get Instance Compute History Csv | Get instance_compute_history records for the scoring period (last 7 days + buffer).\nUsed by the auditor to reconcile compute history data on startup. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/launch_config":{"get":{"tags":["Instances"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"chute_id","in":"query","description":"chute_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"job_id","in":"query","description":"job_id (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"server_id","in":"query","description":"server_id (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_launch_config_instances_launch_config_get","api_endpoint":"https://api.chutes.ai/instances/launch_config"},"summary":"Get Launch Config","description":"Get Launch Config | Get Launch Config | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/launch_config/{config_id}/nonce":{"get":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_rint_nonce_instances_launch_config__config_id__nonce_get","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/nonce"},"summary":"Get Rint Nonce","description":"Get Rint Nonce | Get runtime integrity nonce for a launch config.\nThis endpoint consumes the nonce from Redis (one-time use).\nOnly available for chutes_version >= 0.4.9. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/launch_config/{config_id}/tee":{"post":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#claim_tee_launch_config_instances_launch_config__config_id__tee_post","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/tee"},"summary":"Claim Tee Launch Config","description":"Claim Tee Launch Config | Claim a TEE launch config, verify attestation, and receive symmetric key. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cllmv_session_init":{"type":"string","description":"body.cllmv_session_init (string field from the documented request schema)"},"code":{"type":"string","description":"body.code (string field from the documented request schema)"},"deployment_id":{"type":"string","description":"body.deployment_id (string field from the documented request schema)","required":true},"e2e_pubkey":{"type":"string","description":"body.e2e_pubkey (string field from the documented request schema)"},"egress":{"type":"boolean","description":"body.egress (boolean field from the documented request schema)","enum":[true,false]},"env":{"type":"string","description":"body.env (string field from the documented request schema)","required":true},"fsv":{"type":"string","description":"body.fsv (string field from the documented request schema)"},"gpus":{"type":"array","description":"body.gpus (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{}}},"host":{"type":"string","description":"body.host (string field from the documented request schema)","required":true},"inspecto":{"type":"string","description":"body.inspecto (string field from the documented request schema)"},"lock_modules":{"type":"boolean","description":"body.lock_modules (boolean field from the documented request schema)","enum":[true,false]},"netnanny_hash":{"type":"string","description":"body.netnanny_hash (string field from the documented request schema)"},"port_mappings":{"type":"array","description":"body.port_mappings (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{"default":{"type":"boolean","description":"body.port_mappings.default (boolean field from the documented request schema)","enum":[true,false]},"external_port":{"type":"number","description":"body.port_mappings.external_port (number field from the documented request schema)","required":true},"internal_port":{"type":"number","description":"body.port_mappings.internal_port (number field from the documented request schema)","required":true},"proto":{"type":"string","description":"body.port_mappings.proto (string field from the documented request schema)"}}}},"py_dirs":{"type":"array","description":"body.py_dirs (array field from the documented request schema)","items":{"type":"string"}},"rint_commitment":{"type":"string","description":"body.rint_commitment (string field from the documented request schema)"},"rint_nonce":{"type":"string","description":"body.rint_nonce (string field from the documented request schema)"},"rint_pubkey":{"type":"string","description":"body.rint_pubkey (string field from the documented request schema)"},"run_code":{"type":"string","description":"body.run_code (string field from the documented request schema)"},"run_path":{"type":"string","description":"body.run_path (string field from the documented request schema)"},"tls_ca_cert":{"type":"string","description":"body.tls_ca_cert (string field from the documented request schema)"},"tls_cert":{"type":"string","description":"body.tls_cert (string field from the documented request schema)"},"tls_cert_sig":{"type":"string","description":"body.tls_cert_sig (string field from the documented request schema)"},"tls_client_cert":{"type":"string","description":"body.tls_client_cert (string field from the documented request schema)"},"tls_client_key":{"type":"string","description":"body.tls_client_key (string field from the documented request schema)"},"tls_client_key_password":{"type":"string","description":"body.tls_client_key_password (string field from the documented request schema)"}}},"example":{"cllmv_session_init":["string"],"code":["string"],"deployment_id":["string"],"e2e_pubkey":["string"],"egress":[false],"env":["string"],"fsv":["string"],"gpus":[[{}]],"host":["string"],"inspecto":["string"],"lock_modules":[false],"netnanny_hash":["string"],"port_mappings":[[{"default":false,"external_port":0,"internal_port":0,"proto":"string"}]],"py_dirs":[["string"]],"rint_commitment":["string"],"rint_nonce":["string"],"rint_pubkey":["string"],"run_code":["string"],"run_path":["string"],"tls_ca_cert":["string"],"tls_cert":["string"],"tls_cert_sig":["string"],"tls_client_cert":["string"],"tls_client_key":["string"],"tls_client_key_password":["string"]}}}}},"put":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#verify_tee_launch_config_instance_instances_launch_config__config_id__tee_put","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/tee"},"summary":"Verify Tee Launch Config Instance","description":"Verify Tee Launch Config Instance | Verify TEE launch config instance by validating symmetric key usage via dummy ports. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/instances/launch_config/{config_id}/attest":{"post":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#validate_tee_launch_config_instance_instances_launch_config__config_id__attest_post","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/attest"},"summary":"Validate Tee Launch Config Instance","description":"Validate Tee Launch Config Instance | Validate Tee Launch Config Instance | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cllmv_session_init":{"type":"string","description":"body.cllmv_session_init (string field from the documented request schema)"},"code":{"type":"string","description":"body.code (string field from the documented request schema)"},"e2e_pubkey":{"type":"string","description":"body.e2e_pubkey (string field from the documented request schema)"},"egress":{"type":"boolean","description":"body.egress (boolean field from the documented request schema)","enum":[true,false]},"env":{"type":"string","description":"body.env (string field from the documented request schema)","required":true},"fsv":{"type":"string","description":"body.fsv (string field from the documented request schema)"},"gpu_evidence":{"type":"array","description":"body.gpu_evidence (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{}}},"gpus":{"type":"array","description":"body.gpus (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{}}},"host":{"type":"string","description":"body.host (string field from the documented request schema)","required":true},"inspecto":{"type":"string","description":"body.inspecto (string field from the documented request schema)"},"lock_modules":{"type":"boolean","description":"body.lock_modules (boolean field from the documented request schema)","enum":[true,false]},"netnanny_hash":{"type":"string","description":"body.netnanny_hash (string field from the documented request schema)"},"port_mappings":{"type":"array","description":"body.port_mappings (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{"default":{"type":"boolean","description":"body.port_mappings.default (boolean field from the documented request schema)","enum":[true,false]},"external_port":{"type":"number","description":"body.port_mappings.external_port (number field from the documented request schema)","required":true},"internal_port":{"type":"number","description":"body.port_mappings.internal_port (number field from the documented request schema)","required":true},"proto":{"type":"string","description":"body.port_mappings.proto (string field from the documented request schema)"}}}},"py_dirs":{"type":"array","description":"body.py_dirs (array field from the documented request schema)","items":{"type":"string"}},"rint_commitment":{"type":"string","description":"body.rint_commitment (string field from the documented request schema)"},"rint_nonce":{"type":"string","description":"body.rint_nonce (string field from the documented request schema)"},"rint_pubkey":{"type":"string","description":"body.rint_pubkey (string field from the documented request schema)"},"run_code":{"type":"string","description":"body.run_code (string field from the documented request schema)"},"run_path":{"type":"string","description":"body.run_path (string field from the documented request schema)"},"tls_ca_cert":{"type":"string","description":"body.tls_ca_cert (string field from the documented request schema)"},"tls_cert":{"type":"string","description":"body.tls_cert (string field from the documented request schema)"},"tls_cert_sig":{"type":"string","description":"body.tls_cert_sig (string field from the documented request schema)"},"tls_client_cert":{"type":"string","description":"body.tls_client_cert (string field from the documented request schema)"},"tls_client_key":{"type":"string","description":"body.tls_client_key (string field from the documented request schema)"},"tls_client_key_password":{"type":"string","description":"body.tls_client_key_password (string field from the documented request schema)"}}},"example":{"cllmv_session_init":["string"],"code":["string"],"e2e_pubkey":["string"],"egress":[false],"env":["string"],"fsv":["string"],"gpu_evidence":[[{}]],"gpus":[[{}]],"host":["string"],"inspecto":["string"],"lock_modules":[false],"netnanny_hash":["string"],"port_mappings":[[{"default":false,"external_port":0,"internal_port":0,"proto":"string"}]],"py_dirs":[["string"]],"rint_commitment":["string"],"rint_nonce":["string"],"rint_pubkey":["string"],"run_code":["string"],"run_path":["string"],"tls_ca_cert":["string"],"tls_cert":["string"],"tls_cert_sig":["string"],"tls_client_cert":["string"],"tls_client_key":["string"],"tls_client_key_password":["string"]}}}}}},"/instances/launch_config/{config_id}":{"post":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#claim_launch_config_instances_launch_config__config_id__post","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}"},"summary":"Claim Launch Config","description":"Claim Launch Config | Claim Launch Config | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cllmv_session_init":{"type":"string","description":"body.cllmv_session_init (string field from the documented request schema)"},"code":{"type":"string","description":"body.code (string field from the documented request schema)"},"e2e_pubkey":{"type":"string","description":"body.e2e_pubkey (string field from the documented request schema)"},"egress":{"type":"boolean","description":"body.egress (boolean field from the documented request schema)","enum":[true,false]},"env":{"type":"string","description":"body.env (string field from the documented request schema)","required":true},"fsv":{"type":"string","description":"body.fsv (string field from the documented request schema)"},"gpus":{"type":"array","description":"body.gpus (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{}}},"host":{"type":"string","description":"body.host (string field from the documented request schema)","required":true},"inspecto":{"type":"string","description":"body.inspecto (string field from the documented request schema)"},"lock_modules":{"type":"boolean","description":"body.lock_modules (boolean field from the documented request schema)","enum":[true,false]},"netnanny_hash":{"type":"string","description":"body.netnanny_hash (string field from the documented request schema)"},"port_mappings":{"type":"array","description":"body.port_mappings (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{"default":{"type":"boolean","description":"body.port_mappings.default (boolean field from the documented request schema)","enum":[true,false]},"external_port":{"type":"number","description":"body.port_mappings.external_port (number field from the documented request schema)","required":true},"internal_port":{"type":"number","description":"body.port_mappings.internal_port (number field from the documented request schema)","required":true},"proto":{"type":"string","description":"body.port_mappings.proto (string field from the documented request schema)"}}}},"py_dirs":{"type":"array","description":"body.py_dirs (array field from the documented request schema)","items":{"type":"string"}},"rint_commitment":{"type":"string","description":"body.rint_commitment (string field from the documented request schema)"},"rint_nonce":{"type":"string","description":"body.rint_nonce (string field from the documented request schema)"},"rint_pubkey":{"type":"string","description":"body.rint_pubkey (string field from the documented request schema)"},"run_code":{"type":"string","description":"body.run_code (string field from the documented request schema)"},"run_path":{"type":"string","description":"body.run_path (string field from the documented request schema)"},"tls_ca_cert":{"type":"string","description":"body.tls_ca_cert (string field from the documented request schema)"},"tls_cert":{"type":"string","description":"body.tls_cert (string field from the documented request schema)"},"tls_cert_sig":{"type":"string","description":"body.tls_cert_sig (string field from the documented request schema)"},"tls_client_cert":{"type":"string","description":"body.tls_client_cert (string field from the documented request schema)"},"tls_client_key":{"type":"string","description":"body.tls_client_key (string field from the documented request schema)"},"tls_client_key_password":{"type":"string","description":"body.tls_client_key_password (string field from the documented request schema)"}}},"example":{"cllmv_session_init":["string"],"code":["string"],"e2e_pubkey":["string"],"egress":[false],"env":["string"],"fsv":["string"],"gpus":[[{}]],"host":["string"],"inspecto":["string"],"lock_modules":[false],"netnanny_hash":["string"],"port_mappings":[[{"default":false,"external_port":0,"internal_port":0,"proto":"string"}]],"py_dirs":[["string"]],"rint_commitment":["string"],"rint_nonce":["string"],"rint_pubkey":["string"],"run_code":["string"],"run_path":["string"],"tls_ca_cert":["string"],"tls_cert":["string"],"tls_cert_sig":["string"],"tls_client_cert":["string"],"tls_client_key":["string"],"tls_client_key_password":["string"]}}}}},"put":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#verify_launch_config_instance_instances_launch_config__config_id__put","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}"},"summary":"Verify Launch Config Instance","description":"Verify Launch Config Instance | Verify Launch Config Instance | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/instances/launch_config/{config_id}/graval":{"post":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#claim_graval_launch_config_instances_launch_config__config_id__graval_post","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/graval"},"summary":"Claim Graval Launch Config","description":"Claim Graval Launch Config | Claim a Graval launch config and receive PoVW challenge. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cllmv_session_init":{"type":"string","description":"body.cllmv_session_init (string field from the documented request schema)"},"code":{"type":"string","description":"body.code (string field from the documented request schema)"},"e2e_pubkey":{"type":"string","description":"body.e2e_pubkey (string field from the documented request schema)"},"egress":{"type":"boolean","description":"body.egress (boolean field from the documented request schema)","enum":[true,false]},"env":{"type":"string","description":"body.env (string field from the documented request schema)","required":true},"fsv":{"type":"string","description":"body.fsv (string field from the documented request schema)"},"gpus":{"type":"array","description":"body.gpus (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{}}},"host":{"type":"string","description":"body.host (string field from the documented request schema)","required":true},"inspecto":{"type":"string","description":"body.inspecto (string field from the documented request schema)"},"lock_modules":{"type":"boolean","description":"body.lock_modules (boolean field from the documented request schema)","enum":[true,false]},"netnanny_hash":{"type":"string","description":"body.netnanny_hash (string field from the documented request schema)"},"port_mappings":{"type":"array","description":"body.port_mappings (array field from the documented request schema)","required":true,"items":{"type":"object","properties":{"default":{"type":"boolean","description":"body.port_mappings.default (boolean field from the documented request schema)","enum":[true,false]},"external_port":{"type":"number","description":"body.port_mappings.external_port (number field from the documented request schema)","required":true},"internal_port":{"type":"number","description":"body.port_mappings.internal_port (number field from the documented request schema)","required":true},"proto":{"type":"string","description":"body.port_mappings.proto (string field from the documented request schema)"}}}},"py_dirs":{"type":"array","description":"body.py_dirs (array field from the documented request schema)","items":{"type":"string"}},"rint_commitment":{"type":"string","description":"body.rint_commitment (string field from the documented request schema)"},"rint_nonce":{"type":"string","description":"body.rint_nonce (string field from the documented request schema)"},"rint_pubkey":{"type":"string","description":"body.rint_pubkey (string field from the documented request schema)"},"run_code":{"type":"string","description":"body.run_code (string field from the documented request schema)"},"run_path":{"type":"string","description":"body.run_path (string field from the documented request schema)"},"tls_ca_cert":{"type":"string","description":"body.tls_ca_cert (string field from the documented request schema)"},"tls_cert":{"type":"string","description":"body.tls_cert (string field from the documented request schema)"},"tls_cert_sig":{"type":"string","description":"body.tls_cert_sig (string field from the documented request schema)"},"tls_client_cert":{"type":"string","description":"body.tls_client_cert (string field from the documented request schema)"},"tls_client_key":{"type":"string","description":"body.tls_client_key (string field from the documented request schema)"},"tls_client_key_password":{"type":"string","description":"body.tls_client_key_password (string field from the documented request schema)"}}},"example":{"cllmv_session_init":["string"],"code":["string"],"e2e_pubkey":["string"],"egress":[false],"env":["string"],"fsv":["string"],"gpus":[[{}]],"host":["string"],"inspecto":["string"],"lock_modules":[false],"netnanny_hash":["string"],"port_mappings":[[{"default":false,"external_port":0,"internal_port":0,"proto":"string"}]],"py_dirs":[["string"]],"rint_commitment":["string"],"rint_nonce":["string"],"rint_pubkey":["string"],"run_code":["string"],"run_path":["string"],"tls_ca_cert":["string"],"tls_cert":["string"],"tls_cert_sig":["string"],"tls_client_cert":["string"],"tls_client_key":["string"],"tls_client_key_password":["string"]}}}}},"put":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#verify_graval_launch_config_instance_instances_launch_config__config_id__graval_put","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/graval"},"summary":"Verify Graval Launch Config Instance","description":"Verify Graval Launch Config Instance | Verify Graval launch config instance by validating PoVW proof and symmetric key usage. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/instances/launch_config/{config_id}/activate":{"get":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#activate_launch_config_instance_instances_launch_config__config_id__activate_get","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/activate"},"summary":"Activate Launch Config Instance","description":"Activate Launch Config Instance | Activate Launch Config Instance | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/launch_config/{config_id}/logs":{"post":{"tags":["Instances"],"parameters":[{"name":"config_id","in":"path","description":"config_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#ingest_chute_logs_instances_launch_config__config_id__logs_post","api_endpoint":"https://api.chutes.ai/instances/launch_config/{config_id}/logs"},"summary":"Ingest Chute Logs","description":"Ingest Chute Logs | Ingest chute pod logs streamed by the in-guest log shipper.\nmTLS-only, via the cvm proxy: the guest presents its per-boot registry mTLS leaf and the\n``resolve_log_context`` dependency binds the shipment to the launch-config owner (cross-miner\ninjection is rejected there; the auth result is cached per (config_id, cert) so a burst of\nbatches doesn't re-verify). Identity is derived server-side — the body carries only\n``deployment_id`` + the log lines.\nCutoff contract (docs/specs/chute-log-shipper.md): **204** = stop capturing this pod,\n**200** = keep sending, **403/404** = terminal reject (unauthorized / unknown config), which\nthe guest also treats as stop. The lines are ingested BEFORE the cutoff is evaluated so a\nfinal crash batch is always stored. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"deployment_id":{"type":"string","description":"From the chutes/deployment-id pod label; empty if absent. Never used for auth."},"logs":{"type":"array","description":"body.logs (array field from the documented request schema)","items":{"type":"object","properties":{"log":{"type":"string","description":"The log line content"},"stream":{"type":"string","description":"stdout | stderr"},"ts":{"type":"string","description":"RFC3339 nanosecond timestamp, e.g. 2026-07-27T00:00:00.123456789Z","required":true}}}}}},"example":{"deployment_id":[""],"logs":[[{"log":"","stream":"stdout","ts":"string"}]]}}}}}},"/instances/nonce":{"get":{"tags":["Instances"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_instance_nonce_instances_nonce_get","api_endpoint":"https://api.chutes.ai/instances/nonce"},"summary":"Get Instance Nonce","description":"Get Instance Nonce | Generate a nonce for TEE instance verification.\nThis endpoint is called by chute instances during TEE verification (Phase 1).\nThe nonce is used to bind the attestation evidence to this specific verification request. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/token_check":{"get":{"tags":["Instances"],"parameters":[{"name":"salt","in":"query","description":"salt (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_token_instances_token_check_get","api_endpoint":"https://api.chutes.ai/instances/token_check"},"summary":"Get Token","description":"Get Token | Get Token | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/{instance_id}/evidence":{"get":{"tags":["Instances"],"parameters":[{"name":"instance_id","in":"path","description":"instance_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"nonce","in":"query","description":"nonce (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_tee_instance_evidence_instances__instance_id__evidence_get","api_endpoint":"https://api.chutes.ai/instances/{instance_id}/evidence"},"summary":"Get Tee Instance Evidence","description":"Get Tee Instance Evidence | Get TEE evidence for a specific instance (TDX quote, GPU evidence, certificate).\nArgs:\n    instance_id: Instance ID\n    nonce: User-provided nonce (64 hex characters, 32 bytes)\nReturns:\n    TeeInstanceEvidence with quote, gpu_evidence, and certificate\nRaises:\n    404: Instance not found\n    400: Invalid nonce format or instance not TEE-enabled\n    403: User cannot access instance\n    429: Rate limit exceeded\n    500: Server attestation failures | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/{instance_id}/logs":{"get":{"tags":["Instances"],"parameters":[{"name":"instance_id","in":"path","description":"instance_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"backfill","in":"query","description":"backfill (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#stream_logs_instances__instance_id__logs_get","api_endpoint":"https://api.chutes.ai/instances/{instance_id}/logs"},"summary":"Stream Logs","description":"Stream Logs | Fetch raw kubernetes pod logs.\nNOTE: These are pod logs, not request data/etc., so it will never\ninclude prompts, responses, etc. Used for troubleshooting and checking\nstatus of warmup, etc. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/instances/{chute_id}/{instance_id}/disable":{"post":{"tags":["Instances"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"instance_id","in":"path","description":"instance_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#disable_instance_endpoint_instances__chute_id___instance_id__disable_post","api_endpoint":"https://api.chutes.ai/instances/{chute_id}/{instance_id}/disable"},"summary":"Disable Instance Endpoint","description":"Disable Instance Endpoint | Disable Instance Endpoint | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/instances/{chute_id}/{instance_id}":{"delete":{"tags":["Instances"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"instance_id","in":"path","description":"instance_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_instance_instances__chute_id___instance_id__delete","api_endpoint":"https://api.chutes.ai/instances/{chute_id}/{instance_id}"},"summary":"Delete Instance","description":"Delete Instance | Delete Instance | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/invocations/usage":{"get":{"tags":["Invocations"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_usage_invocations_usage_get","api_endpoint":"https://api.chutes.ai/invocations/usage"},"summary":"Get Usage","description":"Get Usage | Get aggregated usage data, which is the amount of revenue\nwe would be receiving if no usage was free. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/invocations/stats/llm":{"get":{"tags":["Invocations"],"parameters":[{"name":"chute_id","in":"query","description":"chute_id (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"end_date","in":"query","description":"end_date (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"start_date","in":"query","description":"start_date (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_llm_stats_invocations_stats_llm_get","api_endpoint":"https://api.chutes.ai/invocations/stats/llm"},"summary":"Get Llm Stats","description":"Get Llm Stats | Get Llm Stats | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/invocations/stats/diffusion":{"get":{"tags":["Invocations"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_diffusion_stats_invocations_stats_diffusion_get","api_endpoint":"https://api.chutes.ai/invocations/stats/diffusion"},"summary":"Get Diffusion Stats","description":"Get Diffusion Stats | Get Diffusion Stats | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/invocations/exports/{year}/{month}/{day}/{hour_format}":{"get":{"tags":["Invocations"],"parameters":[{"name":"day","in":"path","description":"day (path parameter from the official API reference)","required":true,"schema":{"type":"number","example":""}},{"name":"hour_format","in":"path","description":"hour_format (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"month","in":"path","description":"month (path parameter from the official API reference)","required":true,"schema":{"type":"number","example":""}},{"name":"year","in":"path","description":"year (path parameter from the official API reference)","required":true,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_export_invocations_exports__year___month___day___hour_format__get","api_endpoint":"https://api.chutes.ai/invocations/exports/{year}/{month}/{day}/{hour_format}"},"summary":"Get Export","description":"Get Export | Get invocation exports for a particular hour. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/invocations/exports/recent":{"get":{"tags":["Invocations"],"parameters":[{"name":"hotkey","in":"query","description":"hotkey (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_recent_export_invocations_exports_recent_get","api_endpoint":"https://api.chutes.ai/invocations/exports/recent"},"summary":"Get Recent Export","description":"Get Recent Export | Get an export for recent data, which may not yet be in S3. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/registry/auth":{"get":{"tags":["Authentication"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#registry_auth_registry_auth_get","api_endpoint":"https://api.chutes.ai/registry/auth"},"summary":"Registry Auth","description":"Registry Auth | Authenticate registry/docker pull requests.\nIn the Depot proxy flow this endpoint is called by nginx auth_request to\nverify the miner before nginx proxies to Depot's token endpoint; it only\nneeds to return 200 on success (or 401 on failure).\nThe VM's attested measurement version decides which auth is required:\n- version >= registry_mtls_min_version: mTLS.  The nginx frontend forwards the\n  client cert as X-Client-Cert; the leaf is verified against the CA registered\n  for the VM.  No legacy fallback — a VM this new must use mTLS.\n- otherwise (older VM, or unknown IP): legacy Bittensor hotkey/signature/nonce.\nSetting registry_mtls_min_version to \"0.0.0\" forces every attested VM onto\nmTLS — the kill switch that closes the legacy \"any registered miner can pull\nany private chute\" hole once the fleet is fully migrated.\nThe require_registry_proxy_secret dependency, when REGISTRY_PROXY_SECRET is configured,\nrejects requests that do not carry X-Registry-Proxy-Auth matching the secret,\npreventing X-Client-Cert / X-Real-IP spoofing on connections that bypass the\nregistry proxy.  The mTLS client cert is extracted (typed) by extract_optional_client_cert. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/api_keys/":{"get":{"tags":["Authentication"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_keys_api_keys__get","api_endpoint":"https://api.chutes.ai/api_keys/"},"summary":"List Keys","description":"List Keys | List (and optionally filter/paginate) keys. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Authentication"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_api_key_api_keys__post","api_endpoint":"https://api.chutes.ai/api_keys/"},"summary":"Create Api Key","description":"Create Api Key | Create a new API key. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"admin":{"type":"boolean","description":"body.admin (boolean field from the documented request schema)","required":true,"enum":[true,false]},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"scopes":{"type":"array","description":"body.scopes (array field from the documented request schema)","items":{"type":"object","properties":{"action":{"type":"string","description":"body.scopes.action (string field from the documented request schema)"},"object_id":{"type":"string","description":"body.scopes.object_id (string field from the documented request schema)"},"object_type":{"type":"string","description":"body.scopes.object_type (string field from the documented request schema)","required":true}}}}}},"example":{"admin":[false],"name":["string"],"scopes":[[]]}}}}}},"/api_keys/{api_key_id}":{"get":{"tags":["Authentication"],"parameters":[{"name":"api_key_id","in":"path","description":"api_key_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_key_api_keys__api_key_id__get","api_endpoint":"https://api.chutes.ai/api_keys/{api_key_id}"},"summary":"Get Key","description":"Get Key | Get a single key. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"delete":{"tags":["Authentication"],"parameters":[{"name":"api_key_id","in":"path","description":"api_key_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_api_key_api_keys__api_key_id__delete","api_endpoint":"https://api.chutes.ai/api_keys/{api_key_id}"},"summary":"Delete Api Key","description":"Delete Api Key | Delete an API key by ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/miner/chutes/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_chutes_miner_chutes__get","api_endpoint":"https://api.chutes.ai/miner/chutes/"},"summary":"List Chutes (Miner)","description":"List Chutes | List Chutes | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/images/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_images_miner_images__get","api_endpoint":"https://api.chutes.ai/miner/images/"},"summary":"List Images (Miner)","description":"List Images | List Images | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/nodes/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_nodes_miner_nodes__get","api_endpoint":"https://api.chutes.ai/miner/nodes/"},"summary":"List Nodes (Miner)","description":"List Nodes | List Nodes | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/servers/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_servers_miner_servers__get","api_endpoint":"https://api.chutes.ai/miner/servers/"},"summary":"List Servers","description":"List Servers | List all servers for the authenticated miner, with nested GPU info.\nProvides full visibility into server inventory (including servers with no GPUs,\nduplicate IPs, or name collisions). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/instances/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"explicit_null","in":"query","description":"explicit_null (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_instances_miner_instances__get","api_endpoint":"https://api.chutes.ai/miner/instances/"},"summary":"List Instances","description":"List Instances | List Instances | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/jobs/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_available_jobs_miner_jobs__get","api_endpoint":"https://api.chutes.ai/miner/jobs/"},"summary":"List Available Jobs","description":"List Available Jobs | List Available Jobs | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/jobs/{job_id}":{"delete":{"tags":["Miner"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#release_job_miner_jobs__job_id__delete","api_endpoint":"https://api.chutes.ai/miner/jobs/{job_id}"},"summary":"Release Job","description":"Release Job | Release Job | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/miner/inventory":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_full_inventory_miner_inventory_get","api_endpoint":"https://api.chutes.ai/miner/inventory"},"summary":"Get Full Inventory","description":"Get Full Inventory | Get Full Inventory | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/metrics/":{"get":{"tags":["Miner"],"parameters":[{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#metrics_miner_metrics__get","api_endpoint":"https://api.chutes.ai/miner/metrics/"},"summary":"Metrics","description":"Metrics | Metrics | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/active_instances/":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_active_instances_miner_active_instances__get","api_endpoint":"https://api.chutes.ai/miner/active_instances/"},"summary":"List Active Instances","description":"List Active Instances | Get all active instances across the platform.\nUsed by miners to make informed preemption decisions based on global state. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/chutes/{chute_id}/{version}":{"get":{"tags":["Miner"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"version","in":"path","description":"version (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_chute_miner_chutes__chute_id___version__get","api_endpoint":"https://api.chutes.ai/miner/chutes/{chute_id}/{version}"},"summary":"Get Chute (Miner)","description":"Get Chute | Get Chute | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/stats":{"get":{"tags":["Miner"],"parameters":[{"name":"miner_hotkey","in":"query","description":"miner_hotkey (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"per_chute","in":"query","description":"per_chute (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_stats_miner_stats_get","api_endpoint":"https://api.chutes.ai/miner/stats"},"summary":"Get Stats","description":"Get Stats | Get miner stats over different intervals based on instance data (matching actual scoring).\nReturns instance-based metrics (total_instances, compute_seconds, compute_units, bounty_count)\nwhich align with how miners are actually scored for validator weights. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/scores":{"get":{"tags":["Miner"],"parameters":[{"name":"hotkey","in":"query","description":"hotkey (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_scores_miner_scores_get","api_endpoint":"https://api.chutes.ai/miner/scores"},"summary":"Get Scores","description":"Get Scores | Get Scores | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/unique_chute_history/{hotkey}":{"get":{"tags":["Miner"],"parameters":[{"name":"hotkey","in":"path","description":"hotkey (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#unique_chute_history_miner_unique_chute_history__hotkey__get","api_endpoint":"https://api.chutes.ai/miner/unique_chute_history/{hotkey}"},"summary":"Unique Chute History","description":"Unique Chute History | Unique Chute History | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/thrash_cooldowns":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_thrash_cooldowns_miner_thrash_cooldowns_get","api_endpoint":"https://api.chutes.ai/miner/thrash_cooldowns"},"summary":"Get Thrash Cooldowns","description":"Get Thrash Cooldowns | XXX Removed, no such thing, but return empty array for compat. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/metagraph":{"get":{"tags":["Miner"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_metagraph_miner_metagraph_get","api_endpoint":"https://api.chutes.ai/miner/metagraph"},"summary":"Get Metagraph","description":"Get Metagraph | Get Metagraph | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/miner/instance_logs":{"get":{"tags":["Miner"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"cursor","in":"query","description":"cursor (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#stream_miner_logs_miner_instance_logs_get","api_endpoint":"https://api.chutes.ai/miner/instance_logs"},"summary":"Stream Miner Logs","description":"Stream Miner Logs | Stream startup logs for an instance identified by a launch config JWT.\nOnly available for public chutes, and only before the instance is activated.\nConnections are capped at 5 minutes. To resume, pass the ``cursor`` query\nparameter (an ISO timestamp included as ``cursor`` in each JSON payload). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/logos/":{"post":{"tags":["Logo"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_logo_logos__post","api_endpoint":"https://api.chutes.ai/logos/"},"summary":"Create Logo","description":"Create Logo | Create/upload a new logo. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"logo":{"type":"string","description":"body.logo (string field from the documented request schema)","required":true}}},"example":{"logo":["string"]}}}}}},"/logos/{logo_id}.{extension}":{"get":{"tags":["Logo"],"parameters":[{"name":"extension","in":"path","description":"extension (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"logo_id","in":"path","description":"logo_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#render_logo_logos__logo_id___extension__get","api_endpoint":"https://api.chutes.ai/logos/{logo_id}.{extension}"},"summary":"Render Logo","description":"Render Logo | Logo image response. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/guess/vllm_config":{"get":{"tags":["ConfigGuesser"],"parameters":[{"name":"model","in":"query","description":"model (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#analyze_model_guess_vllm_config_get","api_endpoint":"https://api.chutes.ai/guess/vllm_config"},"summary":"Analyze Model","description":"Analyze Model | Attempt to guess required GPU count and VRAM for a model on huggingface, assuming safetensors format. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/audit/miner_data":{"post":{"tags":["Audit"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Block","in":"query","description":"X-Chutes-Block (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#add_miner_audit_data_audit_miner_data_post","api_endpoint":"https://api.chutes.ai/audit/miner_data"},"summary":"Add Miner Audit Data","description":"Add Miner Audit Data | Add Miner Audit Data | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/audit/":{"get":{"tags":["Audit"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_audit_entries_audit__get","api_endpoint":"https://api.chutes.ai/audit/"},"summary":"List Audit Entries","description":"List Audit Entries | List all audit reports within the scoring window plus a 1-hour buffer. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/audit/download":{"get":{"tags":["Audit"],"parameters":[{"name":"path","in":"query","description":"path (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#download_audit_data_audit_download_get","api_endpoint":"https://api.chutes.ai/audit/download"},"summary":"Download Audit Data","description":"Download Audit Data | Download report data. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/jobs/{chute_id}/{method}":{"post":{"tags":["Job"],"parameters":[{"name":"method","in":"path","description":"method (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_job_jobs__chute_id___method__post","api_endpoint":"https://api.chutes.ai/jobs/{chute_id}/{method}"},"summary":"Create Job","description":"Create Job | Create a job. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/jobs/{job_id}":{"delete":{"tags":["Job"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_job_jobs__job_id__delete","api_endpoint":"https://api.chutes.ai/jobs/{job_id}"},"summary":"Delete Job","description":"Delete Job | Delete a job. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"post":{"tags":["Job"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"token","in":"query","description":"token (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#finish_job_and_get_upload_targets_jobs__job_id__post","api_endpoint":"https://api.chutes.ai/jobs/{job_id}"},"summary":"Finish Job And Get Upload Targets","description":"Finish Job And Get Upload Targets | Mark a job as complete (which could be failed; \"done\" either way) | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"put":{"tags":["Job"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"token","in":"query","description":"token (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#complete_job_jobs__job_id__put","api_endpoint":"https://api.chutes.ai/jobs/{job_id}"},"summary":"Complete Job","description":"Complete Job | Final update, which checks the file uploads to see which were successfully transferred etc. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Job"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_job_jobs__job_id__get","api_endpoint":"https://api.chutes.ai/jobs/{job_id}"},"summary":"Get Job","description":"Get Job | Get a job. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/jobs/{job_id}/upload":{"put":{"tags":["Job"],"parameters":[{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"token","in":"query","description":"token (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#upload_job_file_jobs__job_id__upload_put","api_endpoint":"https://api.chutes.ai/jobs/{job_id}/upload"},"summary":"Upload Job File","description":"Upload Job File | Upload a job's output file. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":false,"content":{"multipart/form-data":{"schema":{"type":"object","required":[],"properties":{"path":{"type":"string","description":"body.path (string field from the documented request schema)","required":true},"file":{"type":"string","description":"body.file (string field from the documented request schema)","required":true}}},"example":{"path":["string"],"file":["string"]}}}}}},"/jobs/{job_id}/download/{file_id}":{"get":{"tags":["Job"],"parameters":[{"name":"file_id","in":"path","description":"file_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"job_id","in":"path","description":"job_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#download_output_file_jobs__job_id__download__file_id__get","api_endpoint":"https://api.chutes.ai/jobs/{job_id}/download/{file_id}"},"summary":"Download Output File","description":"Download Output File | Download a job's output file. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/secrets/":{"get":{"tags":["Secret"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_secrets_secrets__get","api_endpoint":"https://api.chutes.ai/secrets/"},"summary":"List Secrets","description":"List Secrets | List secrets. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Secret"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_secret_secrets__post","api_endpoint":"https://api.chutes.ai/secrets/"},"summary":"Create Secret","description":"Create Secret | Create a secret (e.g. private HF token). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"key":{"type":"string","description":"body.key (string field from the documented request schema)","required":true},"purpose":{"type":"string","description":"body.purpose (string field from the documented request schema)","required":true},"value":{"type":"string","description":"body.value (string field from the documented request schema)","required":true}}},"example":{"key":["string"],"purpose":["string"],"value":["string"]}}}}}},"/secrets/{secret_id}":{"get":{"tags":["Secret"],"parameters":[{"name":"secret_id","in":"path","description":"secret_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_secret_secrets__secret_id__get","api_endpoint":"https://api.chutes.ai/secrets/{secret_id}"},"summary":"Get Secret","description":"Get Secret | Load a single secret by ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"delete":{"tags":["Secret"],"parameters":[{"name":"secret_id","in":"path","description":"secret_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_secret_secrets__secret_id__delete","api_endpoint":"https://api.chutes.ai/secrets/{secret_id}"},"summary":"Delete Secret","description":"Delete Secret | Delete a secret by ID. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/misc/proxy":{"get":{"tags":["Miscellaneous"],"parameters":[{"name":"stream","in":"query","description":"Stream the response for large files/videos","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"url","in":"query","description":"url (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#proxy_misc_proxy_get","api_endpoint":"https://api.chutes.ai/misc/proxy"},"summary":"Proxy","description":"Proxy | Proxy | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"put":{"tags":["Miscellaneous"],"parameters":[{"name":"url","in":"query","description":"url (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#proxy_put_misc_proxy_put","api_endpoint":"https://api.chutes.ai/misc/proxy"},"summary":"Proxy Put","description":"Proxy Put | Proxy Put | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/misc/hf_repo_info":{"get":{"tags":["Miscellaneous"],"parameters":[{"name":"hf_token","in":"query","description":"hf_token (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"repo_id","in":"query","description":"repo_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"repo_type","in":"query","description":"repo_type (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"revision","in":"query","description":"revision (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_hf_repo_info_misc_hf_repo_info_get","api_endpoint":"https://api.chutes.ai/misc/hf_repo_info"},"summary":"Get Hf Repo Info","description":"Get Hf Repo Info | Proxy endpoint for HF repo file info. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/nonce":{"get":{"tags":["Servers"],"parameters":[{"name":"miner_hotkey","in":"query","description":"miner_hotkey (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_nonce_servers_nonce_get","api_endpoint":"https://api.chutes.ai/servers/nonce"},"summary":"Get Nonce","description":"Get Nonce | Generate a nonce for boot attestation.\nThis endpoint is called by VMs during boot before any registration.\nNo authentication required as the VM doesn't exist in the system yet.\nminer_hotkey is OPTIONAL for backwards compatibility: older VM initramfs fetch the nonce\nwithout it. When supplied it is bound into the nonce, and boot attestation enforces that\nargs.miner_hotkey matches the value stored here (preventing cross-miner nonce reuse). VMs\nthat omit it get an unbound nonce and the binding check is skipped.\nTODO: make miner_hotkey required when all VMs >= 1.4.0 | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/boot/attestation":{"post":{"tags":["Servers"],"parameters":[{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#verify_boot_attestation_servers_boot_attestation_post","api_endpoint":"https://api.chutes.ai/servers/boot/attestation"},"summary":"Verify Boot Attestation","description":"Verify Boot Attestation | Verify boot attestation and return LUKS passphrase.\nBoth VM generations reach this route, so the hotkey proof is EXTRACTED rather than required:\na presented signature is verified here and 401s if it does not hold, but its absence is left\nfor the handler to judge once the quote names the attested image. See\nprocess_boot_attestation, which requires a proof from any image whose measured initramfs\nships the signer.\nVerifies the TDX quote against the expected boot measurements and returns the LUKS passphrase\nfor disk decryption if valid. For VMs >= 1.3.0 it also returns a luks_quote_nonce for the\nfollowing runtime call (POST /provision on 1.4.0+, POST /luks/attest on 1.3.x); for 1.4.0+ it\nadditionally returns root_next + root_confirm_nonce and the VM's ephemeral auth SS58. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"first_boot":{"type":"boolean","description":"True when the VM detected a fresh (re-downloaded) image via its LUKS2 header token","enum":[true,false]},"miner_hotkey":{"type":"string","description":"Miner hotkey that owns this VM","required":true},"quote":{"type":"string","description":"Base64 encoded TDX quote","required":true},"vm_name":{"type":"string","description":"VM name/identifier","required":true}}},"example":{"first_boot":[false],"miner_hotkey":["string"],"quote":["string"],"vm_name":["string"]}}}}}},"/servers/{vm_name}/luks/attest":{"post":{"tags":["Servers"],"parameters":[{"name":"vm_name","in":"path","description":"vm_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Quote-Nonce","in":"query","description":"X-Quote-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#attest_luks_servers__vm_name__luks_attest_post","api_endpoint":"https://api.chutes.ai/servers/{vm_name}/luks/attest"},"summary":"Attest Luks","description":"Attest Luks | Rotate LUKS passphrases for new-format VMs (version >= 1.3.0).\nDEPRECATED: superseded by POST /provision, which does the same storage rotation and\nadditionally records the VM root CA identity. Kept unchanged for legacy in-field VMs;\nretire once the fleet upgrades.\nThe VM embeds the luks_quote_nonce (received in the boot attestation response)\nin a TDX quote after extending RTMR3 in initramfs. require_luks_quote_nonce\nvalidates and consumes the nonce; the handler then calls verify_quote which\nchecks the TDX signature and all RTMR measurements including RTMR3. Returns\nrotated passphrases, the k3s encryption key, and a confirm nonce. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"quote":{"type":"string","description":"Base64-encoded TDX quote (runtime type, RTMR3 extended)","required":true},"volumes":{"type":"array","description":"Volume names to rotate passphrases for","required":true,"items":{"type":"string"}}}},"example":{"quote":["string"],"volumes":[["string"]]}}}}}},"/servers/{vm_name}/luks/confirm":{"post":{"tags":["Servers"],"parameters":[{"name":"vm_name","in":"path","description":"vm_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Confirm-Nonce","in":"query","description":"X-Confirm-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#confirm_luks_rotation_servers__vm_name__luks_confirm_post","api_endpoint":"https://api.chutes.ai/servers/{vm_name}/luks/confirm"},"summary":"Confirm Luks Rotation","description":"Confirm Luks Rotation | Confirm or discard pending LUKS passphrase rotation results.\nDEPRECATED for the storage-rotation flow: new VMs use POST /provision/confirm (same\nshared logic). Kept for legacy in-field VMs; note the boot-phase root-passphrase confirm\nstill uses this route until /luks/* is fully retired.\nThe VM reports per-volume success/failure. require_confirm_nonce validates\nand consumes the nonce before the handler runs. Volumes with rotated=True\nhave pending passphrases promoted to current; rotated=False discards pending. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"volumes":{"type":"object","description":"Per-volume rotation result reported by the VM","required":true,"properties":{}}}},"example":{"volumes":[{}]}}}}}},"/servers/{vm_name}/provision":{"post":{"tags":["Servers"],"parameters":[{"name":"vm_name","in":"path","description":"vm_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Quote-Nonce","in":"query","description":"X-Quote-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#provision_servers__vm_name__provision_post","api_endpoint":"https://api.chutes.ai/servers/{vm_name}/provision"},"summary":"Provision","description":"Provision | Provision a new VM at runtime: record its root CA identity and issue storage secrets.\nOnly 1.4.0+ VMs reach this route (it is behind require_cvm_proxy), and every one of them\nsigns, so require_hotkey_auth demands a proven hotkey at the door -- no backwards-compatible\n\"unsigned is acceptable\" case exists here, unlike boot attestation. The proven identity is\nwhat the rc gate in verify_quote is given.\nThe RTMR3-attested runtime entry point for new VMs (supersedes /luks/attest going\nforward). The VM presents its per-boot root CA as the mTLS client cert; the quote's\nREPORTDATA binds SHA256(that cert's pubkey), so the same cert_hash check that guards\n/luks/attest also proves CA possession — no bespoke quote logic is needed.\nrequire_luks_quote_nonce validates and consumes the runtime nonce; the handler verifies\nthe quote (signature + all RTMR measurements incl. RTMR3), records\nserver.vm_root_ca_cert (idempotent), and returns rotated passphrases, the k3s encryption\nkey, and a confirm nonce. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"quote":{"type":"string","description":"Base64-encoded TDX quote (runtime type, RTMR3 extended)","required":true},"volumes":{"type":"array","description":"Volume names to rotate passphrases for","required":true,"items":{"type":"string"}}}},"example":{"quote":["string"],"volumes":[["string"]]}}}}}},"/servers/{vm_name}/provision/confirm":{"post":{"tags":["Servers"],"parameters":[{"name":"vm_name","in":"path","description":"vm_name (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Confirm-Nonce","in":"query","description":"X-Confirm-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#provision_confirm_servers__vm_name__provision_confirm_post","api_endpoint":"https://api.chutes.ai/servers/{vm_name}/provision/confirm"},"summary":"Provision Confirm","description":"Provision Confirm | Confirm or discard pending storage-passphrase rotations from POST /provision.\nDelegates to the same shared logic as the legacy /luks/confirm (process_luks_confirm):\nrequire_confirm_nonce validates and consumes the nonce, then volumes with rotated=True\nhave pending passphrases promoted to current and rotated=False discards pending. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"volumes":{"type":"object","description":"Per-volume rotation result reported by the VM","required":true,"properties":{}}}},"example":{"volumes":[{}]}}}}}},"/servers/":{"post":{"tags":["Servers"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_server_servers__post","api_endpoint":"https://api.chutes.ai/servers/"},"summary":"Create Server","description":"Create Server | Register a new server.\nThis is called via CLI after the server has booted and decrypted its disk.\nLinks the server to any existing boot attestation history via server ip. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"gpus":{"type":"array","description":"GPU info for this server","required":true,"items":{"type":"object","properties":{"clock_rate":{"type":"number","description":"body.gpus.clock_rate (number field from the documented request schema)","required":true},"concurrent_kernels":{"type":"boolean","description":"body.gpus.concurrent_kernels (boolean field from the documented request schema)","enum":[true,false]},"device_index":{"type":"number","description":"body.gpus.device_index (number field from the documented request schema)","required":true},"ecc":{"type":"boolean","description":"body.gpus.ecc (boolean field from the documented request schema)","enum":[true,false]},"gpu_identifier":{"type":"string","description":"body.gpus.gpu_identifier (string field from the documented request schema)","required":true},"major":{"type":"number","description":"body.gpus.major (number field from the documented request schema)"},"max_threads_per_processor":{"type":"number","description":"body.gpus.max_threads_per_processor (number field from the documented request schema)"},"memory":{"type":"number","description":"body.gpus.memory (number field from the documented request schema)","required":true},"minor":{"type":"number","description":"body.gpus.minor (number field from the documented request schema)"},"name":{"type":"string","description":"body.gpus.name (string field from the documented request schema)","required":true},"processors":{"type":"number","description":"body.gpus.processors (number field from the documented request schema)"},"sxm":{"type":"boolean","description":"body.gpus.sxm (boolean field from the documented request schema)","enum":[true,false]},"uuid":{"type":"string","description":"body.gpus.uuid (string field from the documented request schema)","required":true},"verification_host":{"type":"string","description":"body.gpus.verification_host (string field from the documented request schema)","required":true},"verification_port":{"type":"number","description":"body.gpus.verification_port (number field from the documented request schema)","required":true}}}},"host":{"type":"string","description":"Public IP address or DNS Name of the server","required":true},"id":{"type":"string","description":"Server ID (e.g. k8s node uid)","required":true},"name":{"type":"string","description":"Server name (defaults to server id if omitted)"}}},"example":{"gpus":[[{"clock_rate":0,"concurrent_kernels":false,"device_index":0,"ecc":false,"major":0,"max_threads_per_processor":0,"memory":0,"minor":0,"name":"string","processors":0,"sxm":false,"uuid":"string"}]],"host":["string"],"id":["string"],"name":["string"]}}}}}},"/servers/tee/measurements":{"get":{"tags":["Servers"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_tee_measurements_servers_tee_measurements_get","api_endpoint":"https://api.chutes.ai/servers/tee/measurements"},"summary":"Get Tee Measurements","description":"Get Tee Measurements | Return the list of currently accepted TEE measurement configurations.\nThese are the reference values (MRTD + RTMRs) that the platform accepts\nduring boot and runtime attestation. Clients can use these to independently\nverify that a server is running approved software before trusting it.\nNo authentication required — public transparency endpoint. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/tdx/host_profiles":{"get":{"tags":["Servers"],"parameters":[{"name":"include_pending","in":"query","description":"Also return host classes awaiting measurement generation.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_host_profiles_servers_tdx_host_profiles_get","api_endpoint":"https://api.chutes.ai/servers/tdx/host_profiles"},"summary":"List Host Profiles","description":"List Host Profiles | Return host profiles: the platform inputs a measurement is built from.\nBy default, only host classes that HAVE measurements. Join `fingerprint` to\nGET /servers/tee/measurements, regenerate RTMR0 from the inputs here, and compare -- that makes\nevery published measurement independently reproducible, and a quote holder can see which host\nclass their own RTMR0 corresponds to. A third party needs no flags and can never be handed an\nunverified claim.\n`include_pending=true` also returns host classes awaiting generation. That is the measurement\ngenerator's queue: a profile becomes measured only once measurements are generated for it, and\ngeneration has to fetch it first. Each entry's `measured` flag says which set it is in.\nPublic and unauthenticated, so the generation side needs no database credentials. Every entry\nis host-class data: the machine-identifying fields are dropped at submission and never stored,\nand the submitter's `miner_hotkey` is a column this query never selects. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Servers"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#submit_host_profile_servers_tdx_host_profiles_post","api_endpoint":"https://api.chutes.ai/servers/tdx/host_profiles"},"summary":"Submit Host Profile","description":"Submit Host Profile | Register a host class (sek8s `discover-profile.sh` output) so Chutes can measure it.\nOne of four distinct operations: this REGISTERS, POST /servers/tdx/host_profiles/status\nRESOLVES a class (is it known, and for which images), POST /servers/tdx/preflight CHECKS whether\none specific image can boot, and GET /servers/tdx/host_profiles LISTS the generated set. A miner\nreaches this only when the status lookup reports the class is not on file. The API owns the\nfingerprint -- the miner sends raw platform metadata and gets back the class's retention\nlifecycle, which only ever advances:\n  * `accepted` -- a measurement has already been generated for this class; retained from here on\n  * `pending`  -- parked in object storage, awaiting its first measurement generation\nA real submission is always stored, so this never returns `unknown`. It answers only whether the\nclass has been measured at all; whether the caller's specific image can boot is preflight's job.\nSigned by the miner hotkey, so the signature covers the request body. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cpu":{"type":"object","description":"Host CPU topology and the identity fields RTMR0 depends on.","required":true,"properties":{"cores_per_socket":{"type":"number","description":"body.cpu.cores_per_socket (number field from the documented request schema)","required":true},"cpu_processor_id":{"type":"string","description":"body.cpu.cpu_processor_id (string field from the documented request schema)"},"cpu_vendor":{"type":"string","description":"body.cpu.cpu_vendor (string field from the documented request schema)"},"sockets":{"type":"number","description":"body.cpu.sockets (number field from the documented request schema)","required":true},"threads_per_core":{"type":"number","description":"body.cpu.threads_per_core (number field from the documented request schema)","required":true},"total":{"type":"number","description":"body.cpu.total (number field from the documented request schema)","required":true}}},"gpu":{"type":"object","description":"Passthrough GPU inventory: PCI ids and addresses, count, BAR/VRAM sizing, VBIOS.","required":true,"properties":{"bar_size_mb":{"type":"number","description":"body.gpu.bar_size_mb (number field from the documented request schema)"},"bdfs":{"type":"array","description":"body.gpu.bdfs (array field from the documented request schema)"},"count":{"type":"number","description":"body.gpu.count (number field from the documented request schema)","required":true},"numa_nodes":{"type":"array","description":"body.gpu.numa_nodes (array field from the documented request schema)"},"pci_device_ids":{"type":"array","description":"body.gpu.pci_device_ids (array field from the documented request schema)"},"vbios":{"type":"array","description":"body.gpu.vbios (array field from the documented request schema)"},"vram_gb":{"type":"number","description":"body.gpu.vram_gb (number field from the documented request schema)"}}},"host":{"type":"object","description":"DMI/SMBIOS identity (board, BIOS, chassis) plus OS release. Recorded, not fingerprinted --\nBIOS revisions move independently of the host class.","properties":{"bios_date":{"type":"string","description":"body.host.bios_date (string field from the documented request schema)"},"bios_vendor":{"type":"string","description":"body.host.bios_vendor (string field from the documented request schema)"},"bios_version":{"type":"string","description":"body.host.bios_version (string field from the documented request schema)"},"board_name":{"type":"string","description":"body.host.board_name (string field from the documented request schema)"},"board_vendor":{"type":"string","description":"body.host.board_vendor (string field from the documented request schema)"},"os_version_id":{"type":"string","description":"body.host.os_version_id (string field from the documented request schema)"},"product_name":{"type":"string","description":"body.host.product_name (string field from the documented request schema)"}}},"hostname":{"type":"string","description":"body.hostname (string field from the documented request schema)"},"launch_determinism":{"type":"object","description":"QEMU build and the ``-cpu`` string it launches with -- both RTMR0 determinants.\nWire key is ``launch_determinism``. Its last three members restate ``numa`` and ``cpu``; they\nare declared so real submissions validate, but nothing reads them (``fingerprint`` takes those\nvalues from their canonical block, so a disagreeing copy cannot shift it).","required":true,"properties":{"cpu_args":{"type":"string","description":"body.launch_determinism.cpu_args (string field from the documented request schema)"},"host_cpu_topology":{"type":"string","description":"body.launch_determinism.host_cpu_topology (string field from the documented request schema)"},"numa_node_count":{"type":"number","description":"body.launch_determinism.numa_node_count (number field from the documented request schema)"},"numa_topology_eligible":{"type":"boolean","description":"body.launch_determinism.numa_topology_eligible (boolean field from the documented request schema)","enum":[true,false]},"qemu_version":{"type":"string","description":"body.launch_determinism.qemu_version (string field from the documented request schema)","required":true},"qemu_version_full":{"type":"string","description":"body.launch_determinism.qemu_version_full (string field from the documented request schema)"}}},"memory":{"type":"object","description":"Host RAM, which some profiles (e.g. B200) derive guest RAM from. The ``suggested_*`` fields\nare the script's own sizing advice, recorded but unused.","required":true,"properties":{"suggested_ram_per_gpu_gb":{"type":"number","description":"body.memory.suggested_ram_per_gpu_gb (number field from the documented request schema)"},"suggested_total_vm_ram_gb":{"type":"number","description":"body.memory.suggested_total_vm_ram_gb (number field from the documented request schema)"},"total_gb":{"type":"number","description":"body.memory.total_gb (number field from the documented request schema)","required":true}}},"nic":{"type":"object","description":"InfiniBand / Ethernet inventory, including passthrough-eligible NICs.","properties":{"bridge_pfs":{"type":"array","description":"body.nic.bridge_pfs (array field from the documented request schema)"},"eth_class_count":{"type":"number","description":"body.nic.eth_class_count (number field from the documented request schema)"},"ib_class_count":{"type":"number","description":"body.nic.ib_class_count (number field from the documented request schema)"},"ib_devices":{"type":"array","description":"body.nic.ib_devices (array field from the documented request schema)"},"passthrough_candidates":{"type":"array","description":"body.nic.passthrough_candidates (array field from the documented request schema)"},"passthrough_numa_nodes":{"type":"array","description":"body.nic.passthrough_numa_nodes (array field from the documented request schema)"}}},"numa":{"type":"object","description":"NUMA layout: node count, node indices, per-node cpulists.","required":true,"properties":{"cpus_per_node":{"type":"object","description":"body.numa.cpus_per_node (object field from the documented request schema)"},"node_count":{"type":"number","description":"body.numa.node_count (number field from the documented request schema)","required":true},"nodes":{"type":"array","description":"body.numa.nodes (array field from the documented request schema)"}}},"nvswitch":{"type":"object","description":"NVSwitch inventory (passthrough stubs are reproduced offline per switch).","properties":{"count":{"type":"number","description":"body.nvswitch.count (number field from the documented request schema)"},"devices":{"type":"array","description":"body.nvswitch.devices (array field from the documented request schema)"},"numa_nodes":{"type":"array","description":"body.nvswitch.numa_nodes (array field from the documented request schema)"},"present":{"type":"boolean","description":"body.nvswitch.present (boolean field from the documented request schema)","enum":[true,false]}}},"pci_topology":{"type":"string","description":"body.pci_topology (string field from the documented request schema)"},"timestamp":{"type":"string","description":"body.timestamp (string field from the documented request schema)"}}},"example":{"cpu":[{"cores_per_socket":0,"cpu_processor_id":"string","cpu_vendor":"","sockets":0,"threads_per_core":0,"total":0}],"gpu":[{"bar_size_mb":-1,"bdfs":["string"],"count":0,"numa_nodes":[0],"pci_device_ids":["string"],"vbios":["string"],"vram_gb":0}],"host":[{"bios_date":"","bios_vendor":"","bios_version":"","board_name":"","board_vendor":"","os_version_id":"","product_name":""}],"hostname":["string"],"launch_determinism":[{"cpu_args":"","host_cpu_topology":"","numa_node_count":0,"numa_topology_eligible":false,"qemu_version":"string","qemu_version_full":""}],"memory":[{"suggested_ram_per_gpu_gb":0,"suggested_total_vm_ram_gb":0,"total_gb":0}],"nic":[{"bridge_pfs":["string"],"eth_class_count":0,"ib_class_count":0,"ib_devices":["string"],"passthrough_candidates":["string"],"passthrough_numa_nodes":[0]}],"numa":[{"cpus_per_node":{},"node_count":0,"nodes":[0]}],"nvswitch":[{"count":0,"devices":["string"],"numa_nodes":[0],"present":false}],"pci_topology":["string"],"timestamp":["string"]}}}}}},"/servers/tdx/host_profiles/status":{"post":{"tags":["Servers"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#tdx_host_profile_status_servers_tdx_host_profiles_status_post","api_endpoint":"https://api.chutes.ai/servers/tdx/host_profiles/status"},"summary":"Tdx Host Profile Status","description":"Tdx Host Profile Status | Is this host class known, and which VM images cover it? The check `chutes-cvm host verify` runs.\nDeliberately version-free: a miner verifies a host BEFORE downloading any image, so this asks\nonly about the topology -- \"can this host run anything at all, and if so what\". Whether one\nspecific image can boot is POST /servers/tdx/preflight, which the launch path runs against the\nversion it actually holds.\n  * `measurements` non-empty -> the class is attestable; those are the images it can launch.\n  * empty, `status: pending`  -> registered, awaiting measurement generation. Nothing to do but\n    retry later; re-submitting will not speed it up.\n  * empty, `status: unknown`  -> never submitted. Register it with\n    POST /servers/tdx/host_profiles.\nA POST because the API owns the fingerprint: a caller cannot ask about \"my topology\" without\nhanding over the profile to be fingerprinted. Stores nothing -- the read-only counterpart to the\nsubmission route. Signed by the miner hotkey, so the signature covers the request body. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cpu":{"type":"object","description":"Host CPU topology and the identity fields RTMR0 depends on.","required":true,"properties":{"cores_per_socket":{"type":"number","description":"body.cpu.cores_per_socket (number field from the documented request schema)","required":true},"cpu_processor_id":{"type":"string","description":"body.cpu.cpu_processor_id (string field from the documented request schema)"},"cpu_vendor":{"type":"string","description":"body.cpu.cpu_vendor (string field from the documented request schema)"},"sockets":{"type":"number","description":"body.cpu.sockets (number field from the documented request schema)","required":true},"threads_per_core":{"type":"number","description":"body.cpu.threads_per_core (number field from the documented request schema)","required":true},"total":{"type":"number","description":"body.cpu.total (number field from the documented request schema)","required":true}}},"gpu":{"type":"object","description":"Passthrough GPU inventory: PCI ids and addresses, count, BAR/VRAM sizing, VBIOS.","required":true,"properties":{"bar_size_mb":{"type":"number","description":"body.gpu.bar_size_mb (number field from the documented request schema)"},"bdfs":{"type":"array","description":"body.gpu.bdfs (array field from the documented request schema)"},"count":{"type":"number","description":"body.gpu.count (number field from the documented request schema)","required":true},"numa_nodes":{"type":"array","description":"body.gpu.numa_nodes (array field from the documented request schema)"},"pci_device_ids":{"type":"array","description":"body.gpu.pci_device_ids (array field from the documented request schema)"},"vbios":{"type":"array","description":"body.gpu.vbios (array field from the documented request schema)"},"vram_gb":{"type":"number","description":"body.gpu.vram_gb (number field from the documented request schema)"}}},"host":{"type":"object","description":"DMI/SMBIOS identity (board, BIOS, chassis) plus OS release. Recorded, not fingerprinted --\nBIOS revisions move independently of the host class.","properties":{"bios_date":{"type":"string","description":"body.host.bios_date (string field from the documented request schema)"},"bios_vendor":{"type":"string","description":"body.host.bios_vendor (string field from the documented request schema)"},"bios_version":{"type":"string","description":"body.host.bios_version (string field from the documented request schema)"},"board_name":{"type":"string","description":"body.host.board_name (string field from the documented request schema)"},"board_vendor":{"type":"string","description":"body.host.board_vendor (string field from the documented request schema)"},"os_version_id":{"type":"string","description":"body.host.os_version_id (string field from the documented request schema)"},"product_name":{"type":"string","description":"body.host.product_name (string field from the documented request schema)"}}},"hostname":{"type":"string","description":"body.hostname (string field from the documented request schema)"},"launch_determinism":{"type":"object","description":"QEMU build and the ``-cpu`` string it launches with -- both RTMR0 determinants.\nWire key is ``launch_determinism``. Its last three members restate ``numa`` and ``cpu``; they\nare declared so real submissions validate, but nothing reads them (``fingerprint`` takes those\nvalues from their canonical block, so a disagreeing copy cannot shift it).","required":true,"properties":{"cpu_args":{"type":"string","description":"body.launch_determinism.cpu_args (string field from the documented request schema)"},"host_cpu_topology":{"type":"string","description":"body.launch_determinism.host_cpu_topology (string field from the documented request schema)"},"numa_node_count":{"type":"number","description":"body.launch_determinism.numa_node_count (number field from the documented request schema)"},"numa_topology_eligible":{"type":"boolean","description":"body.launch_determinism.numa_topology_eligible (boolean field from the documented request schema)","enum":[true,false]},"qemu_version":{"type":"string","description":"body.launch_determinism.qemu_version (string field from the documented request schema)","required":true},"qemu_version_full":{"type":"string","description":"body.launch_determinism.qemu_version_full (string field from the documented request schema)"}}},"memory":{"type":"object","description":"Host RAM, which some profiles (e.g. B200) derive guest RAM from. The ``suggested_*`` fields\nare the script's own sizing advice, recorded but unused.","required":true,"properties":{"suggested_ram_per_gpu_gb":{"type":"number","description":"body.memory.suggested_ram_per_gpu_gb (number field from the documented request schema)"},"suggested_total_vm_ram_gb":{"type":"number","description":"body.memory.suggested_total_vm_ram_gb (number field from the documented request schema)"},"total_gb":{"type":"number","description":"body.memory.total_gb (number field from the documented request schema)","required":true}}},"nic":{"type":"object","description":"InfiniBand / Ethernet inventory, including passthrough-eligible NICs.","properties":{"bridge_pfs":{"type":"array","description":"body.nic.bridge_pfs (array field from the documented request schema)"},"eth_class_count":{"type":"number","description":"body.nic.eth_class_count (number field from the documented request schema)"},"ib_class_count":{"type":"number","description":"body.nic.ib_class_count (number field from the documented request schema)"},"ib_devices":{"type":"array","description":"body.nic.ib_devices (array field from the documented request schema)"},"passthrough_candidates":{"type":"array","description":"body.nic.passthrough_candidates (array field from the documented request schema)"},"passthrough_numa_nodes":{"type":"array","description":"body.nic.passthrough_numa_nodes (array field from the documented request schema)"}}},"numa":{"type":"object","description":"NUMA layout: node count, node indices, per-node cpulists.","required":true,"properties":{"cpus_per_node":{"type":"object","description":"body.numa.cpus_per_node (object field from the documented request schema)"},"node_count":{"type":"number","description":"body.numa.node_count (number field from the documented request schema)","required":true},"nodes":{"type":"array","description":"body.numa.nodes (array field from the documented request schema)"}}},"nvswitch":{"type":"object","description":"NVSwitch inventory (passthrough stubs are reproduced offline per switch).","properties":{"count":{"type":"number","description":"body.nvswitch.count (number field from the documented request schema)"},"devices":{"type":"array","description":"body.nvswitch.devices (array field from the documented request schema)"},"numa_nodes":{"type":"array","description":"body.nvswitch.numa_nodes (array field from the documented request schema)"},"present":{"type":"boolean","description":"body.nvswitch.present (boolean field from the documented request schema)","enum":[true,false]}}},"pci_topology":{"type":"string","description":"body.pci_topology (string field from the documented request schema)"},"timestamp":{"type":"string","description":"body.timestamp (string field from the documented request schema)"}}},"example":{"cpu":[{"cores_per_socket":0,"cpu_processor_id":"string","cpu_vendor":"","sockets":0,"threads_per_core":0,"total":0}],"gpu":[{"bar_size_mb":-1,"bdfs":["string"],"count":0,"numa_nodes":[0],"pci_device_ids":["string"],"vbios":["string"],"vram_gb":0}],"host":[{"bios_date":"","bios_vendor":"","bios_version":"","board_name":"","board_vendor":"","os_version_id":"","product_name":""}],"hostname":["string"],"launch_determinism":[{"cpu_args":"","host_cpu_topology":"","numa_node_count":0,"numa_topology_eligible":false,"qemu_version":"string","qemu_version_full":""}],"memory":[{"suggested_ram_per_gpu_gb":0,"suggested_total_vm_ram_gb":0,"total_gb":0}],"nic":[{"bridge_pfs":["string"],"eth_class_count":0,"ib_class_count":0,"ib_devices":["string"],"passthrough_candidates":["string"],"passthrough_numa_nodes":[0]}],"numa":[{"cpus_per_node":{},"node_count":0,"nodes":[0]}],"nvswitch":[{"count":0,"devices":["string"],"numa_nodes":[0],"present":false}],"pci_topology":["string"],"timestamp":["string"]}}}}}},"/servers/tdx/preflight":{"post":{"tags":["Servers"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"rc","in":"query","description":"Whether that image is a release-candidate (debug) build.","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"version","in":"query","description":"VM image version the caller intends to boot.","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#tdx_preflight_servers_tdx_preflight_post","api_endpoint":"https://api.chutes.ai/servers/tdx/preflight"},"summary":"Tdx Preflight","description":"Tdx Preflight | Can this exact image boot on this host? The one call a launch/upgrade preflight makes.\nA check against both a host profile and the measurement set, so it hangs off neither. The API\nfingerprints the submitted profile and answers whether a published measurement for the caller's\n`(version, rc)` carries that fingerprint -- the whole launch decision in one boolean:\n  * `launchable: true`  -> the VM will attest; launch.\n  * `launchable: false` -> register the class (POST /servers/tdx/host_profiles), then retry once\n    Chutes publishes its measurement.\nStores nothing and reveals nothing beyond the answer -- not the full measurement set, not\nwhether a profile row exists. Signed by the miner hotkey, so the signature covers the body. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"cpu":{"type":"object","description":"Host CPU topology and the identity fields RTMR0 depends on.","required":true,"properties":{"cores_per_socket":{"type":"number","description":"body.cpu.cores_per_socket (number field from the documented request schema)","required":true},"cpu_processor_id":{"type":"string","description":"body.cpu.cpu_processor_id (string field from the documented request schema)"},"cpu_vendor":{"type":"string","description":"body.cpu.cpu_vendor (string field from the documented request schema)"},"sockets":{"type":"number","description":"body.cpu.sockets (number field from the documented request schema)","required":true},"threads_per_core":{"type":"number","description":"body.cpu.threads_per_core (number field from the documented request schema)","required":true},"total":{"type":"number","description":"body.cpu.total (number field from the documented request schema)","required":true}}},"gpu":{"type":"object","description":"Passthrough GPU inventory: PCI ids and addresses, count, BAR/VRAM sizing, VBIOS.","required":true,"properties":{"bar_size_mb":{"type":"number","description":"body.gpu.bar_size_mb (number field from the documented request schema)"},"bdfs":{"type":"array","description":"body.gpu.bdfs (array field from the documented request schema)"},"count":{"type":"number","description":"body.gpu.count (number field from the documented request schema)","required":true},"numa_nodes":{"type":"array","description":"body.gpu.numa_nodes (array field from the documented request schema)"},"pci_device_ids":{"type":"array","description":"body.gpu.pci_device_ids (array field from the documented request schema)"},"vbios":{"type":"array","description":"body.gpu.vbios (array field from the documented request schema)"},"vram_gb":{"type":"number","description":"body.gpu.vram_gb (number field from the documented request schema)"}}},"host":{"type":"object","description":"DMI/SMBIOS identity (board, BIOS, chassis) plus OS release. Recorded, not fingerprinted --\nBIOS revisions move independently of the host class.","properties":{"bios_date":{"type":"string","description":"body.host.bios_date (string field from the documented request schema)"},"bios_vendor":{"type":"string","description":"body.host.bios_vendor (string field from the documented request schema)"},"bios_version":{"type":"string","description":"body.host.bios_version (string field from the documented request schema)"},"board_name":{"type":"string","description":"body.host.board_name (string field from the documented request schema)"},"board_vendor":{"type":"string","description":"body.host.board_vendor (string field from the documented request schema)"},"os_version_id":{"type":"string","description":"body.host.os_version_id (string field from the documented request schema)"},"product_name":{"type":"string","description":"body.host.product_name (string field from the documented request schema)"}}},"hostname":{"type":"string","description":"body.hostname (string field from the documented request schema)"},"launch_determinism":{"type":"object","description":"QEMU build and the ``-cpu`` string it launches with -- both RTMR0 determinants.\nWire key is ``launch_determinism``. Its last three members restate ``numa`` and ``cpu``; they\nare declared so real submissions validate, but nothing reads them (``fingerprint`` takes those\nvalues from their canonical block, so a disagreeing copy cannot shift it).","required":true,"properties":{"cpu_args":{"type":"string","description":"body.launch_determinism.cpu_args (string field from the documented request schema)"},"host_cpu_topology":{"type":"string","description":"body.launch_determinism.host_cpu_topology (string field from the documented request schema)"},"numa_node_count":{"type":"number","description":"body.launch_determinism.numa_node_count (number field from the documented request schema)"},"numa_topology_eligible":{"type":"boolean","description":"body.launch_determinism.numa_topology_eligible (boolean field from the documented request schema)","enum":[true,false]},"qemu_version":{"type":"string","description":"body.launch_determinism.qemu_version (string field from the documented request schema)","required":true},"qemu_version_full":{"type":"string","description":"body.launch_determinism.qemu_version_full (string field from the documented request schema)"}}},"memory":{"type":"object","description":"Host RAM, which some profiles (e.g. B200) derive guest RAM from. The ``suggested_*`` fields\nare the script's own sizing advice, recorded but unused.","required":true,"properties":{"suggested_ram_per_gpu_gb":{"type":"number","description":"body.memory.suggested_ram_per_gpu_gb (number field from the documented request schema)"},"suggested_total_vm_ram_gb":{"type":"number","description":"body.memory.suggested_total_vm_ram_gb (number field from the documented request schema)"},"total_gb":{"type":"number","description":"body.memory.total_gb (number field from the documented request schema)","required":true}}},"nic":{"type":"object","description":"InfiniBand / Ethernet inventory, including passthrough-eligible NICs.","properties":{"bridge_pfs":{"type":"array","description":"body.nic.bridge_pfs (array field from the documented request schema)"},"eth_class_count":{"type":"number","description":"body.nic.eth_class_count (number field from the documented request schema)"},"ib_class_count":{"type":"number","description":"body.nic.ib_class_count (number field from the documented request schema)"},"ib_devices":{"type":"array","description":"body.nic.ib_devices (array field from the documented request schema)"},"passthrough_candidates":{"type":"array","description":"body.nic.passthrough_candidates (array field from the documented request schema)"},"passthrough_numa_nodes":{"type":"array","description":"body.nic.passthrough_numa_nodes (array field from the documented request schema)"}}},"numa":{"type":"object","description":"NUMA layout: node count, node indices, per-node cpulists.","required":true,"properties":{"cpus_per_node":{"type":"object","description":"body.numa.cpus_per_node (object field from the documented request schema)"},"node_count":{"type":"number","description":"body.numa.node_count (number field from the documented request schema)","required":true},"nodes":{"type":"array","description":"body.numa.nodes (array field from the documented request schema)"}}},"nvswitch":{"type":"object","description":"NVSwitch inventory (passthrough stubs are reproduced offline per switch).","properties":{"count":{"type":"number","description":"body.nvswitch.count (number field from the documented request schema)"},"devices":{"type":"array","description":"body.nvswitch.devices (array field from the documented request schema)"},"numa_nodes":{"type":"array","description":"body.nvswitch.numa_nodes (array field from the documented request schema)"},"present":{"type":"boolean","description":"body.nvswitch.present (boolean field from the documented request schema)","enum":[true,false]}}},"pci_topology":{"type":"string","description":"body.pci_topology (string field from the documented request schema)"},"timestamp":{"type":"string","description":"body.timestamp (string field from the documented request schema)"}}},"example":{"cpu":[{"cores_per_socket":0,"cpu_processor_id":"string","cpu_vendor":"","sockets":0,"threads_per_core":0,"total":0}],"gpu":[{"bar_size_mb":-1,"bdfs":["string"],"count":0,"numa_nodes":[0],"pci_device_ids":["string"],"vbios":["string"],"vram_gb":0}],"host":[{"bios_date":"","bios_vendor":"","bios_version":"","board_name":"","board_vendor":"","os_version_id":"","product_name":""}],"hostname":["string"],"launch_determinism":[{"cpu_args":"","host_cpu_topology":"","numa_node_count":0,"numa_topology_eligible":false,"qemu_version":"string","qemu_version_full":""}],"memory":[{"suggested_ram_per_gpu_gb":0,"suggested_total_vm_ram_gb":0,"total_gb":0}],"nic":[{"bridge_pfs":["string"],"eth_class_count":0,"ib_class_count":0,"ib_devices":["string"],"passthrough_candidates":["string"],"passthrough_numa_nodes":[0]}],"numa":[{"cpus_per_node":{},"node_count":0,"nodes":[0]}],"nvswitch":[{"count":0,"devices":["string"],"numa_nodes":[0],"present":false}],"pci_topology":["string"],"timestamp":["string"]}}}}}},"/servers/signing-keys":{"get":{"tags":["Servers"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_signing_keys_servers_signing_keys_get","api_endpoint":"https://api.chutes.ai/servers/signing-keys"},"summary":"Get Signing Keys","description":"Get Signing Keys | Return the signed key bundle used by booting VMs to fetch and verify cosign/Helm keys.\nEach entry in 'keys' is a base64-encoded public key; the corresponding entry in\n'signatures' is a base64-encoded detached PGP signature produced by the root signing key.\nIntentionally public — no mTLS required. Independent third parties and auditors can\nfetch these public keys to verify TDX quotes without needing to be a VM client. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/maintenance/policy":{"get":{"tags":["Servers"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_maintenance_policy_servers_maintenance_policy_get","api_endpoint":"https://api.chutes.ai/servers/maintenance/policy"},"summary":"Get Maintenance Policy","description":"Get Maintenance Policy | Return the upgrade window, concurrency limits, and the miner's server version status.\nWhen a window is currently open, ``window_open`` is true and ``active_window`` describes it.\nWhen no window is open, we fall back to the most recently created window (``window_open``\nfalse) so miners can still see which servers remain out of date against the last target. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/{server_id}":{"patch":{"tags":["Servers"],"parameters":[{"name":"server_id","in":"path","description":"server_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"server_name","in":"query","description":"New VM name to set","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#patch_server_name_servers__server_id__patch","api_endpoint":"https://api.chutes.ai/servers/{server_id}"},"summary":"Patch Server Name","description":"Patch Server Name | Update name for an existing server. Path is server_id; query param is the new name.\nThe server row is updated when hotkey and server_id match. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"get":{"tags":["Servers"],"parameters":[{"name":"server_id","in":"path","description":"server_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_server_details_servers__server_id__get","api_endpoint":"https://api.chutes.ai/servers/{server_id}"},"summary":"Get Server Details","description":"Get Server Details | Get details for a specific server by miner hotkey and server id. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/{server_name_or_id}/maintenance/preflight":{"get":{"tags":["Servers"],"parameters":[{"name":"server_name_or_id","in":"path","description":"server_name_or_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_maintenance_preflight_servers__server_name_or_id__maintenance_preflight_get","api_endpoint":"https://api.chutes.ai/servers/{server_name_or_id}/maintenance/preflight"},"summary":"Get Maintenance Preflight","description":"Get Maintenance Preflight | Check maintenance eligibility for a server without entering maintenance. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/servers/{server_name_or_id}/maintenance":{"put":{"tags":["Servers"],"parameters":[{"name":"server_name_or_id","in":"path","description":"server_name_or_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#put_confirm_maintenance_servers__server_name_or_id__maintenance_put","api_endpoint":"https://api.chutes.ai/servers/{server_name_or_id}/maintenance"},"summary":"Put Confirm Maintenance","description":"Put Confirm Maintenance | Enter maintenance: purge instances and mark server for upgrade. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/servers/{server_name_or_id}":{"delete":{"tags":["Servers"],"parameters":[{"name":"server_name_or_id","in":"path","description":"server_name_or_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#remove_server_servers__server_name_or_id__delete","api_endpoint":"https://api.chutes.ai/servers/{server_name_or_id}"},"summary":"Remove Server","description":"Remove Server | Remove a server by miner hotkey and server id or VM name (path param server_name_or_id). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/servers/{server_id}/nonce":{"get":{"tags":["Servers"],"parameters":[{"name":"server_id","in":"path","description":"server_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_runtime_nonce_servers__server_id__nonce_get","api_endpoint":"https://api.chutes.ai/servers/{server_id}/nonce"},"summary":"Get Runtime Nonce","description":"Get Runtime Nonce | Generate a nonce for runtime attestation. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/scopes":{"get":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_scopes_idp_scopes_get","api_endpoint":"https://api.chutes.ai/idp/scopes"},"summary":"List Scopes","description":"List Scopes | List all available OAuth2 scopes with descriptions.\nThis endpoint is public and can be used for documentation or scope selection UIs. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/cli_login/nonce":{"get":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_cli_login_nonce_idp_cli_login_nonce_get","api_endpoint":"https://api.chutes.ai/idp/cli_login/nonce"},"summary":"Get Cli Login Nonce","description":"Get Cli Login Nonce | Get a nonce for CLI-based hotkey signature login. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/cli_login":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"hotkey","in":"query","description":"hotkey (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"nonce","in":"query","description":"nonce (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"signature","in":"query","description":"signature (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#cli_login_idp_cli_login_get","api_endpoint":"https://api.chutes.ai/idp/cli_login"},"summary":"Cli Login","description":"Cli Login | CLI login endpoint for hotkey signature authentication. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/apps":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"include_public","in":"query","description":"include_public (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"include_shared","in":"query","description":"include_shared (query parameter from the official API reference)","required":false,"schema":{"type":"boolean","example":"","items":{"type":"string","enum":[true,false]}}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"search","in":"query","description":"search (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"user_id","in":"query","description":"user_id (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_apps_idp_apps_get","api_endpoint":"https://api.chutes.ai/idp/apps"},"summary":"List Apps","description":"List Apps | List OAuth applications.\nBy default, returns apps owned by the current user, public apps, and apps shared with the user.\nSet include_public=false to exclude public apps.\nSet include_shared=false to exclude apps shared with the user.\nUse search to filter by name or description. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Identity Provider"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_app_idp_apps_post","api_endpoint":"https://api.chutes.ai/idp/apps"},"summary":"Create App","description":"Create App | Create a new OAuth application. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"allowed_scopes":{"type":"array","description":"body.allowed_scopes (array field from the documented request schema)","items":{"type":"string"}},"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"homepage_url":{"type":"string","description":"body.homepage_url (string field from the documented request schema)"},"logo_url":{"type":"string","description":"body.logo_url (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)","required":true},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","enum":[true,false]},"redirect_uris":{"type":"array","description":"body.redirect_uris (array field from the documented request schema)","required":true,"items":{"type":"string"}},"refresh_token_lifetime_days":{"type":"number","description":"body.refresh_token_lifetime_days (number field from the documented request schema)"}}},"example":{"allowed_scopes":[["string"]],"description":["string"],"homepage_url":["string"],"logo_url":["string"],"name":["string"],"public":[true],"redirect_uris":[["string"]],"refresh_token_lifetime_days":[30]}}}}}},"/idp/apps/{app_id}":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_app_idp_apps__app_id__get","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}"},"summary":"Get App","description":"Get App | Get details of an OAuth application. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"patch":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#update_app_idp_apps__app_id__patch","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}"},"summary":"Update App","description":"Update App | Update an OAuth application. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"active":{"type":"boolean","description":"body.active (boolean field from the documented request schema)","enum":[true,false]},"allowed_scopes":{"type":"array","description":"body.allowed_scopes (array field from the documented request schema)","items":{"type":"string"}},"description":{"type":"string","description":"body.description (string field from the documented request schema)"},"homepage_url":{"type":"string","description":"body.homepage_url (string field from the documented request schema)"},"logo_url":{"type":"string","description":"body.logo_url (string field from the documented request schema)"},"name":{"type":"string","description":"body.name (string field from the documented request schema)"},"public":{"type":"boolean","description":"body.public (boolean field from the documented request schema)","enum":[true,false]},"redirect_uris":{"type":"array","description":"body.redirect_uris (array field from the documented request schema)","items":{"type":"string"}},"refresh_token_lifetime_days":{"type":"number","description":"body.refresh_token_lifetime_days (number field from the documented request schema)"}}},"example":{"active":[false],"allowed_scopes":[["string"]],"description":["string"],"homepage_url":["string"],"logo_url":["string"],"name":["string"],"public":[false],"redirect_uris":[["string"]],"refresh_token_lifetime_days":[0]}}}}},"delete":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_app_idp_apps__app_id__delete","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}"},"summary":"Delete App","description":"Delete App | Delete an OAuth application. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/idp/apps/{app_id}/regenerate-secret":{"post":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#regenerate_app_secret_idp_apps__app_id__regenerate_secret_post","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}/regenerate-secret"},"summary":"Regenerate App Secret","description":"Regenerate App Secret | Regenerate the client secret for an OAuth application. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/idp/apps/{app_id}/share":{"post":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#share_app_idp_apps__app_id__share_post","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}/share"},"summary":"Share App","description":"Share App | Share an OAuth application with another user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"app_id_or_name":{"type":"string","description":"body.app_id_or_name (string field from the documented request schema)","required":true},"user_id_or_name":{"type":"string","description":"body.user_id_or_name (string field from the documented request schema)","required":true}}},"example":{"app_id_or_name":["string"],"user_id_or_name":["string"]}}}}}},"/idp/apps/{app_id}/share/{user_id}":{"delete":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"user_id","in":"path","description":"user_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#unshare_app_idp_apps__app_id__share__user_id__delete","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}/share/{user_id}"},"summary":"Unshare App","description":"Unshare App | Remove sharing of an OAuth application with a user. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/idp/apps/{app_id}/shares":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_app_shares_idp_apps__app_id__shares_get","api_endpoint":"https://api.chutes.ai/idp/apps/{app_id}/shares"},"summary":"List App Shares","description":"List App Shares | List users an OAuth application is shared with. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/authorizations":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"limit","in":"query","description":"limit (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}},{"name":"page","in":"query","description":"page (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_authorizations_idp_authorizations_get","api_endpoint":"https://api.chutes.ai/idp/authorizations"},"summary":"List Authorizations","description":"List Authorizations | List apps the current user has authorized. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/authorizations/{app_id}":{"delete":{"tags":["Identity Provider"],"parameters":[{"name":"app_id","in":"path","description":"app_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#revoke_app_authorization_idp_authorizations__app_id__delete","api_endpoint":"https://api.chutes.ai/idp/authorizations/{app_id}"},"summary":"Revoke App Authorization","description":"Revoke App Authorization | Revoke authorization for an app. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/idp/authorize":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"client_id","in":"query","description":"client_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"code_challenge","in":"query","description":"code_challenge (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"code_challenge_method","in":"query","description":"code_challenge_method (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"redirect_uri","in":"query","description":"redirect_uri (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"response_type","in":"query","description":"response_type (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"scope","in":"query","description":"scope (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"state","in":"query","description":"state (query parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#authorize_get_idp_authorize_get","api_endpoint":"https://api.chutes.ai/idp/authorize"},"summary":"Authorize Get","description":"Authorize Get | OAuth2 Authorization Endpoint.\nDisplays login page if not authenticated, consent page if authenticated.\nChecks for existing chutes-session-token cookie for SSO. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/login":{"post":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#login_post_idp_login_post","api_endpoint":"https://api.chutes.ai/idp/login"},"summary":"Login Post","description":"Login Post | Handle login form submission. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"auth_method":{"type":"string","description":"body.auth_method (string field from the documented request schema)","required":true},"client_id":{"type":"string","description":"body.client_id (string field from the documented request schema)","required":true},"code_challenge":{"type":"string","description":"body.code_challenge (string field from the documented request schema)"},"code_challenge_method":{"type":"string","description":"body.code_challenge_method (string field from the documented request schema)"},"fingerprint":{"type":"string","description":"body.fingerprint (string field from the documented request schema)"},"hotkey":{"type":"string","description":"body.hotkey (string field from the documented request schema)"},"nonce":{"type":"string","description":"body.nonce (string field from the documented request schema)"},"redirect_uri":{"type":"string","description":"body.redirect_uri (string field from the documented request schema)","required":true},"scope":{"type":"string","description":"body.scope (string field from the documented request schema)"},"signature":{"type":"string","description":"body.signature (string field from the documented request schema)"},"state":{"type":"string","description":"body.state (string field from the documented request schema)"}}},"example":{"auth_method":["string"],"client_id":["string"],"code_challenge":[""],"code_challenge_method":[""],"fingerprint":["string"],"hotkey":["string"],"nonce":["string"],"redirect_uri":["string"],"scope":[""],"signature":["string"],"state":[""]}}}}}},"/idp/authorize/consent":{"get":{"tags":["Identity Provider"],"parameters":[{"name":"session_id","in":"query","description":"session_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#authorize_consent_page_idp_authorize_consent_get","api_endpoint":"https://api.chutes.ai/idp/authorize/consent"},"summary":"Authorize Consent Page","description":"Authorize Consent Page | Show authorization consent page. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Identity Provider"],"parameters":[{"name":"session_id","in":"query","description":"session_id (query parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#authorize_consent_idp_authorize_consent_post","api_endpoint":"https://api.chutes.ai/idp/authorize/consent"},"summary":"Authorize Consent","description":"Authorize Consent | Handle authorization consent form submission. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"action":{"type":"string","description":"body.action (string field from the documented request schema)","required":true}}},"example":{"action":["string"]}}}}}},"/idp/token":{"post":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#token_endpoint_idp_token_post","api_endpoint":"https://api.chutes.ai/idp/token"},"summary":"Token Endpoint","description":"Token Endpoint | OAuth2 Token Endpoint. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"client_id":{"type":"string","description":"body.client_id (string field from the documented request schema)"},"client_secret":{"type":"string","description":"body.client_secret (string field from the documented request schema)"},"code":{"type":"string","description":"body.code (string field from the documented request schema)"},"code_verifier":{"type":"string","description":"body.code_verifier (string field from the documented request schema)"},"grant_type":{"type":"string","description":"body.grant_type (string field from the documented request schema)","required":true},"redirect_uri":{"type":"string","description":"body.redirect_uri (string field from the documented request schema)"},"refresh_token":{"type":"string","description":"body.refresh_token (string field from the documented request schema)"}}},"example":{"client_id":["string"],"client_secret":["string"],"code":["string"],"code_verifier":["string"],"grant_type":["string"],"redirect_uri":["string"],"refresh_token":["string"]}}}}}},"/idp/token/revoke":{"post":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#revoke_token_endpoint_idp_token_revoke_post","api_endpoint":"https://api.chutes.ai/idp/token/revoke"},"summary":"Revoke Token Endpoint","description":"Revoke Token Endpoint | OAuth2 Token Revocation Endpoint (RFC 7009). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"token":{"type":"string","description":"body.token (string field from the documented request schema)","required":true},"token_type_hint":{"type":"string","description":"body.token_type_hint (string field from the documented request schema)"}}},"example":{"token":["string"],"token_type_hint":["string"]}}}}}},"/idp/userinfo":{"get":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#userinfo_endpoint_idp_userinfo_get","api_endpoint":"https://api.chutes.ai/idp/userinfo"},"summary":"Userinfo Endpoint","description":"Userinfo Endpoint | OpenID Connect UserInfo Endpoint. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/idp/token/introspect":{"post":{"tags":["Identity Provider"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#introspect_token_idp_token_introspect_post","api_endpoint":"https://api.chutes.ai/idp/token/introspect"},"summary":"Introspect Token","description":"Introspect Token | OAuth2 Token Introspection Endpoint (RFC 7662).\nToken format includes embedded token_id for O(1) lookup, so client auth is optional.\nAllows clients to check if a token is still valid and get metadata about it.\nUseful for determining if a user needs to re-authenticate.\nReturns:\n    - active: Whether the token is currently valid\n    - exp: Expiration timestamp (Unix epoch)\n    - iat: Issued at timestamp\n    - scope: Space-separated list of scopes\n    - client_id: The client that the token was issued to\n    - username: The user's username\n    - sub: The user's ID | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"client_id":{"type":"string","description":"body.client_id (string field from the documented request schema)"},"client_secret":{"type":"string","description":"body.client_secret (string field from the documented request schema)"},"token":{"type":"string","description":"body.token (string field from the documented request schema)","required":true},"token_type_hint":{"type":"string","description":"body.token_type_hint (string field from the documented request schema)"}}},"example":{"client_id":["string"],"client_secret":["string"],"token":["string"],"token_type_hint":["string"]}}}}}},"/e2e/instances/{chute_id}":{"get":{"tags":["E2E Encryption"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_e2e_instances_e2e_instances__chute_id__get","api_endpoint":"https://api.chutes.ai/e2e/instances/{chute_id}"},"summary":"Get E2E Instances","description":"Get E2E Instances | Discover E2E-capable instances for a chute and get nonces for invocation. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/e2e/invoke":{"post":{"tags":["E2E Encryption"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chute-Id","in":"query","description":"X-Chute-Id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-E2E-Nonce","in":"query","description":"X-E2E-Nonce (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"X-E2E-Path","in":"query","description":"X-E2E-Path (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-E2E-Stream","in":"query","description":"X-E2E-Stream (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-E2EE-Usage-Passthrough","in":"query","description":"X-E2EE-Usage-Passthrough (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Instance-Id","in":"query","description":"X-Instance-Id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#e2e_invoke_e2e_invoke_post","api_endpoint":"https://api.chutes.ai/e2e/invoke"},"summary":"E2E Invoke","description":"E2E Invoke | Relay an E2E encrypted invocation to a specific instance. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/encrypted_logs/{chute_id}/sessions":{"get":{"tags":["Encrypted Logs"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_encrypted_log_sessions_encrypted_logs__chute_id__sessions_get","api_endpoint":"https://api.chutes.ai/encrypted_logs/{chute_id}/sessions"},"summary":"List Encrypted Log Sessions","description":"List Encrypted Log Sessions | List encrypted log capture sessions for a chute (owner only). | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/encrypted_logs/{chute_id}/sessions/{instance_id}/chunks":{"get":{"tags":["Encrypted Logs"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"instance_id","in":"path","description":"instance_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_encrypted_log_chunks_encrypted_logs__chute_id__sessions__instance_id__chunks_get","api_endpoint":"https://api.chutes.ai/encrypted_logs/{chute_id}/sessions/{instance_id}/chunks"},"summary":"List Encrypted Log Chunks","description":"List Encrypted Log Chunks | Fetch encrypted log chunks for a specific instance (owner only).\nReturns a list of base64-encoded encrypted chunks. The client must\nuse the ephemeral_pubkey from the session metadata + their private\nkey to ECDH-decrypt each chunk. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/logs/debug/{chute_id}":{"get":{"tags":["Logs"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_debug_override_logs_debug__chute_id__get","api_endpoint":"https://api.chutes.ai/logs/debug/{chute_id}"},"summary":"Get Debug Override","description":"Get Debug Override | Report whether the per-chute log-capture debug override is enabled. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"put":{"tags":["Logs"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"ttl_seconds","in":"query","description":"ttl_seconds (query parameter from the official API reference)","required":false,"schema":{"type":"number","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#set_debug_override_logs_debug__chute_id__put","api_endpoint":"https://api.chutes.ai/logs/debug/{chute_id}"},"summary":"Set Debug Override","description":"Set Debug Override | Enable log capture past instance activation for one chute (debugging).\nNOTE: this captures post-activation chute stdout for the window it is enabled. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}},"delete":{"tags":["Logs"],"parameters":[{"name":"chute_id","in":"path","description":"chute_id (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#clear_debug_override_logs_debug__chute_id__delete","api_endpoint":"https://api.chutes.ai/logs/debug/{chute_id}"},"summary":"Clear Debug Override","description":"Clear Debug Override | Disable the per-chute log-capture debug override. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/model_aliases/":{"get":{"tags":["Model Aliases"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#list_aliases_model_aliases__get","api_endpoint":"https://api.chutes.ai/model_aliases/"},"summary":"List Aliases","description":"List Aliases | List Aliases | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]},"post":{"tags":["Model Aliases"],"parameters":[{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#create_or_update_alias_model_aliases__post","api_endpoint":"https://api.chutes.ai/model_aliases/"},"summary":"Create Or Update Alias","description":"Create Or Update Alias | Create Or Update Alias | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"alias":{"type":"string","description":"body.alias (string field from the documented request schema)","required":true},"chute_ids":{"type":"array","description":"body.chute_ids (array field from the documented request schema)","required":true,"items":{"type":"string"}}}},"example":{"alias":["string"],"chute_ids":[["string"]]}}}}}},"/model_aliases/{alias}":{"delete":{"tags":["Model Aliases"],"parameters":[{"name":"alias","in":"path","description":"alias (path parameter from the official API reference)","required":true,"schema":{"type":"string","example":""}},{"name":"Authorization","in":"query","description":"Authorization (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Hotkey","in":"query","description":"X-Chutes-Hotkey (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Nonce","in":"query","description":"X-Chutes-Nonce (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}},{"name":"X-Chutes-Signature","in":"query","description":"X-Chutes-Signature (path parameter from the official API reference)","required":false,"schema":{"type":"string","example":""}}],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#delete_alias_model_aliases__alias__delete","api_endpoint":"https://api.chutes.ai/model_aliases/{alias}"},"summary":"Delete Alias","description":"Delete Alias | Delete Alias | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}],"requestBody":{"description":"","required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{}},"example":{}}}}}},"/ping":{"get":{"tags":["Default"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#ping_ping_get","api_endpoint":"https://api.chutes.ai/ping"},"summary":"Ping","description":"Ping | Ping | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/_metrics":{"get":{"tags":["Default"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#get_latest_metrics__metrics_get","api_endpoint":"https://api.chutes.ai/_metrics"},"summary":"Get Latest Metrics","description":"Get Latest Metrics | Get Latest Metrics | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}},"/.well-known/openid-configuration":{"get":{"tags":["Default"],"parameters":[],"responses":{"401":{"description":"Bearer token required (Authorization header)","content":{"application/json":{}}}},"externalDocs":{"api_ref":"https://chutes.ai/docs/api-reference/overview#openid_configuration_root__well_known_openid_configuration_get","api_endpoint":"https://api.chutes.ai/.well-known/openid-configuration"},"summary":"Openid Configuration Root","description":"Openid Configuration Root | OpenID Connect Discovery endpoint. | Source: official OpenAPI spec at https://api.chutes.ai/openapi.json","security":[{"bearerAuth":[]}]}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}}},"security":[{"bearerAuth":[]}]}