POST /api/v2/llm/proxy/openai/v1/responses
Foundry provides a proxy endpoint that forwards requests to the OpenAI Responses API ↗. This enables the use of open-source SDKs and tooling while benefiting from Foundry capabilities such as rate limiting, data governance, and usage tracking.
Third-party applications that use this endpoint via OAuth2 must request the api:use-language-models-execute operation scope.
| Name | Type | Description |
|---|---|---|
Authorization | string | Bearer token for authentication. |
Content-Type | string | Must be application/json. |
attribution | optional<string> | Comma-separated RIDs for usage attribution to a project. When omitted, all usage will be attributed directly to the calling user. |
traceParent | optional<string> | W3C Trace Context traceparent header for tracing and observability features. When omitted, in-platform observability features will not function. |
traceState | optional<string> | W3C Trace Context tracestate header for tracing and observability features. When omitted, in-platform observability features will not function. |
Note that Foundry clients such as the Python SDK and OSDK in the examples below will automatically set attribution, traceParent, and traceState headers.
This endpoint has the same shape as the OpenAI Responses API. Refer to the OpenAI Responses API documentation ↗ for the full schema.
The model field should be set to the language model's resource identifier, for example ri.language-model-service..language-model.gpt-5-2, which can be found in Model Catalog.
This endpoint enforces the same data governance as other AIP usage, such as zero data retention (ZDR) and georestriction requirements. We selectively enable provider API features that are compatible with these requirements. Usage is visible in Resource Management and is subject to rate limiting.
Copied!1 2 3 4 5 6 7 8curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://$HOSTNAME/api/v2/llm/proxy/openai/v1/responses" \ -d '{ "model": "ri.language-model-service..language-model.gpt-5-2", "input": "Hello, world" }'
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20from openai import OpenAI from foundry_sdk.v2.language_models.utils import ( get_foundry_token, get_openai_base_url, get_http_client, ) def openai_responses(prompt: str) -> str: # The client returned by get_http_client will automatically propagate # attribution and tracing headers client = OpenAI( api_key=get_foundry_token(preview=True), base_url=get_openai_base_url(preview=True), http_client=get_http_client(preview=True), ) return client.responses.create( model="ri.language-model-service..language-model.gpt-5-2", input=prompt ).output_text
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20import OpenAi from "openai"; import { PlatformClient } from "@osdk/client"; export default async function openAiResponses( platformClient: PlatformClient, prompt: string ): Promise<string> { // The PlatformClient fetch function will automatically propagate attribution // and tracing headers const client = new OpenAi({ apiKey: await platformClient.tokenProvider(), baseURL: platformClient.baseUrl + "/api/v2/llm/proxy/openai/v1", fetch: platformClient.fetch, }); const response = await client.responses.create({ model: "ri.language-model-service..language-model.gpt-5-2", input: prompt, }); return response.output[0].content[0].text; }