From 3ab646fd45a403bae2cce882661c6775020f0d3b Mon Sep 17 00:00:00 2001 From: Vrushank Vyas Date: Tue, 29 Sep 2026 11:43:53 +0530 Subject: [PATCH] Add the Decisions endpoint POST /decisions on the gateway plane, ported structure-only from Portkey-AI/openapi#160: the path, its request and response schemas, a Decisions tag in the Inference group, and a planes.yaml entry citing where it came from. The build stamped the docs URL, stubbed the overlay and regenerated the navigation fragment. Samples and prose were dropped, as for every other operation. Co-Authored-By: Claude Opus 5.5 --- _project/hrefs.yaml | 1 + _project/planes.yaml | 4 + build-report.txt | 14 +-- docs-navigation.json | 10 +++ openapi.yaml | 190 +++++++++++++++++++++++++++++++++++++++ overlays/docs-prose.yaml | 11 +++ tags-map.yaml | 2 + 7 files changed, 225 insertions(+), 7 deletions(-) diff --git a/_project/hrefs.yaml b/_project/hrefs.yaml index 8ce1c61..96199e1 100644 --- a/_project/hrefs.yaml +++ b/_project/hrefs.yaml @@ -48,6 +48,7 @@ hrefs: POST /images/variations: /aigw/api-reference/images/create-image-variation POST /embeddings: /aigw/api-reference/embeddings/create-embedding POST /rerank: /aigw/api-reference/rerank/create-rerank + POST /decisions: /aigw/api-reference/decisions/create-decisions POST /ocr: /aigw/api-reference/ocr/create-ocr POST /audio/speech: /aigw/api-reference/audio/create-speech POST /audio/transcriptions: /aigw/api-reference/audio/create-transcription diff --git a/_project/planes.yaml b/_project/planes.yaml index 8bfcf82..2075552 100644 --- a/_project/planes.yaml +++ b/_project/planes.yaml @@ -21,6 +21,9 @@ # `how` records where the call came from: # classification.yaml -- a human decided, see that file for the reasoning # inherited -- read off the base's server override, unverified +# portkey-openapi#160 -- added after the base linkage closed, from +# Portkey-AI/openapi#160, which serves it on +# the data plane; unverified against the API # vrushank.2026-09-15 -- the Phase 2 admin split, decided by capability # (Integrations, MCP Integrations, Secret References, # Org Guardrails, Deployments) and written out here @@ -135,6 +138,7 @@ gateway: "/batches/{batch_id}/output": inherited "/chat/completions": inherited "/completions": inherited + "/decisions": portkey-openapi#160 "/embeddings": inherited "/files": inherited "/files/{file_id}": inherited diff --git a/build-report.txt b/build-report.txt index b418139..224924c 100644 --- a/build-report.txt +++ b/build-report.txt @@ -1,16 +1,16 @@ Generated by scripts/build.py from openapi.yaml. -operations 187 -paths 121 -schemas 442 -tags 42 +operations 188 +paths 122 +schemas 446 +tags 43 -docs URLs 187 +docs URLs 188 x-mint.href on every operation, from _project/hrefs.yaml. These are public URLs: the build re-derives each one and fails if it has moved, because a tag rename changes them silently and links point at them. -prose 0 written of 417 fields +prose 0 written of 420 fields Authored in overlays/docs-prose.yaml under the grounding gate and merged into openapi.yaml by this script. Every prose field here is stripped and reapplied on each build, so nothing reaches the @@ -22,7 +22,7 @@ servers 1 root + 69 path override(s) first entry in a plane is the one Mintlify builds its sample from; the rest appear in its base-URL dropdown. The gateway is the root block, so its paths carry no override. - gateway 52 path(s) + gateway 53 path(s) https://aigw.portkey.ai/v1 -- Managed https://self-hosted-gateway-url.example.com/v1 -- Self-hosted -- replace with your own gateway host control-plane 51 path(s) diff --git a/docs-navigation.json b/docs-navigation.json index 7473b2b..871d26c 100644 --- a/docs-navigation.json +++ b/docs-navigation.json @@ -81,6 +81,16 @@ "POST /completions" ] }, + { + "group": "Decisions", + "openapi": { + "source": "https://raw.githubusercontent.com/PaloAltoNetworks/openapi/refs/heads/main/openapi.yaml", + "directory": "api-reference" + }, + "pages": [ + "POST /decisions" + ] + }, { "group": "Embeddings", "openapi": { diff --git a/openapi.yaml b/openapi.yaml index e486613..3b5180c 100644 --- a/openapi.yaml +++ b/openapi.yaml @@ -31,6 +31,8 @@ tags: description: '' - name: Completions description: '' +- name: Decisions + description: '' - name: Embeddings description: '' - name: Files @@ -1087,6 +1089,38 @@ paths: text_digest: '' x-mint: href: /aigw/api-reference/rerank/create-rerank + /decisions: + post: + operationId: createDecisions + tags: + - Decisions + summary: '' + description: '' + parameters: + - $ref: '#/components/parameters/PortkeyTraceId' + - $ref: '#/components/parameters/PortkeySpanId' + - $ref: '#/components/parameters/PortkeyParentSpanId' + - $ref: '#/components/parameters/PortkeySpanName' + - $ref: '#/components/parameters/PortkeyMetadata' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDecisionsRequest' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/CreateDecisionsResponse' + x-airs-provenance: + claims: [] + origin_kind: human + text_digest: '' + x-mint: + href: /aigw/api-reference/decisions/create-decisions /ocr: post: operationId: createOcr @@ -10093,6 +10127,162 @@ components: - object - results - model + DecisionsQuestion: + type: object + description: '' + properties: + type: + description: '' + type: string + enum: + - noul + - choice + - score + instructions: + description: '' + oneOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + x-oaiExpandable: true + criteria: + description: '' + nullable: true + oneOf: + - type: object + additionalProperties: true + - type: array + items: {} + x-oaiExpandable: true + required: + - type + - instructions + CreateDecisionsRequest: + type: object + description: '' + properties: + model: + description: '' + type: string + state: + description: '' + oneOf: + - type: string + - type: object + additionalProperties: true + - type: array + items: {} + x-oaiExpandable: true + questions: + description: '' + type: object + additionalProperties: + $ref: '#/components/schemas/DecisionsQuestion' + required: + - state + - model + - questions + DecisionsAnswer: + description: '' + oneOf: + - type: object + title: noul + description: '' + properties: + type: + type: string + enum: + - noul + noul: + type: number + description: '' + required: + - type + - noul + - type: object + title: choice + description: '' + properties: + type: + type: string + enum: + - choice + choice: + type: string + description: '' + probabilities: + type: object + description: '' + additionalProperties: + type: number + confidence: + type: number + description: '' + required: + - type + - choice + - probabilities + - confidence + - type: object + title: score + description: '' + properties: + type: + type: string + enum: + - score + score: + type: number + description: '' + legend: + type: object + description: '' + additionalProperties: + type: string + probabilities: + type: object + description: '' + additionalProperties: + type: number + confidence: + type: number + description: '' + required: + - type + - score + - probabilities + - confidence + x-oaiExpandable: true + CreateDecisionsResponse: + type: object + description: '' + properties: + model: + type: string + description: '' + answers: + type: object + description: '' + additionalProperties: + $ref: '#/components/schemas/DecisionsAnswer' + usage: + type: object + description: '' + properties: + input_tokens: + type: integer + description: '' + output_tokens: + type: integer + description: '' + provider: + type: string + description: '' + required: + - model + - answers CreateOcrRequest: type: object properties: diff --git a/overlays/docs-prose.yaml b/overlays/docs-prose.yaml index 3d2a1fa..04ac356 100644 --- a/overlays/docs-prose.yaml +++ b/overlays/docs-prose.yaml @@ -1633,3 +1633,14 @@ actions: claims: [] origin_kind: human text_digest: '' +- target: $.tags[?(@.name=='Decisions')] + update: + description: '' +- target: $.paths['/decisions'].post + update: + summary: '' + description: '' + x-airs-provenance: + claims: [] + origin_kind: human + text_digest: '' diff --git a/tags-map.yaml b/tags-map.yaml index 42ef1da..7d9c0e9 100644 --- a/tags-map.yaml +++ b/tags-map.yaml @@ -67,6 +67,8 @@ tags: - from: Rerank to: Rerank group: inference + - to: Decisions + group: inference - from: OCR to: OCR group: inference