Pryon Generative Exchange API
The GenerativeExchange API from Pryon — 3 operation(s) for generativeexchange.
The GenerativeExchange API from Pryon — 3 operation(s) for generativeexchange.
openapi: 3.2.0
info:
title: pryon/api/ext/analytics/v1/analytics.proto Generative Exchange API
version: '1.0'
contact:
name: Pryon Product Support
url: https://pryon.zendesk.com
email: support@pryoninc.com
description: '# Introduction
The Pryon API blah blah blah.
# Authentication
When you sign up for an account, you are given your set of API credentials.
Pryon supports authentication in the form of JSON Web Tokens.
- JWT: authenticates each request by the http header: Authorization
For all API requests, you will have to include the Authorization header in the following form:
```javascript
Authorization: Bearer {encoded token}
```
'
license:
name: Pryon
url: https://pryon.com/license
termsOfService: https://pryon.com/terms
x-logo:
url: 'data:image/png;base64,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aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmZlMTQ1MGY1LTNlZDEtNDIyZi05NWM4LWM5MGFhYjc2NTQyMSIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphNDY0NjZiNi1jMWQ1LTRmOWQtODQ0ZC0xNGFjZDE4YmE2NTEiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyNTY4NGRiYS03ODg4LTQxZDItYjg3MC03ZTlmZWU0YjEzOTUiCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09Ik1hYyBPUyIKICAgR0lNUDpUaW1lU3RhbXA9IjE3MTQ4ODUyNzI3MjI4NTQiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zNiIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIGV4aWY6UGl4ZWxYRGltZW5zaW9uPSI0ODYiCiAgIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI1NjAiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0OjA1OjA0VDIyOjAxOjEwLTA3OjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyNDowNTowNFQyMjowMToxMC0wNzowMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjU2NzFkZjUwLTY1OGYtNGNmNC04NTg2LTEyYzUxMTM4ZjhlMCIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChNYWMgT1MpIgogICAgICBzdEV2dDp3aGVuPSIyMDI0LTA1LTA0VDIyOjAxOjEyLTA3OjAwIi8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICAgPGV4aWY6VXNlckNvbW1lbnQ+CiAgICA8cmRmOkFsdD4KICAgICA8cmRmOmxpIHhtbDpsYW5nPSJ4LWRlZmF1bHQiPlNjcmVlbnNob3Q8L3JkZjpsaT4KICAgIDwvcmRmOkFsdD4KICAgPC9leGlmOlVzZXJDb21tZW50PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+jRSL1AAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAAAd0SU1FB+gFBQUBDN+b84wAAAASdEVYdENvbW1lbnQAU2NyZWVuc2hvdPsRqwoAACAASURBVHja7d17lFX1Yejx354HM8NzhuGNCsMbVB6CD5KmARJvgzbXe21Sk6qNIY3GrETXXcm6yf2nXcn9oyY3KwnXRGMbMfERY6/VJK1iSwpaNUAQkJfyngEc3swDGGaGeez7hx07pSjnHGaYfc75fP7JWnG2nvM7++zv2fu3HyEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkExNzW2x9wFcrAJDABfv8LHT8bd/+FpY+buarI7a8lV74v+99PVQ39giztBHoiS8iF3VdVm1EZhcNTTKltd64NDJuKWlPWvGdsyoQWFAWXGUTevD2bMd8Xd+sjYcPd4UQghhzpUjwh23XhX6FRdmzftoPdsRP/Z3m8O2ncdDCCFcPmZQ+NoXrwuFhQVZ9Vn01vYmG9fL99Pc0h4fONR43n9WWd4/VFaUJf59Hjh0Mm5uafvAv5lSVZm1n1ciXvhX/3JFVv46H1peGmZOHxEmja8I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 '
altText: Pryon APIs
servers:
- url: https://api.pryon.net
description: Pryon Cloud
tags:
- name: GenerativeExchange
paths:
/api/conversation/v1/generative-exchanges:
post:
operationId: GenerativeExchange_CreateGenerativeExchange
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateGenerativeExchangeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetGenerativeExchangeResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
description: An unexpected error response.
tags:
- GenerativeExchange
x-codegen-request-body-name: body
summary: CreateGenerativeExchange
description: ''
parameters:
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
/api/conversation/v1/generative-exchanges/sse:
post:
description: 'CreateGenerativeExchangeSSE Service:
This service sends GenerativeExchangeSSEData messages with DELTA state as "Data-Only" Server-Sent Events (SSE) when available. The stream terminates with a GenerativeExchangeSSEData message containing the COMPLETE state.
Each message is sent approximately within a second or less of each other. If clients do not receive a message within their specified timeout, they should assume the connection is lost and attempt to reconnect.
Reference:
https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format
The following sequence of messages is sent for a single exchange request:
1. Clients establish a connection to the service by issuing a POST request to the /api/conversation/v1/generative-exchanges/sse endpoint.
2. The server processes the request and sends a response with a 200 OK status code, Content-Type header set to text/event-stream, and the first "Data-Only" message with a state of "DELTA". Notes that there is no Metadata or Reference in "DELTA" messages.
Example Messages:
Message 1: data: {"state": 2,"data": {"text": "hello"}}
Message 2: data: {"state": 2,"data": {"text": " "}}
Message 3: data: {"state": 2,"data": {"text": "world"}}
Message 4: data: {"state": 2,"data": {"text": "!"}}
The final message is sent when the service has completely processed the generative exchange request, and the server terminates the stream.
The final message contains a state of COMPLETE, and the GenerativeExchangeSSEData includes the entire text output of the exchange request (including Reference if there is any) as if it was created by the REST API (POST /api/conversation/v1/generative-exchanges).
Message 5 (final message): data: {"metadata": {...},"state": 3,"data": {"text": "hello world!","reference": [{"text_index_start": 0,"text_index_stop": 5,"exchange_output_index": 0}]}}'
operationId: GenerativeExchange_CreateGenerativeExchangeSSE
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/v1CreateGenerativeExchangeRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/v1GenerativeExchangeSSEData'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
description: An unexpected error response.
summary: CreateGenerativeExchangeSSE
tags:
- GenerativeExchange
x-codegen-request-body-name: body
parameters:
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
/api/conversation/v1/generative-exchanges/{generative_exchange_id}:
get:
operationId: GenerativeExchange_GetGenerativeExchange
parameters:
- description: Required. An ID representing the generative_exchange_id associated with this response object generated by the LLM.
in: path
name: generative_exchange_id
required: true
schema:
type: string
- description: Required. A string representing the ID of the knowledge domain associated with the generative exchange being created.
in: query
name: knowledge_domain_id
schema:
type: string
- name: Authentication
in: header
required: true
schema:
type: string
example: 'Authorization: Bearer {base64-encoded-token}'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/v1GetGenerativeExchangeResponse'
description: A successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/rpcStatus'
description: An unexpected error response.
tags:
- GenerativeExchange
summary: GetGenerativeExchange
description: ''
components:
schemas:
v1ExchangeResponseData:
properties:
exchange_id:
description: 'UUID generated by the entity creating the exchange response data resource.
The exchange_id can be used in the "feedback" API.'
type: string
conversation_id:
description: Conversation ID for subsequent calls, which is saved in the client and returned on the next request.
type: string
normalized_input:
$ref: '#/components/schemas/v1NormalizedExchangeInput'
output:
description: The Exchange result.
items:
$ref: '#/components/schemas/v1ExchangeOutput'
type: array
type: object
v1CreateGenerativeExchangeRequest:
properties:
knowledge_domain_id:
description: Required. A string representing the ID of the knowledge domain associated with the generative exchange being created.
type: string
exchange_data:
$ref: '#/components/schemas/v1ExchangeResponseData'
randomness:
description: Controls the randomness of the generated text, ranging from 0 to 1. Higher values result in more random text, while lower values produce more focused and deterministic text. The default value is 0, promoting deterministic and repetitive generative text.
format: float
type: number
max_answer_in_contexts_num:
description: Determines the maximum number of ExchangeOutput's answer_in_contexts to be considered when generating a response. The default value is 3.
format: int32
type: integer
min_answer_in_contexts_score:
description: Sets the minimum score of ExchangeOutput's answer_in_contexts to be considered when generating a response. The default value is 0.55.
format: float
type: number
collection_id:
title: UUID of the knowledge collection that supplied this exchange response
type: string
type: object
v1ResourceMetadata:
properties:
uuid:
description: UUID returned in the resource response, which represents the unique interaction with the API, that is, the response id.
type: string
create_time:
description: Time of the initial request.
format: date-time
type: string
update_time:
description: 'Time of the last update.
A value of 0 indicates it has never been updated.'
format: date-time
type: string
response_time_millis:
format: int64
title: Time difference in milliseconds between when the request was received and when the response was generated
type: integer
type: object
v1Attachment:
properties:
content_type:
description: "The content type of the additional information. Format of each type field is application/vnd.pryon.**{content_type}**. Commonly occurring types are:\n- **text** - The answer snippet or the text corresponding to detected short spans within the answer_in_context. Best_n will be the same string as the ‘text’ field and represents the ranking of the sentence within the AIC/chunk.\n- **answer_in_context** - Chunk of text identified as most relevant to the input query. The smaller text answer/reply is extracted from this larger text.\n- **answer_type** - Answer type or classification. Answer types include:\n - **TEXT_EXCERPT**: Default.\n - **FAQ**: An answer derived from the frequently asked questions.\n - **OUT_OF_DOMAIN**: A query that is out of domain.\n - **NON_ASCII_OUT_OF_SCOPE**: A query that is out of scope due to non ascii characters.\n - **BELOW_THRESHOLD**: The best answer scored below the minimum specified score.\n - **NO_ANSWER**: No suitably scored answer was found.\n- **answer_approval_id** - Approval ID of matching verified answer - valid UUID v4 string.\n- **score** - An approximation of the strength of the returned answer and answer_in_context chunk, or the float score returned from a model.\n- **level** - Configurable answer confidence levels to categorize outputs.\n- **content_id** - content_id of the knowledge domain content where the answer is located. A client application may use the content API to get more information abo
# --- truncated at 32 KB (42 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pryon/refs/heads/main/openapi/pryon-generativeexchange-api-openapi.yml