Comma-separated key:value usage-attribution tags (e.g. tenant:acme,project:demo, max 8). Recorded on the generation's billing/metrics rows; group spend by any key via GET /v2/analytics/usage?group_by=. Header-borne twin of the /v3/session URL prefix tags (which win per key when both are present); opper.-prefixed keys and session_id are reserved. Malformed values return 400.
Opt in to automatic prompt caching for Anthropic-family models routed through this Gemini-shape endpoint: {"type":"ephemeral"} (optionally "ttl":"1h"). Places one moving cache breakpoint on the largest cacheable prefix. Caching is off unless set; no-op on Gemini and other providers with automatic server-side caching. Cache writes cost 1.25x input and reads 0.1x
Fallback models tried in order when the model before them fails for any reason (provider error; rate limit; timeout; a member blocked by one of your rules). Same OpenRouter shape: send the primary in model (or agent) and the rest here; or omit both and the first entry is the primary. Each entry is any model string: a bare pooled name; a provider/model id; an org alias. Not allowed together with a dynamic/ route. At most 10 entries. Which model answered is in the X-Opper-Served-Model header.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Opper","description":"The European AI gateway for agents: 700+ models from 60+ providers through one EU-hosted API, drop-in for the OpenAI, Anthropic and Gemini SDKs.","colors":{"primary":"#14cdcd","light":"#24cdcd","dark":"#2d9393"},"logo":{"light":"https://mintcdn.com/opper/EXrQN6z6604ZsBuP/logo/light.svg?fit=max\u0026auto=format\u0026n=EXrQN6z6604ZsBuP\u0026q=85\u0026s=fd4170c482c6cebc3c20d8f7f7e033f8","dark":"https://mintcdn.com/opper/EXrQN6z6604ZsBuP/logo/dark.svg?fit=max\u0026auto=format\u0026n=EXrQN6z6604ZsBuP\u0026q=85\u0026s=328888ac1f44b63c468d022fda86421d"},"favicon":"https://mintcdn.com/opper/EXrQN6z6604ZsBuP/favicon.png?fit=max\u0026auto=format\u0026n=EXrQN6z6604ZsBuP\u0026q=85\u0026s=f1229b80ac7eee56ba2c14789e5fe22e","api":{"examples":{"defaults":"required","languages":["Shell","python","typescript"]}},"appearance":{"default":"system"},"navbar":{"links":[{"href":"mailto:support@opper.ai","label":"Support"},{"href":"https://discord.gg/wcT3bc7Y4Y","label":"Discord"}],"primary":{"type":"button","label":"Login","href":"https://platform.opper.ai/auth/signin"}},"footer":{"socials":{"x":"https://x.com/opperai","github":"https://github.com/opper-ai","linkedin":"https://linkedin.com/company/opper-ai"}},"integrations":{"plausible":{"domain":"docs.opper.ai"}},"contextual":{"options":["copy","view"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"opper","hasAudioNarration":false,"actualSubdomain":"opper","customDomains":["docs.opper.ai"],"gitSource":{"type":"github","owner":"opper-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae9fcac90fba1e9dbe1a854","collectionId":"bca16535-50ee-4150-ab58-0ceafaa4e90b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae9fcac90fba1e9dbe1a854"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb33f886e5c4288ac546f6","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":90},{"language":"default","tag":"API Reference","count":88},{"language":"default","tag":"Platform APIs","count":46},{"language":"default","tag":"Management","count":35},{"language":"default","tag":"Apps","count":29},{"language":"default","tag":"Multimodality","count":28},{"language":"default","tag":"Build","count":27},{"language":"default","tag":"Observe \u0026 Control","count":16},{"language":"default","tag":"Gateway","count":14},{"language":"default","tag":"Compatibility","count":13}]},"assistantConfig":{},"basePath":"","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":"rbac-expansion","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":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes oppFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes oppBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes oppDot{0%,80%,to{opacity:.25}40%{opacity:1}}.opp-term .opp-line{opacity:0;animation:oppFade .4s ease forwards}.opp-term a{color:inherit;text-decoration:none;cursor:default}.opp-cursor{display:inline-block;width:7px;height:1em;margin-left:5px;vertical-align:text-bottom;border-radius:1px;background:#14cdcd;animation:oppBlink 1.1s step-end infinite}.opp-dots span{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:50%;background:#6e7681;animation:oppDot 1.2s infinite}.opp-dots span:nth-child(2){animation-delay:.2s}.opp-dots span:nth-child(3){animation-delay:.4s}.opp-replay{margin-left:auto;background:0 0;border:1px solid #2b3440;color:#8b949e;font:inherit;font-size:11px;padding:2px 9px;border-radius:6px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,color .2s,border-color .2s}.opp-replay.show{opacity:1;pointer-events:auto}.opp-replay:hover{color:#14cdcd;border-color:#14cdcd}"}],"page":{"pagePath":"v3-api-reference/compatibility/create-interaction","slug":"/v3-api-reference/compatibility/create-interaction","pageMetadata":{"title":"Interactions","openapi":"post /v3/compat/v1beta/interactions","description":"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.","href":"/v3-api-reference/compatibility/create-interaction"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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":"Interactions","openapi":"post /v3/compat/v1beta/interactions","description":"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.","href":"/v3-api-reference/compatibility/create-interaction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/opper/40a2b9bd0ec03258/script.js"],"openApiReferenceData":{"operation":{"description":"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.","operationId":"createInteraction","parameters":["e6a9e382-f1e9-441b-a881-c53379eafc41","e96427b8-eb76-411e-9b9a-1ed97f81c421","04911742-116b-41fd-b133-88ddaee33230"],"requestBody":"0cd62e79-c890-43c7-b383-29e810e8fb53","responses":{"200":"3c8e118b-0113-4387-9142-bab39735aabc","400":"fde6756a-8496-4816-b439-4b75c0df9492","401":"a97fd6cb-51d0-4681-bf40-dceefc64296a","500":"dc492cf5-7c3b-407b-b4fe-573d6aa57a25"},"summary":"Interactions API","tags":["Compatibility"],"method":"post","type":"path","servers":["c2b11331-7fab-45b2-bf5b-f9b364dfc679","7c93fdae-cb5e-47b9-ac9b-8536ea6166cd"],"security":["5865a3c7-1a9d-4964-80f4-c65785131374"],"path":"/v3/compat/v1beta/interactions","baseUrlOptions":["https://api.opper.ai","http://localhost:8080"],"title":"Interactions API","codeSamples":[],"requestExampleLanguages":["bash","python","typescript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"e6a9e382-f1e9-441b-a881-c53379eafc41":{"description":"Function name for tracing and project-level guardrail function-scope filtering.","in":"header","name":"X-Opper-Name","schema":{"type":"string","description":"Function name for tracing and project-level guardrail function-scope filtering.","uniqueKey":"","typeLabel":"string"}},"e96427b8-eb76-411e-9b9a-1ed97f81c421":{"description":"Parent span ID for distributed tracing context.","in":"header","name":"X-Opper-Parent-Span-Id","schema":{"format":"uuid","type":"string","description":"Parent span ID for distributed tracing context.","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"04911742-116b-41fd-b133-88ddaee33230":{"description":"Comma-separated `key:value` usage-attribution tags (e.g. `tenant:acme,project:demo`, max 8). Recorded on the generation's billing/metrics rows; group spend by any key via GET /v2/analytics/usage?group_by=\u003ckey>. Header-borne twin of the /v3/session URL prefix tags (which win per key when both are present); `opper.`-prefixed keys and `session_id` are reserved. Malformed values return 400.","in":"header","name":"X-Opper-Tags","schema":{"type":"string","description":"Comma-separated `key:value` usage-attribution tags (e.g. `tenant:acme,project:demo`, max 8). Recorded on the generation's billing/metrics rows; group spend by any key via GET /v2/analytics/usage?group_by=\u003ckey>. Header-borne twin of the /v3/session URL prefix tags (which win per key when both are present); `opper.`-prefixed keys and `session_id` are reserved. Malformed values return 400.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"properties":{"contents":{"description":"Any value","isRequired":true,"uniqueKey":"contents","typeLabel":"any"},"input":{"description":"Any value","isRequired":true,"uniqueKey":"input","typeLabel":"any"},"agent":{"type":"string","uniqueKey":"agent","typeLabel":"string"},"background":{"type":"boolean","uniqueKey":"background","typeLabel":"boolean"},"cache_control":{"description":"Opt in to automatic prompt caching for Anthropic-family models routed through this Gemini-shape endpoint: {\"type\":\"ephemeral\"} (optionally \"ttl\":\"1h\"). Places one moving cache breakpoint on the largest cacheable prefix. Caching is off unless set; no-op on Gemini and other providers with automatic server-side caching. Cache writes cost 1.25x input and reads 0.1x","type":"object","uniqueKey":"cache_control","typeLabel":"object"},"custom_model_credentials":{"properties":{"api_key":{"type":"string","isRequired":true,"uniqueKey":"custom_model_credentials.api_key","typeLabel":"string"},"identifier":{"type":"string","isRequired":true,"uniqueKey":"custom_model_credentials.identifier","typeLabel":"string"},"base_url":{"type":"string","uniqueKey":"custom_model_credentials.base_url","typeLabel":"string"},"extra":{"type":"object","uniqueKey":"custom_model_credentials.extra","typeLabel":"object"},"url":{"type":"string","uniqueKey":"custom_model_credentials.url","typeLabel":"string"}},"required":["identifier","api_key"],"type":"object","uniqueKey":"custom_model_credentials","typeLabel":"object"},"generation_config":{"properties":{"max_output_tokens":{"type":"integer","uniqueKey":"generation_config.max_output_tokens","typeLabel":"integer"},"response_json_schema":{"type":"object","uniqueKey":"generation_config.response_json_schema","typeLabel":"object"},"response_mime_type":{"type":"string","uniqueKey":"generation_config.response_mime_type","typeLabel":"string"},"response_schema":{"type":"object","uniqueKey":"generation_config.response_schema","typeLabel":"object"},"seed":{"type":"integer","uniqueKey":"generation_config.seed","typeLabel":"integer"},"stop_sequences":{"items":{"type":"string","uniqueKey":"generation_config.stop_sequences.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"generation_config.stop_sequences","typeLabel":"string[]"},"temperature":{"type":"number","uniqueKey":"generation_config.temperature","typeLabel":"number"},"thinking_config":{"properties":{"include_thoughts":{"type":"boolean","uniqueKey":"generation_config.thinking_config.include_thoughts","typeLabel":"boolean"},"thinking_budget":{"type":"integer","uniqueKey":"generation_config.thinking_config.thinking_budget","typeLabel":"integer"},"thinking_level":{"type":"string","uniqueKey":"generation_config.thinking_config.thinking_level","typeLabel":"string"}},"type":"object","uniqueKey":"generation_config.thinking_config","typeLabel":"object"},"thinking_level":{"type":"string","uniqueKey":"generation_config.thinking_level","typeLabel":"string"},"thinking_summaries":{"type":"string","uniqueKey":"generation_config.thinking_summaries","typeLabel":"string"},"tool_choice":{"description":"Any value","uniqueKey":"generation_config.tool_choice","typeLabel":"any"},"top_k":{"type":"integer","uniqueKey":"generation_config.top_k","typeLabel":"integer"},"top_p":{"type":"number","uniqueKey":"generation_config.top_p","typeLabel":"number"}},"type":"object","uniqueKey":"generation_config","typeLabel":"object"},"metadata":{"type":"object","uniqueKey":"metadata","typeLabel":"object"},"model":{"type":"string","uniqueKey":"model","typeLabel":"string"},"models":{"description":"Fallback models tried in order when the model before them fails for any reason (provider error; rate limit; timeout; a member blocked by one of your rules). Same OpenRouter shape: send the primary in model (or agent) and the rest here; or omit both and the first entry is the primary. Each entry is any model string: a bare pooled name; a provider/model id; an org alias. Not allowed together with a dynamic/\u003cname> route. At most 10 entries. Which model answered is in the X-Opper-Served-Model header.","items":{"type":"string","uniqueKey":"models.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"models","typeLabel":"string[]"},"previous_interaction_id":{"type":"string","uniqueKey":"previous_interaction_id","typeLabel":"string"},"response_format":{"type":"object","uniqueKey":"response_format","typeLabel":"object"},"response_mime_type":{"type":"string","uniqueKey":"response_mime_type","typeLabel":"string"},"safety_settings":{"items":{"properties":{"category":{"type":"string","uniqueKey":"safety_settings.items.[INDEX].category","typeLabel":"string"},"threshold":{"type":"string","uniqueKey":"safety_settings.items.[INDEX].threshold","typeLabel":"string"}},"type":"object","uniqueKey":"safety_settings.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"safety_settings","typeLabel":"object[]"},"store":{"type":"boolean","uniqueKey":"store","typeLabel":"boolean"},"stream":{"type":"boolean","uniqueKey":"stream","typeLabel":"boolean"},"system_instruction":{"properties":{"Text":{"type":"string","isRequired":true,"uniqueKey":"system_instruction.Text","typeLabel":"string"}},"required":["Text"],"type":"object","uniqueKey":"system_instruction","typeLabel":"object"},"tool_config":{"properties":{"function_calling_config":{"properties":{"allowed_function_names":{"items":{"type":"string","uniqueKey":"tool_config.function_calling_config.allowed_function_names.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"tool_config.function_calling_config.allowed_function_names","typeLabel":"string[]"},"mode":{"type":"string","uniqueKey":"tool_config.function_calling_config.mode","typeLabel":"string"}},"type":"object","uniqueKey":"tool_config.function_calling_config","typeLabel":"object"}},"type":"object","uniqueKey":"tool_config","typeLabel":"object"},"tools":{"items":{"properties":{"codeExecution":{"description":"Any value","uniqueKey":"tools.items.[INDEX].codeExecution","typeLabel":"any"},"code_execution":{"description":"Any value","uniqueKey":"tools.items.[INDEX].code_execution","typeLabel":"any"},"description":{"type":"string","uniqueKey":"tools.items.[INDEX].description","typeLabel":"string"},"function_declarations":{"items":{"properties":{"name":{"type":"string","isRequired":true,"uniqueKey":"tools.items.[INDEX].function_declarations.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","uniqueKey":"tools.items.[INDEX].function_declarations.items.[INDEX].description","typeLabel":"string"},"parameters":{"type":"object","uniqueKey":"tools.items.[INDEX].function_declarations.items.[INDEX].parameters","typeLabel":"object"},"parameters_json_schema":{"description":"Any value","uniqueKey":"tools.items.[INDEX].function_declarations.items.[INDEX].parameters_json_schema","typeLabel":"any"}},"required":["name"],"type":"object","uniqueKey":"tools.items.[INDEX].function_declarations.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"tools.items.[INDEX].function_declarations","typeLabel":"object[]"},"googleSearch":{"description":"Any value","uniqueKey":"tools.items.[INDEX].googleSearch","typeLabel":"any"},"googleSearchRetrieval":{"description":"Any value","uniqueKey":"tools.items.[INDEX].googleSearchRetrieval","typeLabel":"any"},"google_search":{"description":"Any value","uniqueKey":"tools.items.[INDEX].google_search","typeLabel":"any"},"google_search_retrieval":{"description":"Any value","uniqueKey":"tools.items.[INDEX].google_search_retrieval","typeLabel":"any"},"name":{"type":"string","uniqueKey":"tools.items.[INDEX].name","typeLabel":"string"},"parameters":{"type":"object","uniqueKey":"tools.items.[INDEX].parameters","typeLabel":"object"},"type":{"type":"string","uniqueKey":"tools.items.[INDEX].type","typeLabel":"string"},"urlContext":{"description":"Any value","uniqueKey":"tools.items.[INDEX].urlContext","typeLabel":"any"},"url_context":{"description":"Any value","uniqueKey":"tools.items.[INDEX].url_context","typeLabel":"any"}},"type":"object","uniqueKey":"tools.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"tools","typeLabel":"object[]"}},"required":["input","contents"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"contents":"\u003cunknown>","input":"\u003cunknown>","agent":"\u003cstring>","background":true,"cache_control":{},"generation_config":{"max_output_tokens":123,"response_json_schema":{},"response_mime_type":"\u003cstring>","response_schema":{},"seed":123,"stop_sequences":["\u003cstring>"],"temperature":123,"thinking_config":{"include_thoughts":true,"thinking_budget":123,"thinking_level":"\u003cstring>"},"thinking_level":"\u003cstring>","thinking_summaries":"\u003cstring>","tool_choice":"\u003cunknown>","top_k":123,"top_p":123},"metadata":{},"model":"\u003cstring>","models":["\u003cstring>"],"previous_interaction_id":"\u003cstring>","response_format":{},"response_mime_type":"\u003cstring>","safety_settings":[{"category":"\u003cstring>","threshold":"\u003cstring>"}],"store":true,"stream":true,"tool_config":{"function_calling_config":{"allowed_function_names":["\u003cstring>"],"mode":"\u003cstring>"}},"tools":[{"codeExecution":"\u003cunknown>","code_execution":"\u003cunknown>","description":"\u003cstring>","function_declarations":[{"name":"\u003cstring>","description":"\u003cstring>","parameters":{},"parameters_json_schema":"\u003cunknown>"}],"googleSearch":"\u003cunknown>","googleSearchRetrieval":"\u003cunknown>","google_search":"\u003cunknown>","google_search_retrieval":"\u003cunknown>","name":"\u003cstring>","parameters":{},"type":"\u003cstring>","urlContext":"\u003cunknown>","url_context":"\u003cunknown>"}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"3c8e118b-0113-4387-9142-bab39735aabc":{"content":{"application/json":{"schema":{"properties":{"status":{"type":"string","isRequired":true,"uniqueKey":"status","typeLabel":"string"},"agent":{"type":"string","uniqueKey":"agent","typeLabel":"string"},"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"type":"object","uniqueKey":"error","typeLabel":"object"},"id":{"type":"string","uniqueKey":"id","typeLabel":"string"},"model":{"type":"string","uniqueKey":"model","typeLabel":"string"},"previous_interaction_id":{"type":"string","uniqueKey":"previous_interaction_id","typeLabel":"string"},"role":{"type":"string","uniqueKey":"role","typeLabel":"string"},"steps":{"items":{"properties":{"type":{"type":"string","isRequired":true,"uniqueKey":"steps.items.[INDEX].type","typeLabel":"string"},"arguments":{"type":"object","uniqueKey":"steps.items.[INDEX].arguments","typeLabel":"object"},"content":{"items":{"properties":{"data":{"type":"string","uniqueKey":"steps.items.[INDEX].content.items.[INDEX].data","typeLabel":"string"},"role":{"type":"string","uniqueKey":"steps.items.[INDEX].content.items.[INDEX].role","typeLabel":"string"},"text":{"type":"string","uniqueKey":"steps.items.[INDEX].content.items.[INDEX].text","typeLabel":"string"},"type":{"type":"string","uniqueKey":"steps.items.[INDEX].content.items.[INDEX].type","typeLabel":"string"},"uri":{"type":"string","uniqueKey":"steps.items.[INDEX].content.items.[INDEX].uri","typeLabel":"string"}},"type":"object","uniqueKey":"steps.items.[INDEX].content.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"steps.items.[INDEX].content","typeLabel":"object[]"},"id":{"type":"string","uniqueKey":"steps.items.[INDEX].id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"steps.items.[INDEX].name","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"steps.items.[INDEX].signature","typeLabel":"string"},"summary":{"properties":{"data":{"type":"string","uniqueKey":"steps.items.[INDEX].summary.data","typeLabel":"string"},"role":{"type":"string","uniqueKey":"steps.items.[INDEX].summary.role","typeLabel":"string"},"text":{"type":"string","uniqueKey":"steps.items.[INDEX].summary.text","typeLabel":"string"},"type":{"type":"string","uniqueKey":"steps.items.[INDEX].summary.type","typeLabel":"string"},"uri":{"type":"string","uniqueKey":"steps.items.[INDEX].summary.uri","typeLabel":"string"}},"type":"object","uniqueKey":"steps.items.[INDEX].summary","typeLabel":"object"}},"required":["type"],"type":"object","uniqueKey":"steps.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"steps","typeLabel":"object[]"},"usage":{"properties":{"total_cached_tokens":{"type":"integer","uniqueKey":"usage.total_cached_tokens","typeLabel":"integer"},"total_input_tokens":{"type":"integer","uniqueKey":"usage.total_input_tokens","typeLabel":"integer"},"total_output_tokens":{"type":"integer","uniqueKey":"usage.total_output_tokens","typeLabel":"integer"},"total_thought_tokens":{"type":"integer","uniqueKey":"usage.total_thought_tokens","typeLabel":"integer"},"total_tokens":{"type":"integer","uniqueKey":"usage.total_tokens","typeLabel":"integer"}},"type":"object","uniqueKey":"usage","typeLabel":"object"}},"required":["status"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":"\u003cstring>","agent":"\u003cstring>","error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}},"id":"\u003cstring>","model":"\u003cstring>","previous_interaction_id":"\u003cstring>","role":"\u003cstring>","steps":[{"type":"\u003cstring>","arguments":{},"content":[{"data":"\u003cstring>","role":"\u003cstring>","text":"\u003cstring>","type":"\u003cstring>","uri":"\u003cstring>"}],"id":"\u003cstring>","name":"\u003cstring>","signature":"\u003cstring>","summary":{"data":"\u003cstring>","role":"\u003cstring>","text":"\u003cstring>","type":"\u003cstring>","uri":"\u003cstring>"}}],"usage":{"total_cached_tokens":123,"total_input_tokens":123,"total_output_tokens":123,"total_thought_tokens":123,"total_tokens":123}}}},"exampleType":"generated"},"text/event-stream":{"schema":{"description":"Server-Sent Events stream. Each event has an `event:` line and a `data: \u003cjson>` line. The stream terminates with an `interaction.complete` event whose payload carries the final `usage` and Opper `cost` extension.","type":"string","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"description":"Successful response","headers":{"X-Opper-Cost":{"description":"Execution cost of the request as a floating-point number.","schema":{"format":"double","type":"number"}}},"exampleType":"generated"},"fde6756a-8496-4816-b439-4b75c0df9492":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Any value","uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","uniqueKey":"meta","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"meta":{}}}},"exampleType":"generated"}},"description":"Bad request","exampleType":"generated"},"a97fd6cb-51d0-4681-bf40-dceefc64296a":{"description":"Unauthorized - missing or invalid API key","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"dc492cf5-7c3b-407b-b4fe-573d6aa57a25":{"content":{"application/json":{"schema":{"properties":{"error":{"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"description":"Any value","uniqueKey":"error.details","typeLabel":"any"}},"required":["code","message"],"type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","uniqueKey":"meta","typeLabel":"object"}},"required":["error"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>"},"meta":{}}}},"exampleType":"generated"}},"description":"Internal server error","exampleType":"generated"}},"security":{"5865a3c7-1a9d-4964-80f4-c65785131374":{"BearerAuth":{"bearerFormat":"API Key","description":"API key authentication. Pass your API key as a Bearer token.","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"c2b11331-7fab-45b2-bf5b-f9b364dfc679":{"description":"Production","url":"https://api.opper.ai"},"7c93fdae-cb5e-47b9-ac9b-8536ea6166cd":{"description":"Local development","url":"http://localhost:8080"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"bearerFormat":"API Key","description":"API key authentication. Pass your API key as a Bearer token.","scheme":"bearer","type":"http","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key authentication. Pass your API key as a Bearer token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"openapi-v3.json"},"subdomain":"opper","siteName":"Opper","title":"Interactions - Opper","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-08T13:52:54.296Z","gitLastModified":"2026-06-08T13:52:28.000Z","originalFileLocation":"v3-api-reference/compatibility/create-interaction.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=\"description\" content=\"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Opper\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_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=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Interactions - Opper\">\u003cmeta data-mint-head property=\"og:description\" content=\"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Opper\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://opper.mintlify.app/_mintlify/api/og/v2?division=Google\u0026amp;title=Interactions\u0026amp;description=Google+Interactions+API+compatible+endpoint.+Supports+streaming+via+the+stream+parameter.\u0026amp;theme=2bfe23844db8025c327f2519\u0026amp;signature=6ccb0fa7933370d901b1b6be5374e9a3c5f6903d836533b9b80ae9beed33d412\">\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=\"Interactions - Opper\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://opper.mintlify.app/_mintlify/api/og/v2?division=Google\u0026amp;title=Interactions\u0026amp;description=Google+Interactions+API+compatible+endpoint.+Supports+streaming+via+the+stream+parameter.\u0026amp;theme=2bfe23844db8025c327f2519\u0026amp;signature=6ccb0fa7933370d901b1b6be5374e9a3c5f6903d836533b9b80ae9beed33d412\">\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=\"/mintlify-assets/_mintlify/favicons/opper/QTlMDo19G0sAM5ID/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Opper\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#14cdcd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v3-api-reference/compatibility/create-interaction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.opper.ai/#organization\",\"name\":\"Opper\",\"url\":\"https://docs.opper.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/opper/EXrQN6z6604ZsBuP/logo/light.svg?fit=max\u0026auto=format\u0026n=EXrQN6z6604ZsBuP\u0026q=85\u0026s=fd4170c482c6cebc3c20d8f7f7e033f8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.opper.ai#website\",\"name\":\"Opper\",\"url\":\"https://docs.opper.ai\",\"publisher\":{\"@id\":\"https://docs.opper.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction#webpage\",\"url\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction\",\"name\":\"Interactions\",\"description\":\"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\",\"dateModified\":\"2026-06-08T13:52:28.000Z\",\"isPartOf\":{\"@id\":\"https://docs.opper.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Compatibility\",\"item\":\"https://docs.opper.ai/v3-api-reference/compatibility/chat-completions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Interactions\",\"item\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction#apireference\",\"headline\":\"Interactions\",\"name\":\"Interactions\",\"description\":\"Google Interactions API compatible endpoint. Supports streaming via the stream parameter.\",\"url\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.opper.ai/v3-api-reference/compatibility/create-interaction#webpage\"},\"dateModified\":\"2026-06-08T13:52:28.000Z\",\"publisher\":{\"@id\":\"https://docs.opper.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.opper.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Opper\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Opper","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":"/overview/about"}]},{"tab":"Cookbook","icon":"github","href":"https://github.com/opper-ai/opper-cookbook"},{"tab":"API Reference","icon":"square-terminal","groups":[{"group":"Compatibility","pages":[{"group":"OpenAI","expanded":true,"pages":[{"title":"Chat Completions","openapi":"post /v3/compat/chat/completions","href":"/v3-api-reference/compatibility/chat-completions"},{"title":"Responses","openapi":"post /v3/compat/responses","href":"/v3-api-reference/compatibility/create-response"},{"title":"Embeddings","openapi":"post /v3/compat/embeddings","href":"/v3-api-reference/compatibility/create-embeddings"},{"title":"Decisions","openapi":"post /v3/compat/decisions","href":"/v3-api-reference/compatibility/create-decision"},{"title":"List Models","openapi":"get /v3/compat/models","href":"/v3-api-reference/compatibility/list-models"}]},{"group":"Anthropic","expanded":true,"pages":[{"title":"Messages","openapi":"post /v3/compat/v1/messages","href":"/v3-api-reference/compatibility/create-message"},{"title":"Count Tokens","openapi":"post /v3/compat/v1/messages/count_tokens","description":"Anthropic Messages token-counting compatible endpoint. Returns the number of input tokens a Messages request would consume, without creating a message. Mirrors Anthropic's POST /v1/messages/count_tokens (same request body as the Messages endpoint, minus the required max_tokens).\n\nThe model resolves exactly as it does on the Messages endpoint, so every model a message accepts can be counted, and one a message would reject fails the same way (404 for an unknown model, 403 for one the allowlist or an entitlement denies). Claude models are counted exactly by their own backend, in the model's region. Every other model, and a dynamic route, gets Opper's estimate in the same shape: characters / 4 over the system prompt, messages and tool declarations, plus 1 (within about 20% on English prose), with a flat amount per image and 3,000 tokens per PDF page. The `X-Opper-Count-Source` response header says which.","href":"/v3-api-reference/compatibility/count-message-tokens"}]},{"group":"Google","expanded":true,"pages":[{"title":"Interactions","openapi":"post /v3/compat/v1beta/interactions","href":"/v3-api-reference/compatibility/create-interaction"},{"title":"Generate Content","openapi":"post /v3/compat/v1beta/models/{model}:generateContent","description":"Google Gemini-compatible generateContent endpoint — the drop-in surface for SDKs calling `models.generate_content()`. The request body is the Gemini `GenerateContentRequest` shape (camelCase `contents` / `systemInstruction` / `generationConfig`); the response is `candidates[].content.parts[]` + `usageMetadata`. The `{model}` path segment resolves as on the other compat endpoints: a bare model name (e.g. `gemini-2.5-flash`) routes over that model's pool, and an Opper-canonical id (e.g. `vertexai/gemini-2.5-flash`) pins that endpoint.","href":"/v3-api-reference/compatibility/generate-content"},{"title":"Stream Generate Content","openapi":"post /v3/compat/v1beta/models/{model}:streamGenerateContent","href":"/v3-api-reference/compatibility/stream-generate-content"},{"title":"Count Tokens","openapi":"post /v3/compat/v1beta/models/{model}:countTokens","href":"/v3-api-reference/compatibility/count-tokens"}]},{"group":"TypeSafe","expanded":true,"pages":[{"title":"System One evaluation","openapi":"post /v3/compat/v1/systemone","href":"/v3-api-reference/compatibility/systemone"}]},{"group":"Other","expanded":true,"pages":[{"title":"OpenResponses","openapi":"post /v3/compat/openresponses","href":"/v3-api-reference/compatibility/openresponses"}]}]},{"group":"Multimodality","pages":[{"group":"Images","pages":[{"title":"Generate an image","openapi":"post /v3/images","href":"/v3-api-reference/images/create-image"},{"title":"List image models","openapi":"get /v3/images/models","href":"/v3-api-reference/images/list-image-models"}]},{"group":"Audio","pages":[{"title":"Generate speech","openapi":"post /v3/audio/speech","href":"/v3-api-reference/audio/create-speech"},{"title":"Transcribe audio","openapi":"post /v3/audio/transcriptions","href":"/v3-api-reference/audio/create-transcription"},{"title":"Generate audio","openapi":"post /v3/audio/generations","href":"/v3-api-reference/audio/create-audio-generation"},{"title":"List audio models","openapi":"get /v3/audio/models","href":"/v3-api-reference/audio/list-audio-models"},{"title":"Create Voice","openapi":"post /v3/audio/voices","href":"/v3-api-reference/audio/create-voice"},{"title":"List Voices","openapi":"get /v3/audio/voices","href":"/v3-api-reference/audio/list-voices"},{"title":"Get Voice","openapi":"get /v3/audio/voices/{id}","href":"/v3-api-reference/audio/get-voice"},{"title":"Delete Voice","openapi":"delete /v3/audio/voices/{id}","href":"/v3-api-reference/audio/delete-voice"}]},{"group":"Video","pages":[{"title":"Generate a video","openapi":"post /v3/videos","href":"/v3-api-reference/video/create-video"},{"title":"List video models","openapi":"get /v3/videos/models","href":"/v3-api-reference/video/list-video-models"}]},{"group":"Webhooks","pages":[{"title":"Get the webhook signing secret","openapi":"get /v3/webhooks/secret","href":"/v3-api-reference/webhooks/get-webhook-secret"},{"title":"Rotate the webhook signing secret","openapi":"post /v3/webhooks/secret/rotate","href":"/v3-api-reference/webhooks/rotate-webhook-secret"},{"title":"Get the webhook settings","openapi":"get /v3/webhooks/settings","href":"/v3-api-reference/webhooks/get-webhook-settings"},{"title":"Update the webhook settings","openapi":"patch /v3/webhooks/settings","href":"/v3-api-reference/webhooks/update-webhook-settings"},{"title":"Send a test webhook","openapi":"post /v3/webhooks/test","href":"/v3-api-reference/webhooks/test-webhook"}]},{"group":"Rerank","pages":[{"title":"Rerank documents","openapi":"post /v3/rerank","href":"/v3-api-reference/rerank/rerank-documents"}]},{"group":"OCR","pages":[{"title":"Extract text (OCR)","openapi":"post /v3/ocr","href":"/v3-api-reference/ocr/extract-text"},{"title":"List OCR models","openapi":"get /v3/ocr/models","href":"/v3-api-reference/ocr/list-ocr-models"}]}]},{"group":"Files","pages":[{"title":"Upload a file","openapi":"post /v3/files","href":"/v3-api-reference/files/upload-file"},{"title":"List files","openapi":"get /v3/files","href":"/v3-api-reference/files/list-files"},{"title":"Get file metadata","openapi":"get /v3/files/{id}","href":"/v3-api-reference/files/get-file"},{"title":"Get a file download URL","openapi":"get /v3/files/{id}/content","href":"/v3-api-reference/files/get-file-content"},{"title":"Set or clear a file's expiry","openapi":"patch /v3/files/{id}","href":"/v3-api-reference/files/update-file"},{"title":"Delete a file","openapi":"delete /v3/files/{id}","href":"/v3-api-reference/files/delete-file"}]},{"group":"Realtime","pages":[{"title":"Realtime protocol","href":"/v3-api-reference/realtime/protocol"},{"title":"Mint realtime ticket","href":"/v3-api-reference/realtime/create-realtime-session"}]},{"group":"Roundtable","pages":[{"openapi":"post /v3/roundtable","title":"Roundtable","href":"/v3-api-reference/roundtable/create-roundtable"}]},{"group":"Platform APIs","pages":[{"group":"Generations","pages":[{"openapi":"get /v3/generations","title":"List generations","href":"/v3-api-reference/generations/list-generations"},{"openapi":"get /v3/generations/{id}","title":"Get generation","href":"/v3-api-reference/generations/get-generation"},{"openapi":"delete /v3/generations/{id}","title":"Delete generation","href":"/v3-api-reference/generations/delete-generation"}]},{"group":"Management","pages":[{"openapi":"get /management/v1/projects","title":"List projects","href":"/v3-api-reference/management/list-projects"},{"openapi":"post /management/v1/projects","title":"Create a project","href":"/v3-api-reference/management/create-project"},{"openapi":"get /management/v1/projects/{uuid}","title":"Get a project","href":"/v3-api-reference/management/get-project"},{"openapi":"patch /management/v1/projects/{uuid}","title":"Update a project","href":"/v3-api-reference/management/update-project"},{"openapi":"delete /management/v1/projects/{uuid}","title":"Delete a project","href":"/v3-api-reference/management/delete-project"},{"openapi":"get /management/v1/projects/{uuid}/api-keys","title":"List a project's API keys","href":"/v3-api-reference/management/list-api-keys"},{"openapi":"post /management/v1/projects/{uuid}/api-keys","title":"Mint an API key","href":"/v3-api-reference/management/create-api-key"},{"openapi":"delete /management/v1/projects/{uuid}/api-keys/{id}","title":"Delete an API key","href":"/v3-api-reference/management/delete-api-key"},{"openapi":"get /management/v1/projects/{uuid}/webhook","title":"Get a project's webhook","href":"/v3-api-reference/management/get-project-webhook"},{"openapi":"patch /management/v1/projects/{uuid}/webhook","title":"Set or clear a project's webhook URL","href":"/v3-api-reference/management/update-project-webhook"},{"openapi":"get /management/v1/projects/{uuid}/webhook/secret","title":"Get a project's webhook signing secret","href":"/v3-api-reference/management/get-project-webhook-secret"},{"openapi":"post /management/v1/projects/{uuid}/webhook/secret/rotate","title":"Rotate a project's webhook signing secret","href":"/v3-api-reference/management/rotate-project-webhook-secret"},{"openapi":"post /management/v1/projects/{uuid}/webhook/test","title":"Send a test webhook for a project","href":"/v3-api-reference/management/test-project-webhook"},{"openapi":"get /management/v1/members","title":"List members","href":"/v3-api-reference/management/list-members"},{"openapi":"delete /management/v1/members/{user_uuid}","title":"Remove a member","href":"/v3-api-reference/management/remove-member"},{"openapi":"get /management/v1/invites","title":"List invitations","href":"/v3-api-reference/management/list-invites"},{"openapi":"post /management/v1/invites","title":"Invite a member","href":"/v3-api-reference/management/create-invite"},{"openapi":"delete /management/v1/invites/{id}","title":"Revoke an invitation","href":"/v3-api-reference/management/revoke-invite"},{"openapi":"get /management/v1/dynamic-routes","title":"List dynamic routes","href":"/v3-api-reference/management/list-dynamic-routes"},{"openapi":"post /management/v1/dynamic-routes","title":"Create a dynamic route","href":"/v3-api-reference/management/create-dynamic-route"},{"openapi":"get /management/v1/dynamic-routes/{name}","title":"Get a dynamic route","href":"/v3-api-reference/management/get-dynamic-route"},{"openapi":"put /management/v1/dynamic-routes/{name}/draft","title":"Replace the draft","href":"/v3-api-reference/management/update-dynamic-route-draft"},{"openapi":"post /management/v1/dynamic-routes/{name}/deploy","title":"Deploy the draft","href":"/v3-api-reference/management/deploy-dynamic-route"},{"openapi":"post /management/v1/dynamic-routes/{name}/simulate","title":"Simulate a request through the route","href":"/v3-api-reference/management/simulate-dynamic-route"},{"openapi":"get /management/v1/dynamic-routes/{name}/versions","title":"List a route's versions","href":"/v3-api-reference/management/list-dynamic-route-versions"},{"openapi":"get /management/v1/dynamic-routes/{name}/versions/{version_number}","title":"Get a version","href":"/v3-api-reference/management/get-dynamic-route-version"},{"openapi":"post /management/v1/dynamic-routes/{name}/versions/{version_number}/rollback","title":"Roll back to a version","href":"/v3-api-reference/management/rollback-dynamic-route"},{"openapi":"post /management/v1/dynamic-routes/{name}/versions/{version_number}/restore-to-draft","title":"Copy a version into the draft","href":"/v3-api-reference/management/restore-dynamic-route-version-to-draft"},{"openapi":"delete /management/v1/dynamic-routes/{name}","title":"Delete a dynamic route","href":"/v3-api-reference/management/delete-dynamic-route"},{"openapi":"get /management/v1/controls/rules","title":"List control rules","href":"/v3-api-reference/management/list-control-rules"},{"openapi":"post /management/v1/controls/rules","title":"Create a control rule","href":"/v3-api-reference/management/create-control-rule"},{"openapi":"patch /management/v1/controls/rules/{uuid}","title":"Update a control rule","href":"/v3-api-reference/management/update-control-rule"},{"openapi":"delete /management/v1/controls/rules/{uuid}","title":"Delete a control rule","href":"/v3-api-reference/management/delete-control-rule"},{"openapi":"get /management/v1/usage","title":"Get usage and cost","href":"/v3-api-reference/management/get-usage"},{"openapi":"post /management/v1/management-keys/_self/disable","title":"Disable the calling management key","href":"/v3-api-reference/management/disable-management-key"}]},{"group":"Models","pages":[{"openapi":"get /v3/models","title":"List models","href":"/v3-api-reference/models/list-models"}]},{"group":"Spans","pages":[{"openapi":"post /v3/spans","title":"Create span","href":"/v3-api-reference/spans/create-span"},{"openapi":"patch /v3/spans/{id}","title":"Update span","href":"/v3-api-reference/spans/update-span"}]},{"group":"Tools","pages":[{"openapi":"post /v3/tools/web/fetch","title":"Web fetch","href":"/v3-api-reference/tools/web-fetch"},{"openapi":"post /v3/tools/web/search","title":"Web search","href":"/v3-api-reference/tools/web-search"}]},{"group":"System","pages":[{"openapi":"get /health","title":"Health check","href":"/v3-api-reference/system/health-check"},{"openapi":"get /v3/openapi.json","title":"OpenAPI spec (JSON)","href":"/v3-api-reference/system/openapi-spec-json"},{"openapi":"get /v3/openapi.yaml","title":"OpenAPI spec (YAML)","href":"/v3-api-reference/system/openapi-spec-yaml"}]}]}]}]},"basePath":"","title":"Interactions - Opper","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}