from hedra import Hedra
client = Hedra(api_key="YOUR_API_KEY")
client.log_drains.delete_log_drain(
drain_id="drain_id",
)
import { HedraClient } from "@hedra/sdk";
const client = new HedraClient({ apiKey: "YOUR_API_KEY" });
await client.logDrains.deleteLogDrain("drain_id");
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Hedra","description":"Hedra infrastructure for multimodal inference: image understanding, reasoning, model jobs, and production operations. Explore World Model Runtime and research-preview capabilities.","colors":{"primary":"#181818","light":"#F8F8F8","dark":"#D0D0D0"},"logo":{"light":"https://mintcdn.com/hedra-4d7e9d2a/jYwhAQjixov0KnXE/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=jYwhAQjixov0KnXE\u0026q=85\u0026s=4c354f051ebb28896959c4951b5c0311","dark":"https://mintcdn.com/hedra-4d7e9d2a/jYwhAQjixov0KnXE/assets/logo/dark.svg?fit=max\u0026auto=format\u0026n=jYwhAQjixov0KnXE\u0026q=85\u0026s=6b91fedc506a8c18fcee62497d938df3","href":"https://www.hedra.com"},"favicon":"https://mintcdn.com/hedra-4d7e9d2a/LkBDA2Zq5RyZS9Am/assets/favicon.svg?fit=max\u0026auto=format\u0026n=LkBDA2Zq5RyZS9Am\u0026q=85\u0026s=09550c25222ce2c13da7dec5d6e5ea78","api":{"examples":{"autogenerate":false}},"appearance":{"default":"system"},"background":{"color":{"light":"#E3E3E3","dark":"#181818"}},"navbar":{"links":[{"href":"https://www.hedra.com/develop/api-keys","label":"Get an API key"}]},"footer":{"socials":{"x":"https://x.com/hedra_labs","github":"https://github.com/hedra-labs","linkedin":"https://linkedin.com/company/hedra-labs","discord":"https://discord.com/invite/KXeUUa6cXD"}},"seo":{"metatags":{"canonical":"https://www.hedra.com/docs"},"indexing":"all"},"fonts":{"family":"Geist"},"icons":{"library":"tabler"},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","claude","perplexity","chatgpt"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"Support","icon":"headset","href":"https://www.hedra.com/support"},{"anchor":"Community","icon":"discord","href":"https://discord.com/invite/KXeUUa6cXD"},{"anchor":"Models","icon":"layout-grid","href":"https://www.hedra.com/develop/models"},{"anchor":"Console","icon":"layout-dashboard","href":"https://www.hedra.com/develop"},{"anchor":"MCP server","icon":"plug","href":"/pages/developer/v3/mcp"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hedra-4d7e9d2a","hasAudioNarration":false,"actualSubdomain":"hedra-4d7e9d2a","customDomains":["www.hedra.com"],"gitSource":{"type":"github","owner":"hedra-labs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adbd515a4165772661cc4c8","collectionId":"ab7e987a-348b-4e12-b639-163a7b5e9daf","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbd515a4165772661cc4c8"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3e28f9f0e893b90f94e27","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Developer platform","count":169},{"language":"default","tag":"API Reference","count":144},{"language":"default","tag":"Run a model","count":107},{"language":"default","tag":"Webhooks","count":10},{"language":"default","tag":"Managed inference","count":9},{"language":"default","tag":"Models","count":7},{"language":"default","tag":"Start here","count":6},{"language":"default","tag":"Access","count":6},{"language":"default","tag":"Log drains","count":6},{"language":"default","tag":"Jobs","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@hedra.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"#content-area:has(.page-header) #header .prose,#content-area:has(.page-header) #page-title,body:has(.page-header) #table-of-contents-content a[href=\"#hedra-developer-platform\"],body:has(.page-header) #table-of-contents-content a[href=\"#legacy-hedra-api-quickstart-guide\"]{display:none}.page-header{margin-top:-1rem}.page-header h1{margin:0;font-size:1.875rem;font-weight:600;letter-spacing:-.025em;line-height:2.25rem}@media (min-width:640px){.page-header h1{font-size:2.25rem;line-height:2.5rem}}.page-header p{margin-top:.25rem;font-size:1.25rem;font-weight:500;letter-spacing:-.01em;line-height:1.75rem;color:rgb(107 114 128)}@media (min-width:640px){.page-header p{font-size:1.5rem;line-height:2rem}}.dark .page-header p{color:rgb(156 163 175)}"}],"page":{"pagePath":"api-reference/v3/log-drains/delete-log-drain","slug":"/api-reference/v3/log-drains/delete-log-drain","pageMetadata":{"title":"Delete Log Drain","description":null,"deprecated":null,"version":null,"openapi":"/openapi-v3.json delete /log-drains/{drain_id}","href":"/api-reference/v3/log-drains/delete-log-drain","autogeneratedByOpenApi":true},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Delete Log Drain","description":null,"deprecated":null,"version":null,"openapi":"/openapi-v3.json delete /log-drains/{drain_id}","href":"/api-reference/v3/log-drains/delete-log-drain","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Log drains"],"summary":"Delete Log Drain","operationId":"log_drains_delete_log_drain","parameters":["11394b02-b452-4e81-a330-93316dff2329"],"responses":{"204":"60a49f63-adc2-4bbb-821c-7acd260be746","400":"7e248301-8575-49c8-8f18-ce015d3ee6e2","401":"ba727e0d-b3fa-4dbc-8064-f90c39a57f06","403":"153d29a7-1062-48d1-b904-2e5c5fd68a1b","404":"62b47be5-aca4-46e0-a263-b67599011e48","429":"1275cc68-8202-49d1-b24d-9ec4f2a01f75","500":"000bbab6-8dc1-4042-bc60-e50c8cab3df9"},"security":["e1df11f7-155f-43c4-bf1a-8a1fb6a5610f","300d26b8-061f-43e8-ae4a-015e21fb0714"],"x-codeSamples":[{"lang":"bash","label":"cURL","source":"curl -X DELETE \"https://api.hedra.com/v3/log-drains/{drain_id}\" \\\n -H \"Authorization: Bearer $HEDRA_API_KEY\"\n"},{"lang":"python","label":"hedra-python","source":"from hedra import Hedra\n\nclient = Hedra(api_key=\"YOUR_API_KEY\")\n\nclient.log_drains.delete_log_drain(\n drain_id=\"drain_id\",\n)\n"},{"lang":"typescript","label":"hedra-node","source":"import { HedraClient } from \"@hedra/sdk\";\n\nconst client = new HedraClient({ apiKey: \"YOUR_API_KEY\" });\n\nawait client.logDrains.deleteLogDrain(\"drain_id\");\n"}],"method":"delete","type":"path","servers":["38f3fc4d-5cde-4681-b47a-ee148dcc338e"],"path":"/log-drains/{drain_id}","baseUrlOptions":["https://api.hedra.com/v3"],"title":"Delete Log Drain","description":"","codeSamples":[{"label":"cURL","lang":"bash","source":"curl -X DELETE \"https://api.hedra.com/v3/log-drains/{drain_id}\" \\\n -H \"Authorization: Bearer $HEDRA_API_KEY\"\n"},{"label":"hedra-python","lang":"python","source":"from hedra import Hedra\n\nclient = Hedra(api_key=\"YOUR_API_KEY\")\n\nclient.log_drains.delete_log_drain(\n drain_id=\"drain_id\",\n)\n"},{"label":"hedra-node","lang":"typescript","source":"import { HedraClient } from \"@hedra/sdk\";\n\nconst client = new HedraClient({ apiKey: \"YOUR_API_KEY\" });\n\nawait client.logDrains.deleteLogDrain(\"drain_id\");\n"}],"requiredOnlyExamples":false,"disableCodeSampleGeneration":true,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"11394b02-b452-4e81-a330-93316dff2329":{"name":"drain_id","in":"path","required":true,"schema":{"type":"string","description":"The drain's id (`drain_\u003cuuid>`).","title":"Drain Id","isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"The drain's id (`drain_\u003cuuid>`)."}},"responses":{"60a49f63-adc2-4bbb-821c-7acd260be746":{"description":"Successful Response","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"7e248301-8575-49c8-8f18-ce015d3ee6e2":{"description":"Invalid or failed-validation request.","content":{"application/json":{"examples":{"field_validation":{"title":"field_validation","value":{"error":{"code":"INVALID_ARGUMENT","message":"2 input fields are invalid; see details.","retryable":false,"param":"input.aspect_ratio","details":[{"field":"input.aspect_ratio","message":"input.aspect_ratio: Input should be '16:9', '9:16' or '1:1'","reason":"enum"},{"field":"input.duration_ms","message":"input.duration_ms: Input should be greater than or equal to 1000","reason":"minimum"}]}}},"expired_file_handle":{"title":"expired_file_handle","value":{"error":{"code":"INVALID_ARGUMENT","message":"input.images[0]: the POST /v3/files url expired at 2026-07-28T23:31:12+00:00. Upload the file again and submit with the fresh url.","retryable":false,"param":"input.images[0]","details":[{"field":"input.images[0]","message":"input.images[0]: the POST /v3/files url expired at 2026-07-28T23:31:12+00:00. Upload the file again and submit with the fresh url.","reason":"expired"}]}}},"unsupported_model":{"title":"unsupported_model","value":{"error":{"code":"FAILED_PRECONDITION","message":"Model 'some-model' (VIDEO_STITCHING) is not supported on v3 yet.","retryable":false}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"ba727e0d-b3fa-4dbc-8064-f90c39a57f06":{"description":"Authentication failed: missing, malformed, or invalid credentials.","content":{"application/json":{"examples":{"missing_credentials":{"title":"missing_credentials","value":{"error":{"code":"UNAUTHORIZED","message":"Missing credentials. Send 'Authorization: Key \u003ckey_id>:\u003csecret>' or 'Authorization: Bearer \u003ctoken>'.","retryable":false}}},"invalid_key":{"title":"invalid_key","value":{"error":{"code":"UNAUTHORIZED","message":"Invalid API key.","retryable":false}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"153d29a7-1062-48d1-b904-2e5c5fd68a1b":{"description":"Insufficient scope or plan.","content":{"application/json":{"examples":{"no_workspace_access":{"title":"no_workspace_access","value":{"error":{"code":"PERMISSION_DENIED","message":"The key's owner is no longer a member of its workspace.","retryable":false}}},"missing_scope":{"title":"missing_scope","value":{"error":{"code":"PERMISSION_DENIED","message":"Key is missing required scope(s): jobs:write.","retryable":false}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"62b47be5-aca4-46e0-a263-b67599011e48":{"description":"Resource not found.","content":{"application/json":{"examples":{"job_not_found":{"title":"job_not_found","value":{"error":{"code":"NOT_FOUND","message":"Job not found.","retryable":false}}},"model_not_found":{"title":"model_not_found","value":{"error":{"code":"NOT_FOUND","message":"Model 'some-model' not found.","retryable":false}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"1275cc68-8202-49d1-b24d-9ec4f2a01f75":{"description":"Rate limit exceeded.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"Request budget for the current window.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix epoch second the window resets at.","schema":{"type":"integer"}}},"content":{"application/json":{"examples":{"rate_limited":{"title":"rate_limited","value":{"error":{"code":"RESOURCE_EXHAUSTED","message":"Request rate limit exceeded: this API key is limited to 60 requests per 60s. Retry after 30s. To follow job progress without polling, stream job status (https://www.hedra.com/docs/api-reference/v3/jobs/stream-job) or subscribe to webhooks (https://www.hedra.com/docs/api-reference/v3/webhooks).","retryable":true,"retry_after":30}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"},"000bbab6-8dc1-4042-bc60-e50c8cab3df9":{"description":"Internal error.","content":{"application/json":{"examples":{"internal":{"title":"internal","value":{"error":{"code":"INTERNAL","message":"An unexpected error occurred","retryable":false}}}},"schema":{"properties":{"error":{"properties":{"code":{"type":"string","enum":["UNKNOWN","INVALID_ARGUMENT","NOT_FOUND","GONE","ALREADY_EXISTS","ALREADY_IN_PROGRESS","UNAUTHORIZED","PERMISSION_DENIED","INSUFFICIENT_BALANCE","MODERATION_FAILED","FAILED_PRECONDITION","CANCELLED","DEADLINE_EXCEEDED","RESOURCE_EXHAUSTED","UNAVAILABLE","INTERNAL"],"title":"ErrorCode","description":"Universal error code space. Modeled after gRPC status codes.\n\nEvery exception in the system carries an ErrorCode. SDK clients map\n3rd-party errors to these codes at the lowest level. Retry logic,\nHTTP status mapping, and OTEL metrics all key off this enum.\n\nNOTE: The semantic meaning of these error codes is roughly mapped from the\n semantic of the gRPC status codes: see\n https://grpc.io/docs/guides/status-codes/ for details.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable summary of the error. Fixed per condition — match on `code`, not on this text.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retryable":{"type":"boolean","title":"Retryable","description":"Whether retrying the same request can succeed. Describes the condition, not a promise — pair with `retry_after` when present.","default":false,"uniqueKey":"error.retryable","typeLabel":"boolean"},"retry_after":{"oneOf":[{"type":"integer","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Retry After","description":"Seconds to wait before retrying; set when the error is retryable. Mirrors the `Retry-After` response header.","uniqueKey":"error.retry_after.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.retry_after","typeLabel":"integer | null"},"param":{"oneOf":[{"type":"string","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","title":"Param","description":"The primary offending input field, when the error is about one specific field.","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"details":{"oneOf":[{"type":"array","items":{"properties":{"field":{"type":"string","title":"Field","description":"Dotted path to the offending input (e.g. `input.resolution`).","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","title":"Message","description":"What is wrong with this field's value.","isRequired":true,"uniqueKey":"error.details.oneOf.0.items.[INDEX].message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Machine-readable hint for which constraint failed (\"required\", \"enum\", \"type\", …).","uniqueKey":"error.details.oneOf.0.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].reason","typeLabel":"string | null"},"allowed":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Allowed","description":"Accepted values for an enum, or accepted field names on the first unknown-field violation. Omitted on subsequent unknown fields.","uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details.oneOf.0.items.[INDEX].allowed","typeLabel":"string[] | null"}},"type":"object","required":["field","message"],"title":"FieldError","description":"One field-level validation problem in a request body.\n\n`field` is the dotted path to the offending input (e.g. `input.resolution`);\n`allowed` lists the accepted values when the field is an enum, so a caller\ncan fix it without re-fetching the model schema.","uniqueKey":"error.details.oneOf.0.items.[INDEX]","typeLabel":"FieldError · object"},"title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.0","typeLabel":"FieldError · object[]"},{"type":"null","title":"Details","description":"Every field-level problem, when the error is a validation failure — all of them at once, not just the first.","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"FieldError · object[] | null"},"replaced_by":{"oneOf":[{"type":"string","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.0","typeLabel":"string"},{"type":"null","title":"Replaced By","description":"The id of a successor model, set when the requested model has been retired (code `GONE`) and replaced; null otherwise. Lets a client programmatically migrate off a retired model.","uniqueKey":"error.replaced_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.replaced_by","typeLabel":"string | null"},"billing":{"oneOf":[{"type":"object","title":"BillingError","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","required":["balance","funding_url"],"properties":{"balance":{"type":"number","title":"Balance","description":"Spendable balance on the account this request bills, at the moment it was refused. The same value `GET /balance` returns.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.balance","typeLabel":"number"},"funding_url":{"type":"string","title":"Funding Url","description":"Where a human can add funds to the account this request bills. The API itself cannot add them.","isRequired":true,"uniqueKey":"error.billing.oneOf.0.funding_url","typeLabel":"string"},"required":{"oneOf":[{"type":"number","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.0","typeLabel":"number"},{"type":"null","title":"Required","description":"What this request needed. Null when the refusal is a funding precondition rather than a priced one — an upload is not priced, and some models cannot be quoted until their inputs are measured (`POST /models/{model}/estimate` says so explicitly).","uniqueKey":"error.billing.oneOf.0.required.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.required","typeLabel":"number | null"},"currency":{"type":"string","title":"Currency","description":"ISO-4217 code the amounts above are denominated in.","default":"USD","uniqueKey":"error.billing.oneOf.0.currency","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","description":"Why the automatic top-up did not fund the balance, when known. `card_declined`: the card that pays for automatic top-ups was declined, and the payment method must be updated on the billing page before a top-up can succeed. Clients MUST tolerate unrecognized values: new reasons may be added at any time.","uniqueKey":"error.billing.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing.oneOf.0.reason","typeLabel":"string | null"}},"uniqueKey":"error.billing.oneOf.0","typeLabel":"BillingError · object"},{"type":"null","description":"Balance, price, and where to add funds — set when the request was refused for funds (code `INSUFFICIENT_BALANCE`); null otherwise.","uniqueKey":"error.billing.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.billing","typeLabel":"BillingError · object | null"}},"type":"object","required":["code","message"],"title":"ErrorEnvelope","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorEnvelope · object"},"trace_id":{"oneOf":[{"type":"string","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Trace Id","description":"Debug id to quote to support (32-char hex trace id), also emitted as the `X-Trace-Id` response header.","uniqueKey":"trace_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"trace_id","typeLabel":"string | null"}},"type":"object","required":["error"],"title":"ErrorResponse","description":"Top-level error body: ``{\"error\": {...}}`` plus a debug id.","uniqueKey":"","typeLabel":"ErrorResponse · object"},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"e1df11f7-155f-43c4-bf1a-8a1fb6a5610f":{"KeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"Primary scheme: `Authorization: Key \u003ckey_id>:\u003csecret>`.","scopes":[],"schemeName":"KeyAuth"}},"300d26b8-061f-43e8-ae4a-015e21fb0714":{"BearerToken":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer \u003ccredential>` — accepts an API key (`\u003ckey_id>:\u003csecret>`) or an ephemeral browser token minted via `POST /tokens` (inherits the minting key's scopes and workspace).","scopes":[],"schemeName":"BearerToken"}}},"servers":{"38f3fc4d-5cde-4681-b47a-ee148dcc338e":{"url":"https://api.hedra.com/v3"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"Primary scheme: `Authorization: Key \u003ckey_id>:\u003csecret>`.","scopes":[],"schemeName":"KeyAuth"},"schema":{"title":"Authorization","type":"string","description":"Primary scheme: `Authorization: Key \u003ckey_id>:\u003csecret>`.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"KeyAuth","name":"Authorization"}],"title":"KeyAuth"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"`Authorization: Bearer \u003ccredential>` — accepts an API key (`\u003ckey_id>:\u003csecret>`) or an ephemeral browser token minted via `POST /tokens` (inherits the minting key's scopes and workspace).","scopes":[],"schemeName":"BearerToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"`Authorization: Bearer \u003ccredential>` — accepts an API key (`\u003ckey_id>:\u003csecret>`) or an ephemeral browser token minted via `POST /tokens` (inherits the minting key's scopes and workspace).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerToken","name":"Authorization"}],"title":"BearerToken"}]},"originalFileLocation":"openapi-v3.json"},"subdomain":"hedra-4d7e9d2a","siteName":"Hedra","title":"Delete Log Drain - Hedra","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T00:19:40.459Z","originalFileLocation":"api-reference/v3/log-drains/delete-log-drain.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Hedra\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Delete Log Drain - Hedra\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hedra\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hedra-4d7e9d2a.mintlify.app/_mintlify/api/og/v2?division=Log+drains\u0026amp;title=Delete+Log+Drain\u0026amp;theme=12727432d790d862256ede18\u0026amp;signature=985bc6e15d784d64f8bf3b4ff3b87deee320315ba057ba7643f8830413f9c5f2\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Delete Log Drain - Hedra\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hedra-4d7e9d2a.mintlify.app/_mintlify/api/og/v2?division=Log+drains\u0026amp;title=Delete+Log+Drain\u0026amp;theme=12727432d790d862256ede18\u0026amp;signature=985bc6e15d784d64f8bf3b4ff3b87deee320315ba057ba7643f8830413f9c5f2\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/hedra-4d7e9d2a/wPbtQWmmh9-sZn_J/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hedra\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#181818\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/v3/log-drains/delete-log-drain.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.hedra.com/#organization\",\"name\":\"Hedra\",\"url\":\"https://www.hedra.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hedra-4d7e9d2a/jYwhAQjixov0KnXE/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=jYwhAQjixov0KnXE\u0026q=85\u0026s=4c354f051ebb28896959c4951b5c0311\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.hedra.com/docs#website\",\"name\":\"Hedra\",\"url\":\"https://www.hedra.com/docs\",\"publisher\":{\"@id\":\"https://www.hedra.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain#webpage\",\"url\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain\",\"name\":\"Delete Log Drain\",\"dateModified\":\"2026-10-30T00:19:40.459Z\",\"isPartOf\":{\"@id\":\"https://www.hedra.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://www.hedra.com/docs/api-reference/v3/run-a-model/run-creatify-aurora-creatify-aurora\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Log drains\",\"item\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/list-log-drains\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Delete Log Drain\",\"item\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain#apireference\",\"headline\":\"Delete Log Drain\",\"name\":\"Delete Log Drain\",\"url\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain\",\"mainEntityOfPage\":{\"@id\":\"https://www.hedra.com/docs/api-reference/v3/log-drains/delete-log-drain#webpage\"},\"dateModified\":\"2026-10-30T00:19:40.459Z\",\"publisher\":{\"@id\":\"https://www.hedra.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.hedra.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hedra\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hedra","nav":{"global":{"anchors":[{"anchor":"Support","icon":"headset","href":"https://www.hedra.com/support"},{"anchor":"Community","icon":"discord","href":"https://discord.com/invite/KXeUUa6cXD"},{"anchor":"Models","icon":"layout-grid","href":"https://www.hedra.com/develop/models"},{"anchor":"Console","icon":"layout-dashboard","href":"https://www.hedra.com/develop"},{"anchor":"MCP server","icon":"plug","href":"/pages/developer/v3/mcp"}]},"products":[{"product":"Developer platform","icon":"code","description":"Multimodal inference and post-training","groups":[{"group":"Start here","pages":[{"title":"Hedra Developer Documentation","sidebarTitle":"Overview","href":""},{"title":"Run vision and reasoning inference","sidebarTitle":"Quickstart","href":"/pages/developer/v3/quickstart"},{"title":"Hedra infrastructure and availability","sidebarTitle":"Platform and availability","href":"/pages/developer/v3/platform"},{"title":"Connect Claude, Cursor, Codex and ChatGPT to the Hedra MCP server","sidebarTitle":"MCP server","href":"/pages/developer/v3/mcp"},{"title":"Authentication and API keys","href":"/pages/developer/v3/authentication"},{"title":"Pricing and API billing","href":"/pages/developer/v3/billing"}]},{"group":"Managed inference","pages":[{"title":"Choose a model","sidebarTitle":"Model catalog","href":"/pages/developer/v3/model-catalog"},{"title":"Call LLMs with the OpenAI or Anthropic SDK","sidebarTitle":"Chat completions","href":"/pages/developer/v3/chat-completions"},{"title":"Run an asynchronous model job","sidebarTitle":"Model jobs","href":"/pages/developer/v3/model-jobs"},{"title":"Generate an image","href":"/pages/developer/v3/generate-image"},{"title":"Generate a video","href":"/pages/developer/v3/generate-video"},{"title":"Generate speech","href":"/pages/developer/v3/generate-audio"},{"title":"Upload files and reuse outputs","href":"/pages/developer/v3/files"},{"title":"Chain v3 generations with asset_id","sidebarTitle":"Chain generations","href":"/pages/developer/v3/chain-generations"},{"title":"Quality levels: pick v3 model tiers with input.quality","sidebarTitle":"Quality levels","href":"/pages/developer/v3/quality-levels"}]},{"group":"Production operations","pages":[{"title":"Show a v3 job's progress and estimated completion time","sidebarTitle":"Job progress","href":"/pages/developer/v3/job-progress"},{"title":"Receive job results with webhooks","sidebarTitle":"Webhooks","href":"/pages/developer/v3/webhooks"},{"title":"Stream job logs with log drains","sidebarTitle":"Log drains","href":"/pages/developer/v3/log-drains"},{"title":"Errors, limits, and retries","href":"/pages/developer/v3/errors-and-retries"}]},{"group":"SDKs and tools","pages":[{"title":"SDKs and developer tools","href":"/pages/developer/v3/sdks"},{"title":"Run coding agents on open-weight models","sidebarTitle":"Coding agents","href":"/pages/developer/v3/coding-agents"}]},{"group":"Language API reference","pages":[{"title":"Chat Completions","href":"/pages/developer/v3/reference/chat"},{"title":"Responses API","href":"/pages/developer/v3/reference/responses"},{"title":"Messages API","href":"/pages/developer/v3/reference/messages"}]},{"group":"API Reference","pages":[{"group":"Run a model","pages":[{"title":"Run Creatify Aurora (creatify-aurora)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/creatify-aurora","href":"/api-reference/v3/run-a-model/run-creatify-aurora-creatify-aurora"},{"title":"Run Dreamina 3.1 (dreamina-31)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/dreamina-31","href":"/api-reference/v3/run-a-model/run-dreamina-31-dreamina-31"},{"title":"Run ElevenLabs Audio Isolation (elevenlabs-audio-isolation)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-audio-isolation","href":"/api-reference/v3/run-a-model/run-elevenlabs-audio-isolation-elevenlabs-audio-isolation"},{"title":"Run ElevenLabs English STS V2 (elevenlabs-english-sts-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-english-sts-v2","href":"/api-reference/v3/run-a-model/run-elevenlabs-english-sts-v2-elevenlabs-english-sts-v2"},{"title":"Run ElevenLabs Flash Multilingual V2 (elevenlabs-flash-multilingual-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-flash-multilingual-v2","href":"/api-reference/v3/run-a-model/run-elevenlabs-flash-multilingual-v2-elevenlabs-flash-multilingual-v2"},{"title":"Run ElevenLabs Flash V2 (elevenlabs-flash-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-flash-v2","href":"/api-reference/v3/run-a-model/run-elevenlabs-flash-v2-elevenlabs-flash-v2"},{"title":"Run ElevenLabs Multilingual STS V2 (elevenlabs-multilingual-sts-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-multilingual-sts-v2","href":"/api-reference/v3/run-a-model/run-elevenlabs-multilingual-sts-v2-elevenlabs-multilingual-sts-v2"},{"title":"Run ElevenLabs Multilingual V2 (elevenlabs-multilingual-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-multilingual-v2","href":"/api-reference/v3/run-a-model/run-elevenlabs-multilingual-v2-elevenlabs-multilingual-v2"},{"title":"Run ElevenLabs Music (elevenlabs-music)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-music","href":"/api-reference/v3/run-a-model/run-elevenlabs-music-elevenlabs-music"},{"title":"Run ElevenLabs Sound Effects (elevenlabs-sound-effects)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-sound-effects","href":"/api-reference/v3/run-a-model/run-elevenlabs-sound-effects-elevenlabs-sound-effects"},{"title":"Run ElevenLabs V3 (elevenlabs-v3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-v3","href":"/api-reference/v3/run-a-model/run-elevenlabs-v3-elevenlabs-v3"},{"title":"Run ElevenLabs Voice Clone (elevenlabs-voice-clone)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/elevenlabs-voice-clone","href":"/api-reference/v3/run-a-model/run-elevenlabs-voice-clone-elevenlabs-voice-clone"},{"title":"Run Eyeline ID Relight (eyeline-id-relight)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/eyeline-id-relight","href":"/api-reference/v3/run-a-model/run-eyeline-id-relight-eyeline-id-relight"},{"title":"Run Eyeline ID Restyle (eyeline-id-restyle)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/eyeline-id-restyle","href":"/api-reference/v3/run-a-model/run-eyeline-id-restyle-eyeline-id-restyle"},{"title":"Run Flux 1.1 Pro (flux-11-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-11-pro","href":"/api-reference/v3/run-a-model/run-flux-11-pro-flux-11-pro"},{"title":"Run Flux 1.1 Ultra (flux-11-ultra)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-11-ultra","href":"/api-reference/v3/run-a-model/run-flux-11-ultra-flux-11-ultra"},{"title":"Run FLUX.3 (flux-3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-3","href":"/api-reference/v3/run-a-model/run-flux3-flux-3"},{"title":"Run FLUX.3 Video Upscaler Creative (flux-3-video-upscaler-creative)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-3-video-upscaler-creative","href":"/api-reference/v3/run-a-model/run-flux3-video-upscaler-creative-flux-3-video-upscaler-creative"},{"title":"Run FLUX.3 Video Upscaler Precise (flux-3-video-upscaler-precise)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-3-video-upscaler-precise","href":"/api-reference/v3/run-a-model/run-flux3-video-upscaler-precise-flux-3-video-upscaler-precise"},{"title":"Run Flux Dev (flux-dev)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-dev","href":"/api-reference/v3/run-a-model/run-flux-dev-flux-dev"},{"title":"Run Flux Kontext Max (flux-kontext-max)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-kontext-max","href":"/api-reference/v3/run-a-model/run-flux-kontext-max-flux-kontext-max"},{"title":"Run Flux Kontext Pro (flux-kontext-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux-kontext-pro","href":"/api-reference/v3/run-a-model/run-flux-kontext-pro-flux-kontext-pro"},{"title":"Run Flux.2 [flex] (flux2-flex)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux2-flex","href":"/api-reference/v3/run-a-model/run-flux2-[flex]-flux2-flex"},{"title":"Run Flux.2 [klein] 9B (flux2-klein-9b)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux2-klein-9b","href":"/api-reference/v3/run-a-model/run-flux2-[klein]-9b-flux2-klein-9b"},{"title":"Run Flux.2 [max] (flux2-max)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux2-max","href":"/api-reference/v3/run-a-model/run-flux2-[max]-flux2-max"},{"title":"Run Flux.2 [pro] (flux2-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/flux2-pro","href":"/api-reference/v3/run-a-model/run-flux2-[pro]-flux2-pro"},{"title":"Run Gemini Omni Flash (gemini-omni-flash)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gemini-omni-flash","href":"/api-reference/v3/run-a-model/run-gemini-omni-flash-gemini-omni-flash"},{"title":"Run Gemini Omni 1.1 Flash (gemini-omni-flash-11)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gemini-omni-flash-11","href":"/api-reference/v3/run-a-model/run-gemini-omni-11-flash-gemini-omni-flash-11"},{"title":"Run GPT Image 1.5 (gpt-image-15)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gpt-image-15","href":"/api-reference/v3/run-a-model/run-gpt-image-15-gpt-image-15"},{"title":"Run GPT Image 2 (gpt-image-2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gpt-image-2","href":"/api-reference/v3/run-a-model/run-gpt-image-2-gpt-image-2"},{"title":"Run GPT Image 2.5 Flare (gpt-image-2.5-flare)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gpt-image-2.5-flare","href":"/api-reference/v3/run-a-model/run-gpt-image-25-flare-gpt-image-25-flare"},{"title":"Run GPT Image 2.5 Sunburst (gpt-image-2.5-sunburst)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/gpt-image-2.5-sunburst","href":"/api-reference/v3/run-a-model/run-gpt-image-25-sunburst-gpt-image-25-sunburst"},{"title":"Run Grok Imagine (grok-imagine)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/grok-imagine","href":"/api-reference/v3/run-a-model/run-grok-imagine-grok-imagine"},{"title":"Run Grok Imagine 2.0 (grok-imagine-20)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/grok-imagine-20","href":"/api-reference/v3/run-a-model/run-grok-imagine-20-grok-imagine-20"},{"title":"Run Grok Video (grok-video)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/grok-video","href":"/api-reference/v3/run-a-model/run-grok-video-grok-video"},{"title":"Run Happy Horse (happy-horse)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/happy-horse","href":"/api-reference/v3/run-a-model/run-happy-horse-happy-horse"},{"title":"Run Hedra Avatar (hedra-avatar)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/hedra-avatar","href":"/api-reference/v3/run-a-model/run-hedra-avatar-hedra-avatar"},{"title":"Run Hedra Character 3 (hedra-character-3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/hedra-character-3","href":"/api-reference/v3/run-a-model/run-hedra-character-3-hedra-character-3"},{"title":"Run HeyGen Photo Avatar 4 (heygen-photo-avatar-4)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/heygen-photo-avatar-4","href":"/api-reference/v3/run-a-model/run-heygen-photo-avatar-4-heygen-photo-avatar-4"},{"title":"Run HiDream-O1-Image (hidream-o1-image)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/hidream-o1-image","href":"/api-reference/v3/run-a-model/run-hidream-o1-image-hidream-o1-image"},{"title":"Run Ideogram V2 (ideogram-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/ideogram-v2","href":"/api-reference/v3/run-a-model/run-ideogram-v2-ideogram-v2"},{"title":"Run Ideogram V4 (ideogram-v4)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/ideogram-v4","href":"/api-reference/v3/run-a-model/run-ideogram-v4-ideogram-v4"},{"title":"Run Imagen3 (imagen3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/imagen3","href":"/api-reference/v3/run-a-model/run-imagen3-imagen3"},{"title":"Run Imagen4 (imagen4)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/imagen4","href":"/api-reference/v3/run-a-model/run-imagen4-imagen4"},{"title":"Run Kling 1.6 (kling-16)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-16","href":"/api-reference/v3/run-a-model/run-kling-16-kling-16"},{"title":"Run Kling 2.1 Master (kling-21-master)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-21-master","href":"/api-reference/v3/run-a-model/run-kling-21-master-kling-21-master"},{"title":"Run Kling 2.5 Turbo (kling-25-turbo)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-25-turbo","href":"/api-reference/v3/run-a-model/run-kling-25-turbo-kling-25-turbo"},{"title":"Run Kling 2.6 Motion Control (kling-26-motion-control)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-26-motion-control","href":"/api-reference/v3/run-a-model/run-kling-26-motion-control-kling-26-motion-control"},{"title":"Run Kling 2.6 Pro (kling-26-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-26-pro","href":"/api-reference/v3/run-a-model/run-kling-26-pro-kling-26-pro"},{"title":"Run Kling AI Avatar v2 (kling-ai-avatar-v2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-ai-avatar-v2","href":"/api-reference/v3/run-a-model/run-kling-ai-avatar-v2-kling-ai-avatar-v2"},{"title":"Run Kling O1 (kling-o1)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-o1","href":"/api-reference/v3/run-a-model/run-kling-o1-kling-o1"},{"title":"Run Kling O3 (kling-o3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-o3","href":"/api-reference/v3/run-a-model/run-kling-o3-kling-o3"},{"title":"Run Kling O3 Edit (kling-o3-edit)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-o3-edit","href":"/api-reference/v3/run-a-model/run-kling-o3-edit-kling-o3-edit"},{"title":"Run Kling O3 Reference (kling-o3-reference)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-o3-reference","href":"/api-reference/v3/run-a-model/run-kling-o3-reference-kling-o3-reference"},{"title":"Run Kling V3 (kling-v3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-v3","href":"/api-reference/v3/run-a-model/run-kling-v3-kling-v3"},{"title":"Run Kling V3 Motion Control (kling-v3-motion-control)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/kling-v3-motion-control","href":"/api-reference/v3/run-a-model/run-kling-v3-motion-control-kling-v3-motion-control"},{"title":"Run Krea 2 (krea-2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/krea-2","href":"/api-reference/v3/run-a-model/run-krea-2-krea-2"},{"title":"Run LTX-2.3 (ltx-2-3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/ltx-2-3","href":"/api-reference/v3/run-a-model/run-ltx-23-ltx-2-3"},{"title":"Run LTX-2.5 (ltx-2-5)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/ltx-2-5","href":"/api-reference/v3/run-a-model/run-ltx-25-ltx-2-5"},{"title":"Run Luma Ray 3.2 (luma-ray-32)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/luma-ray-32","href":"/api-reference/v3/run-a-model/run-luma-ray-32-luma-ray-32"},{"title":"Run MAI-Image-2.5 (mai-image-2-5)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/mai-image-2-5","href":"/api-reference/v3/run-a-model/run-mai-image-25-mai-image-2-5"},{"title":"Run MiniMax H3 (minimax-h3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-h3","href":"/api-reference/v3/run-a-model/run-minimax-h3-minimax-h3"},{"title":"Run MiniMax H3 Max Camera Controls (minimax-h3-max-camera-controls)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-h3-max-camera-controls","href":"/api-reference/v3/run-a-model/run-minimax-h3-max-camera-controls-minimax-h3-max-camera-controls"},{"title":"Run MiniMax H3 Max Turbo (minimax-h3-max-turbo)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-h3-max-turbo","href":"/api-reference/v3/run-a-model/run-minimax-h3-max-turbo-minimax-h3-max-turbo"},{"title":"Run MiniMax Hailuo-02 (minimax-hailuo-02)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-hailuo-02","href":"/api-reference/v3/run-a-model/run-minimax-hailuo-02-minimax-hailuo-02"},{"title":"Run MiniMax Hailuo 2.3 (minimax-hailuo-23)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-hailuo-23","href":"/api-reference/v3/run-a-model/run-minimax-hailuo-23-minimax-hailuo-23"},{"title":"Run MiniMax Speech-2.5 HD Preview (minimax-speech-25-hd-preview)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-speech-25-hd-preview","href":"/api-reference/v3/run-a-model/run-minimax-speech-25-hd-preview-minimax-speech-25-hd-preview"},{"title":"Run MiniMax Speech-2.5 Turbo Preview (minimax-speech-25-turbo-preview)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/minimax-speech-25-turbo-preview","href":"/api-reference/v3/run-a-model/run-minimax-speech-25-turbo-preview-minimax-speech-25-turbo-preview"},{"title":"Run Muse Image (muse-image)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/muse-image","href":"/api-reference/v3/run-a-model/run-muse-image-muse-image"},{"title":"Run Nano Banana (nano-banana)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/nano-banana","href":"/api-reference/v3/run-a-model/run-nano-banana-nano-banana"},{"title":"Run Nano Banana 2 (nano-banana-2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/nano-banana-2","href":"/api-reference/v3/run-a-model/run-nano-banana-2-nano-banana-2"},{"title":"Run Nano Banana Pro (nano-banana-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/nano-banana-pro","href":"/api-reference/v3/run-a-model/run-nano-banana-pro-nano-banana-pro"},{"title":"Run Omnihuman 1.5 (omnihuman-15)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/omnihuman-15","href":"/api-reference/v3/run-a-model/run-omnihuman-15-omnihuman-15"},{"title":"Run PixVerse V6 (pixverse-v6)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/pixverse-v6","href":"/api-reference/v3/run-a-model/run-pixverse-v6-pixverse-v6"},{"title":"Run Qwen Image 2.0 (qwen-image-2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/qwen-image-2","href":"/api-reference/v3/run-a-model/run-qwen-image-20-qwen-image-2"},{"title":"Run Recraft V3 (recraft-v3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/recraft-v3","href":"/api-reference/v3/run-a-model/run-recraft-v3-recraft-v3"},{"title":"Run Reve 2.1 (reve-21)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/reve-21","href":"/api-reference/v3/run-a-model/run-reve-21-reve-21"},{"title":"Run Reve 2.1 Edit (reve-21-edit)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/reve-21-edit","href":"/api-reference/v3/run-a-model/run-reve-21-edit-reve-21-edit"},{"title":"Run Reve 2.1 Remix (reve-21-remix)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/reve-21-remix","href":"/api-reference/v3/run-a-model/run-reve-21-remix-reve-21-remix"},{"title":"Run Sana (sana)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/sana","href":"/api-reference/v3/run-a-model/run-sana-sana"},{"title":"Run Seedance 1.5 Pro (seedance-15-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedance-15-pro","href":"/api-reference/v3/run-a-model/run-seedance-15-pro-seedance-15-pro"},{"title":"Run Seedance 2.0 (seedance-20)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedance-20","href":"/api-reference/v3/run-a-model/run-seedance-20-seedance-20"},{"title":"Run Seedance 2.0 Mini (seedance-20-mini)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedance-20-mini","href":"/api-reference/v3/run-a-model/run-seedance-20-mini-seedance-20-mini"},{"title":"Run Seedance 2.5 (seedance-25)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedance-25","href":"/api-reference/v3/run-a-model/run-seedance-25-seedance-25"},{"title":"Run Seedream 4.0 (seedream-40)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedream-40","href":"/api-reference/v3/run-a-model/run-seedream-40-seedream-40"},{"title":"Run Seedream 4.5 (seedream-45)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedream-45","href":"/api-reference/v3/run-a-model/run-seedream-45-seedream-45"},{"title":"Run Seedream 5.0 Lite (seedream-50-lite)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedream-50-lite","href":"/api-reference/v3/run-a-model/run-seedream-50-lite-seedream-50-lite"},{"title":"Run Seedream 5.0 Pro (seedream-50-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/seedream-50-pro","href":"/api-reference/v3/run-a-model/run-seedream-50-pro-seedream-50-pro"},{"title":"Run Sora 2 Pro (sora-2-pro)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/sora-2-pro","href":"/api-reference/v3/run-a-model/run-sora-2-pro-sora-2-pro"},{"title":"Run Topaz Gigapixel (topaz-image-upscaler)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-image-upscaler","href":"/api-reference/v3/run-a-model/run-topaz-gigapixel-topaz-image-upscaler"},{"title":"Run Topaz Transparency (topaz-image-upscaler-transparency)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-image-upscaler-transparency","href":"/api-reference/v3/run-a-model/run-topaz-transparency-topaz-image-upscaler-transparency"},{"title":"Run Topaz Wonder (topaz-image-upscaler-wonder)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-image-upscaler-wonder","href":"/api-reference/v3/run-a-model/run-topaz-wonder-topaz-image-upscaler-wonder"},{"title":"Run Topaz Proteus (topaz-video-upscaler)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-video-upscaler","href":"/api-reference/v3/run-a-model/run-topaz-proteus-topaz-video-upscaler"},{"title":"Run Topaz Hyperion 2.5 HDR (topaz-video-upscaler-hyperion-2-5)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-video-upscaler-hyperion-2-5","href":"/api-reference/v3/run-a-model/run-topaz-hyperion-25-hdr-topaz-video-upscaler-hyperion-2-5"},{"title":"Run Topaz Starlight Fast (topaz-video-upscaler-starlight-fast)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-video-upscaler-starlight-fast","href":"/api-reference/v3/run-a-model/run-topaz-starlight-fast-topaz-video-upscaler-starlight-fast"},{"title":"Run Topaz Starlight HQ (topaz-video-upscaler-starlight-hq)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-video-upscaler-starlight-hq","href":"/api-reference/v3/run-a-model/run-topaz-starlight-hq-topaz-video-upscaler-starlight-hq"},{"title":"Run Topaz Starlight Precise (topaz-video-upscaler-starlight-precise)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/topaz-video-upscaler-starlight-precise","href":"/api-reference/v3/run-a-model/run-topaz-starlight-precise-topaz-video-upscaler-starlight-precise"},{"title":"Run VEED Fabric 1.0 (veed-fabric-10)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/veed-fabric-10","href":"/api-reference/v3/run-a-model/run-veed-fabric-10-veed-fabric-10"},{"title":"Run VEED Video Background Removal (veed-video-background-removal)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/veed-video-background-removal","href":"/api-reference/v3/run-a-model/run-veed-video-background-removal-veed-video-background-removal"},{"title":"Run Veo 2 (veo-2)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/veo-2","href":"/api-reference/v3/run-a-model/run-veo-2-veo-2"},{"title":"Run Veo 3 (veo-3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/veo-3","href":"/api-reference/v3/run-a-model/run-veo-3-veo-3"},{"title":"Run Veo 3.1 (veo-31)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/veo-31","href":"/api-reference/v3/run-a-model/run-veo-31-veo-31"},{"title":"Run Vidu Q3 (vidu-q3)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/vidu-q3","href":"/api-reference/v3/run-a-model/run-vidu-q3-vidu-q3"},{"title":"Run Vidu Q3 Reference (vidu-q3-reference)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/vidu-q3-reference","href":"/api-reference/v3/run-a-model/run-vidu-q3-reference-vidu-q3-reference"},{"title":"Run Wan 2.7 (wan-2-7)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/wan-2-7","href":"/api-reference/v3/run-a-model/run-wan-27-wan-2-7"},{"title":"Run Wan 3.0 (wan-3-0)","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/wan-3-0","href":"/api-reference/v3/run-a-model/run-wan-30-wan-3-0"},{"title":"Run a model by id","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/{model}","href":"/api-reference/v3/run-a-model/run-a-model-by-id"}]},{"group":"Models","pages":[{"title":"List Models","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models","href":"/api-reference/v3/models/list-models"},{"title":"Get Model","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models/{model}","href":"/api-reference/v3/models/get-model"},{"title":"List Model Jobs","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models/{model}/jobs","href":"/api-reference/v3/models/list-model-jobs"},{"title":"List Model Voices","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models/{model}/voices","href":"/api-reference/v3/models/list-model-voices"},{"title":"Search Model Voices","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models/{model}/voices/search","href":"/api-reference/v3/models/search-model-voices"},{"title":"Get Model Openapi","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /models/{model}/openapi.json","href":"/api-reference/v3/models/get-model-openapi"},{"title":"Estimate","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /models/{model}/estimate","href":"/api-reference/v3/models/estimate"}]},{"group":"Jobs","pages":[{"title":"List Jobs","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /jobs","href":"/api-reference/v3/jobs/list-jobs"},{"title":"Get Job","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /jobs/{job_id}","href":"/api-reference/v3/jobs/get-job"},{"title":"Get Job Status","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /jobs/{job_id}/status","href":"/api-reference/v3/jobs/get-job-status"},{"title":"List Job Logs","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /jobs/{job_id}/logs","href":"/api-reference/v3/jobs/list-job-logs"},{"title":"Stream Job","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /jobs/{job_id}/stream","href":"/api-reference/v3/jobs/stream-job"}]},{"group":"Webhooks","pages":[{"title":"Public Key","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /webhooks/public-key","href":"/api-reference/v3/webhooks/public-key"},{"title":"Get Default","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /webhooks/default","href":"/api-reference/v3/webhooks/get-default"},{"title":"Put Default","deprecated":null,"version":null,"openapi":"/openapi-v3.json put /webhooks/default","href":"/api-reference/v3/webhooks/put-default"},{"title":"Delete Default","deprecated":null,"version":null,"openapi":"/openapi-v3.json delete /webhooks/default","href":"/api-reference/v3/webhooks/delete-default"},{"title":"Test Default","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /webhooks/default/test","href":"/api-reference/v3/webhooks/test-default"},{"title":"List Deliveries","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /webhooks/deliveries","href":"/api-reference/v3/webhooks/list-deliveries"},{"title":"Redeliver","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /webhooks/deliveries/{job_id}/redeliver","href":"/api-reference/v3/webhooks/redeliver"},{"title":"Webhook: jobcompleted","version":null,"deprecated":null,"openapi":"/openapi-v3.json webhook job.completed","href":"/api-reference/v3/webhooks/webhook:-jobcompleted"},{"title":"Webhook: jobfailed","version":null,"deprecated":null,"openapi":"/openapi-v3.json webhook job.failed","href":"/api-reference/v3/webhooks/webhook:-jobfailed"},{"title":"Webhook: billingtop off failed","version":null,"deprecated":null,"openapi":"/openapi-v3.json webhook billing.top_off_failed","href":"/api-reference/v3/webhooks/webhook:-billingtop_off_failed"}]},{"group":"Log drains","pages":[{"title":"List Log Drains","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /log-drains","href":"/api-reference/v3/log-drains/list-log-drains"},{"title":"Create Log Drain","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /log-drains","href":"/api-reference/v3/log-drains/create-log-drain"},{"title":"Get Log Drain","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /log-drains/{drain_id}","href":"/api-reference/v3/log-drains/get-log-drain"},{"title":"Update Log Drain","description":null,"deprecated":null,"version":null,"openapi":"/openapi-v3.json patch /log-drains/{drain_id}","href":"/api-reference/v3/log-drains/update-log-drain"},{"title":"Delete Log Drain","deprecated":null,"version":null,"openapi":"/openapi-v3.json delete /log-drains/{drain_id}","href":"/api-reference/v3/log-drains/delete-log-drain"},{"title":"Test Log Drain","description":null,"deprecated":null,"version":null,"openapi":"/openapi-v3.json post /log-drains/{drain_id}/test","href":"/api-reference/v3/log-drains/test-log-drain"}]},{"group":"Access","pages":[{"title":"Create Key","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /keys","href":"/api-reference/v3/access/create-key"},{"title":"List Keys","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /keys","href":"/api-reference/v3/access/list-keys"},{"title":"Rotate Key","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /keys/{key_id}/rotate","href":"/api-reference/v3/access/rotate-key"},{"title":"Revoke Key","deprecated":null,"version":null,"openapi":"/openapi-v3.json delete /keys/{key_id}","href":"/api-reference/v3/access/revoke-key"},{"title":"Create Token","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /tokens","href":"/api-reference/v3/access/create-token"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"/openapi-v3.json post /files","href":"/api-reference/v3/access/upload-file"}]},{"group":"Billing","pages":[{"title":"Get Balance","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /balance","href":"/api-reference/v3/billing/get-balance"},{"title":"Get Usage","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /usage","href":"/api-reference/v3/billing/get-usage"},{"title":"List Transactions","deprecated":null,"version":null,"openapi":"/openapi-v3.json get /transactions","href":"/api-reference/v3/billing/list-transactions"}]}]},{"group":"Resources","pages":[{"title":"Migrate from v2 to v3","href":"/pages/developer/v3/migrate-from-v2"},{"group":"Legacy v2","pages":[{"group":"Getting Started","pages":[{"title":"Legacy Hedra API Quickstart","sidebarTitle":"Quickstart","href":"/pages/developer/legacy/quickstart"}]},{"group":"Guides","pages":[{"title":"Generate an Image (Legacy API)","sidebarTitle":"Generate an Image","href":"/pages/developer/guides/generate-image"},{"title":"Generate a Video (Legacy API)","sidebarTitle":"Generate a Video","href":"/pages/developer/guides/generate-video"},{"title":"Generate an Avatar Video (Legacy API)","sidebarTitle":"Generate an Avatar Video","href":"/pages/developer/guides/generate-avatar-video"},{"title":"Generate Audio (Legacy API)","sidebarTitle":"Generate Audio","href":"/pages/developer/guides/generate-audio"},{"title":"Automate Content with n8n (Legacy API)","sidebarTitle":"Automate Content with n8n","href":"/pages/developer/guides/automate-with-n8n"}]},{"group":"API Reference","pages":[{"title":"List Available AI Models (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"List Available AI Models","openapi":"/openapi.json get /models","href":"/api-reference/public/list-models"},{"title":"List Available Voices (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"List Available Voices","openapi":"/openapi.json get /voices","href":"/api-reference/public/list-voices"},{"title":"List Uploaded \u0026 Generated Assets (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"List Uploaded \u0026 Generated Assets","openapi":"/openapi.json get /assets","href":"/api-reference/public/list-assets"},{"title":"Create Asset (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"Create Asset","openapi":"/openapi.json post /assets","href":"/api-reference/public/create-asset"},{"title":"Upload Asset (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"Upload Asset","openapi":"/openapi.json post /assets/{id}/upload","href":"/api-reference/public/upload-asset"},{"title":"List Your Generations (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"List Your Generations","openapi":"/openapi.json get /generations","href":"/api-reference/public/list"},{"title":"Generate Asset (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"Generate Asset","openapi":"/openapi.json post /generations","href":"/api-reference/public/generate-asset"},{"title":"Get Generation Status (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"Get Generation Status","openapi":"/openapi.json get /generations/{generation_id}/status","href":"/api-reference/public/get-status"},{"title":"Get Your Credit Balance (Legacy API)","deprecated":null,"version":null,"sidebarTitle":"Get Your Credit Balance","openapi":"/openapi.json get /billing/credits","href":"/api-reference/public/get-credits"}]}]},{"group":"Studio help","pages":[{"group":"Start here","pages":[{"title":"Hedra Studio and Creative Agent help","sidebarTitle":"Studio overview","href":"/pages/app/getting-started/overview"},{"title":"Start with an idea","href":"/pages/app/getting-started/start-with-an-idea"},{"title":"Work in Spaces","href":"/pages/app/getting-started/spaces"},{"title":"Realtime multiplayer","href":"/pages/app/getting-started/multiplayer"},{"title":"Organize work in the Library","href":"/pages/app/getting-started/library"}]},{"group":"Build with the agent","pages":[{"title":"Give the agent visual context","href":"/pages/app/getting-started/references-and-elements"},{"title":"Personalize with Skills and connectors","href":"/pages/app/getting-started/skills-and-connectors"}]},{"group":"Workflows","pages":[{"title":"Create and refine images","href":"/pages/app/content-creation/create-image"},{"title":"Animate a still image","href":"/pages/app/content-creation/animate-your-photos"},{"title":"Create a UGC ad","href":"/pages/app/content-creation/how-to-create-ugc-ads"},{"title":"Create an avatar or presenter video","href":"/pages/app/content-creation/create-avatar-video"},{"title":"Create a music video","href":"/pages/app/content-creation/creating-music-videos"},{"title":"Swap a face","href":"/pages/app/content-creation/how-to-swap-your-face"}]},{"group":"Manual tools","pages":[{"title":"Use manual tools","href":"/pages/app/getting-started/manual-tools"},{"title":"Image","href":"/pages/app/getting-started/manual-image"},{"title":"Video","href":"/pages/app/getting-started/video-models"},{"title":"Speech","href":"/pages/app/content-creation/create-audio"},{"title":"Edit Video","href":"/pages/app/content-creation/edit-videos-in-composer"}]},{"group":"Credits \u0026 Billing","pages":[{"title":"Generation History \u0026 Credit Refunds","href":"/pages/app/billing/generation-history"},{"title":"Annual Subscription Credits","href":"/pages/app/billing/annual-subscriptions"},{"title":"Payment Methods","href":"/pages/app/billing/payment-methods"},{"title":"Change Your Plan or Buy Credits","href":"/pages/app/billing/change-plan"},{"title":"Cancel Your Subscription","href":"/pages/app/billing/cancel-subscription"},{"title":"How Credits Work — Hedra Billing \u0026 Credits FAQ","sidebarTitle":"How Credits Work","href":"/pages/app/billing/how-credits-work"}]},{"group":"Account","pages":[{"title":"Forgot or Change Password","href":"/pages/app/account/forgot-password"},{"title":"Delete Your Account","href":"/pages/app/account/delete-account"},{"title":"Ambassador Program","href":"/pages/app/account/creator-program"}]}]}]}]}]},"title":"Delete Log Drain - Hedra","buildId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","deploymentId":"dpl_DGmhKsAzJdVqypJzon18vViniWRY","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-2jF_ccbi.js","utils-NNMVb_sb.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DdtBhtt6.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D1OxL5O8.js","snippetPresets-DDC-KAXp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-FtoC8lZ9.js","ApiExamples-BOnTqOyQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-EEWI6FIO.js","shallow-fGZcWzm2.js","getApiPlaygroundDisplay-B3B8qEvw.js","CodeSnippet-BG9nsSU4.js","CodeSnippets-BlRACLKl.js","getPastedJson-COV-Kgnr.js","icon-BXu3lasn.js","MethodPill-DGMUqJKh.js","DuplicateIcon-JEUJDHz_.js","createIcon-BDFucJ34.js","DynamicMarkdown-34OtG_BH.js","SectionHeading-tBbRD59j.js","axios-vUo_bRtp.js","Markdown-SoRz2nk2.js","clsx-BOmkPVIU.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DN0dCbTw.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BcsLYcfW.js"]}