Microsoft Azure AI Foundry Chat Completions API
Chat-formatted text generation
Chat-formatted text generation
openapi: 3.1.0
info:
title: Azure AI Foundry Model Inference REST Chat Completions API
version: '2024-10-21'
description: 'Data-plane REST API for running inference against models deployed in Microsoft
Azure AI Foundry (formerly Azure AI Studio). The endpoint exposes OpenAI-compatible
routes (`/chat/completions`, `/completions`, `/embeddings`) under the
`/openai/deployments/{deployment-id}` or `/openai/v1` path on a per-resource host.
Authentication uses either an API key (`api-key` header) or a Microsoft Entra ID
OAuth 2.0 bearer token (scope `https://ai.azure.com/.default`).
'
contact:
name: Microsoft Foundry
url: https://learn.microsoft.com/en-us/azure/ai-foundry/
servers:
- url: https://{resource}.services.ai.azure.com/openai
description: Foundry inference endpoint (per-resource)
variables:
resource:
default: my-foundry
description: Your Foundry resource name
- url: https://{resource}.openai.azure.com/openai
description: Compatible Azure OpenAI endpoint exposed by the Foundry resource
variables:
resource:
default: my-foundry
description: Your Foundry resource name
tags:
- name: Chat Completions
description: Chat-formatted text generation
paths:
/deployments/{deployment-id}/chat/completions:
post:
summary: Create a chat completion
operationId: createChatCompletion
tags:
- Chat Completions
parameters:
- in: path
name: deployment-id
required: true
schema:
type: string
description: Foundry deployment name
- in: query
name: api-version
required: true
schema:
type: string
default: '2024-10-21'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionRequest'
responses:
'200':
description: Chat completion response
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionResponse'
security:
- apiKey: []
- entra: []
/v1/chat/completions:
post:
summary: Create a chat completion (OpenAI v1-compatible route)
description: 'OpenAI-compatible route. The model deployment is selected by the `model`
field in the request body rather than the URL path.
'
operationId: createChatCompletionV1
tags:
- Chat Completions
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionRequest'
responses:
'200':
description: Chat completion response
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionResponse'
security:
- entra: []
- apiKey: []
components:
schemas:
ChatCompletionRequest:
type: object
required:
- messages
properties:
model:
type: string
description: Deployment name (for v1 route)
messages:
type: array
items:
$ref: '#/components/schemas/ChatMessage'
temperature:
type: number
top_p:
type: number
n:
type: integer
stream:
type: boolean
max_tokens:
type: integer
max_completion_tokens:
type: integer
stop:
type:
- string
- array
presence_penalty:
type: number
frequency_penalty:
type: number
user:
type: string
ChatCompletionResponse:
type: object
properties:
id:
type: string
object:
type: string
created:
type: integer
model:
type: string
choices:
type: array
items:
type: object
properties:
index:
type: integer
message:
$ref: '#/components/schemas/ChatMessage'
finish_reason:
type: string
usage:
type: object
properties:
prompt_tokens:
type: integer
completion_tokens:
type: integer
total_tokens:
type: integer
ChatMessage:
type: object
required:
- role
properties:
role:
type: string
enum:
- system
- user
- assistant
- tool
- developer
content:
type:
- string
- array
- 'null'
name:
type: string
securitySchemes:
apiKey:
type: apiKey
in: header
name: api-key
description: Foundry/Azure OpenAI resource API key
entra:
type: oauth2
description: Microsoft Entra ID OAuth 2.0 bearer token (scope https://ai.azure.com/.default)
flows:
clientCredentials:
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
scopes:
https://ai.azure.com/.default: Default Foundry inference scope