Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
247 changes: 245 additions & 2 deletions .speakeasy/in.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10299,6 +10299,15 @@ components:
example: 'https://contoso.openai.azure.com'
minLength: 1
type: 'string'
declared_parameters:
description: 'Parameters the upstream supports beyond the tested ones. Replaces the earlier declaration; tested parameters stay. Order and repeated names are ignored, but the list holds at most as many entries as there are declarable parameters, repeats included. `tool_choice` requires `tools` to be tested or declared.'
example:
- 'temperature'
- 'seed'
items:
$ref: '#/components/schemas/PrivateEndpointDeclaredParameter'
maxItems: 25
type: 'array'
declared_region:
description: 'Attest where this deployment processes data.'
enum:
Expand All @@ -10315,6 +10324,12 @@ components:
type:
- 'boolean'
- 'null'
max_completion_tokens:
description: 'Cap on completion tokens per request. Requests asking for more skip this endpoint, and the default output length stays within it. When omitted, the cap is copied from the public endpoint for the same model and provider, if there is one.'
example: 131072
maximum: 2147483647
minimum: 1
type: 'integer'
model_permaslug:
description: 'Permanent slug of the model this endpoint serves.'
example: 'openai/gpt-4o-2024-08-06'
Expand Down Expand Up @@ -16039,6 +16054,12 @@ components:
type:
- 'boolean'
- 'null'
max_completion_tokens:
description: 'Most completion tokens a request routed to this endpoint can produce, or `null` when the endpoint sets no cap beyond the model context length.'
example: 131072
type:
- 'integer'
- 'null'
required:
- 'declared_zdr'
- 'declared_region'
Expand Down Expand Up @@ -25410,9 +25431,13 @@ components:
PrivateEndpoint:
example:
base_url: 'https://contoso.openai.azure.com'
declared_parameters:
- 'temperature'
- 'seed'
declared_region: 'us'
declared_zdr: true
id: '5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11'
max_completion_tokens: 131072
model_name: 'OpenAI: GPT-4o'
model_permaslug: 'openai/gpt-4o-2024-08-06'
model_slug: 'openai/gpt-4o'
Expand All @@ -25424,6 +25449,10 @@ components:
provider_name: 'Azure'
provider_slug: 'azure'
status: 'active'
tested_parameters:
- 'tools'
- 'tool_choice'
- 'response_format'
upstream_model_id: 'gpt-4o-prod'
properties:
base_url:
Expand All @@ -25432,6 +25461,14 @@ components:
type:
- 'string'
- 'null'
declared_parameters:
description: 'Parameters you declared the upstream supports. Requests that use a parameter only route to this endpoint when it is tested or declared.'
example:
- 'temperature'
- 'seed'
items:
type: 'string'
type: 'array'
declared_region:
$ref: '#/components/schemas/PrivateEndpointDeclaredRegion'
declared_zdr:
Expand All @@ -25445,6 +25482,12 @@ components:
example: '5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11'
format: 'uuid'
type: 'string'
max_completion_tokens:
description: 'Most completion tokens a request routed to this endpoint can produce, or `null` when the endpoint sets no cap beyond the model context length.'
example: 131072
type:
- 'integer'
- 'null'
model_name:
description: 'Display name of the model, or `null` when the model is no longer listed.'
example: 'OpenAI: GPT-4o'
Expand Down Expand Up @@ -25475,6 +25518,15 @@ components:
- 'null'
status:
$ref: '#/components/schemas/PrivateEndpointStatus'
tested_parameters:
description: 'Parameters a validation run proved the upstream honors (`tools`, `tool_choice`, `response_format`, `structured_outputs`, `stop`). Read-only; cleared when the upstream configuration changes.'
example:
- 'tools'
- 'tool_choice'
- 'response_format'
items:
type: 'string'
type: 'array'
upstream_model_id:
description: 'Model or deployment identifier sent to the upstream provider.'
example: 'gpt-4o-prod'
Expand All @@ -25492,6 +25544,8 @@ components:
- 'declared_zdr'
- 'declared_region'
- 'pricing'
- 'tested_parameters'
- 'declared_parameters'
type: 'object'
PrivateEndpointActivation:
description: 'Validate and activate in the same call. On a failed validation the draft is kept and returned with a 422, so fix it and call `/validate` and `/activate` instead of creating it again.'
Expand Down Expand Up @@ -25559,6 +25613,36 @@ components:
- 'validation_stale'
example: 'no_byok_key'
type: 'string'
PrivateEndpointDeclaredParameter:
description: 'A chat request parameter the endpoint accepts.'
enum:
- 'temperature'
- 'top_p'
- 'top_k'
- 'min_p'
- 'top_a'
- 'frequency_penalty'
- 'presence_penalty'
- 'repetition_penalty'
- 'max_tokens'
- 'max_completion_tokens'
- 'logit_bias'
- 'logprobs'
- 'top_logprobs'
- 'prediction'
- 'seed'
- 'response_format'
- 'structured_outputs'
- 'stop'
- 'tools'
- 'tool_choice'
- 'parallel_tool_calls'
- 'reasoning'
- 'reasoning_effort'
- 'web_search_options'
- 'verbosity'
example: 'seed'
type: 'string'
PrivateEndpointDeclaredRegion:
description: 'Where you attest this deployment processes data. `global` means not regional; `null` means undeclared.'
enum:
Expand All @@ -25570,6 +25654,20 @@ components:
type:
- 'string'
- 'null'
PrivateEndpointParameterCheck:
example:
parameter: 'response_format'
supported: true
properties:
parameter:
example: 'response_format'
type: 'string'
supported:
type: 'boolean'
required:
- 'parameter'
- 'supported'
type: 'object'
PrivateEndpointPricing:
description: 'Negotiated per-token rates reported for requests routed to this endpoint.'
example:
Expand Down Expand Up @@ -25665,6 +25763,11 @@ components:
items:
$ref: '#/components/schemas/PrivateEndpointCheck'
type: 'array'
parameters:
description: 'Request parameters probed after the checks passed, each with whether the upstream honored it. Supported ones are recorded in `tested_parameters`. Absent on a failed run and for providers that run no parameter probes; empty when every probe group was already proven.'
items:
$ref: '#/components/schemas/PrivateEndpointParameterCheck'
type: 'array'
passed:
description: 'Whether every check passed.'
example: true
Expand All @@ -25679,6 +25782,11 @@ components:
items:
$ref: '#/components/schemas/PrivateEndpointCheck'
type: 'array'
parameters:
description: 'Request parameters probed after the checks passed, each with whether the upstream honored it. Supported ones are recorded in `tested_parameters`. Absent on a failed run and for providers that run no parameter probes; empty when every probe group was already proven.'
items:
$ref: '#/components/schemas/PrivateEndpointParameterCheck'
type: 'array'
passed:
description: 'Whether every check passed.'
example: true
Expand Down Expand Up @@ -31964,6 +32072,20 @@ components:
required:
- 'is_filtered_model_catalog_enabled'
type: 'object'
UpdatePrivateEndpointParametersRequest:
properties:
declared_parameters:
description: 'Parameters the upstream supports beyond the tested ones. Replaces the earlier declaration; tested parameters stay. Order and repeated names are ignored, but the list holds at most as many entries as there are declarable parameters, repeats included. `tool_choice` requires `tools` to be tested or declared.'
example:
- 'temperature'
- 'seed'
items:
$ref: '#/components/schemas/PrivateEndpointDeclaredParameter'
maxItems: 25
type: 'array'
required:
- 'declared_parameters'
type: 'object'
UpdatePrivateEndpointPricingRequest:
properties:
pricing:
Expand Down Expand Up @@ -46096,12 +46218,12 @@ paths:
description: 'Create a private endpoint as a draft. Drafts are not routable: validate one with `POST /private-endpoints/{id}/validate`, then activate it with `POST /private-endpoints/{id}/activate`. Pass `activate` to do all three in one call; if validation fails the draft is kept and returned with the failed checks. Send an `Idempotency-Key` header to make retries safe: a repeated key with the same request returns the endpoint the first request created; reusing it with different fields returns 422 `idempotency_key_reused`. [Management key](/docs/guides/overview/auth/management-api-keys) required.'
operationId: 'createPrivateEndpoint'
parameters:
- description: 'Retry-safe create: a repeated create with the same key from the same organization returns the endpoint the first request created instead of creating another. The endpoint is returned as it is now. Reusing a key with a different request body (model, provider, base URL, upstream model ID, declared ZDR or region, or pricing) is rejected with 422 `idempotency_key_reused`. `activate` is not compared, and later edits to the endpoint do not affect the comparison.'
- description: 'Retry-safe create: a repeated create with the same key from the same organization returns the endpoint the first request created instead of creating another. The endpoint is returned as it is now. Reusing a key with a different request body (model, provider, base URL, upstream model ID, declared ZDR or region, pricing, or declared parameters) is rejected with 422 `idempotency_key_reused`. Declared parameters are compared as a set, so a retry that reorders or repeats a name replays the endpoint. `activate` and `max_completion_tokens` are not compared, and later edits to the endpoint do not affect the comparison.'
in: 'header'
name: 'idempotency-key'
required: false
schema:
description: 'Retry-safe create: a repeated create with the same key from the same organization returns the endpoint the first request created instead of creating another. The endpoint is returned as it is now. Reusing a key with a different request body (model, provider, base URL, upstream model ID, declared ZDR or region, or pricing) is rejected with 422 `idempotency_key_reused`. `activate` is not compared, and later edits to the endpoint do not affect the comparison.'
description: 'Retry-safe create: a repeated create with the same key from the same organization returns the endpoint the first request created instead of creating another. The endpoint is returned as it is now. Reusing a key with a different request body (model, provider, base URL, upstream model ID, declared ZDR or region, pricing, or declared parameters) is rejected with 422 `idempotency_key_reused`. Declared parameters are compared as a set, so a retry that reorders or repeats a name replays the endpoint. `activate` and `max_completion_tokens` are not compared, and later edits to the endpoint do not affect the comparison.'
example: 'wayfair-gpt-4o-eastus-2026-09'
maxLength: 255
minLength: 1
Expand Down Expand Up @@ -46867,6 +46989,127 @@ paths:
tags:
- 'Private Endpoints'
x-speakeasy-name-override: 'enable'
/private-endpoints/{id}/parameters:
put:
description: 'Declare which request parameters the upstream supports beyond the ones validation proved. Applies to drafts and active endpoints; routing picks the change up for subsequent requests. The body replaces the earlier declaration and is read as a set: order and repeated names do not matter, but the list holds at most as many entries as there are declarable parameters, repeats included. `tested_parameters` stay. Returns 400 `parameters_invalid` when `tool_choice` is declared without `tools` being tested or declared. [Management key](/docs/guides/overview/auth/management-api-keys) required.'
operationId: 'updatePrivateEndpointParameters'
parameters:
- description: 'Stable identifier of the private endpoint.'
in: 'path'
name: 'id'
required: true
schema:
description: 'Stable identifier of the private endpoint.'
example: '5b1c4c4e-7d0a-4a8e-9f3a-2d6c1b0e8a11'
format: 'uuid'
type: 'string'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdatePrivateEndpointParametersRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PrivateEndpointResponse'
description: 'The endpoint with its new declared parameters'
'400':
content:
application/json:
example:
error:
code: 400
message: 'Invalid request parameters'
schema:
$ref: '#/components/schemas/BadRequestResponse'
description: 'Bad Request - Invalid request parameters or malformed input'
'401':
content:
application/json:
example:
error:
code: 401
message: 'Missing Authentication header'
schema:
$ref: '#/components/schemas/UnauthorizedResponse'
description: 'Unauthorized - Authentication required or invalid credentials'
'403':
content:
application/json:
example:
error:
code: 403
message: 'Only management keys can perform this operation'
schema:
$ref: '#/components/schemas/ForbiddenResponse'
description: 'Forbidden - Authentication successful but insufficient permissions'
'404':
content:
application/json:
example:
error:
code: 404
message: 'Resource not found'
schema:
$ref: '#/components/schemas/NotFoundResponse'
description: 'Not Found - Resource does not exist'
'408':
content:
application/json:
example:
error:
code: 408
message: 'Operation timed out. Please try again later.'
schema:
$ref: '#/components/schemas/RequestTimeoutResponse'
description: 'Request Timeout - Operation exceeded time limit'
'409':
content:
application/json:
example:
error:
code: 409
message: 'Resource conflict. Please try again later.'
schema:
$ref: '#/components/schemas/ConflictResponse'
description: 'Conflict - Resource conflict or concurrent modification'
'422':
content:
application/json:
example:
error:
code: 422
message: 'Invalid argument'
schema:
$ref: '#/components/schemas/UnprocessableEntityResponse'
description: 'Unprocessable Entity - Semantic validation failure'
'500':
content:
application/json:
example:
error:
code: 500
message: 'Internal Server Error'
schema:
$ref: '#/components/schemas/InternalServerResponse'
description: 'Internal Server Error - Unexpected server error'
'502':
content:
application/json:
example:
error:
code: 502
message: 'Provider returned error'
schema:
$ref: '#/components/schemas/BadGatewayResponse'
description: 'Bad Gateway - Provider/upstream API failure'
summary: 'Set private endpoint supported parameters'
tags:
- 'Private Endpoints'
x-speakeasy-name-override: 'updateParameters'
/private-endpoints/{id}/pricing:
put:
description: 'Set the negotiated per-token rates reported for requests routed to this endpoint. Applies to drafts and active endpoints; new rates take effect for subsequent requests. The body replaces the whole pricing object: omitting `cache_read` or `cache_write` reverts that rate to the provider pricing strategy''s default, even if it was set before. [Management key](/docs/guides/overview/auth/management-api-keys) required.'
Expand Down
Loading