POST
/
agents
/
{id}
/
query

Streaming

When streaming is enabled, the endpoint will emit events “answer” (answer of the model) and “endpoint_response” (full response of the endpoint)
import {
  EventStreamContentType,
  fetchEventSource,
} from '@microsoft/fetch-event-source';

let buffer = '';
let bufferEndpointResponse = '';
const ctrl = new AbortController();

await fetchEventSource(queryAgentURL, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        signal: ctrl.signal,
        body: JSON.stringify({
          streaming: true,
          query,
          conversationId,
          visitorId,
        }),

        async onopen(response) {
          if (response.status === 402) {
            throw new ApiError(ApiErrorType.USAGE_LIMIT);
          }
        },
        onmessage: (event) => {
          if (event.data === '[DONE]') {
            // End of stream
            ctrl.abort();

            try {
              const { sources, conversationId, visitorId } = JSON.parse(
                bufferEndpointResponse
              ) as ChatResponse;
            } catch {}
          } else if (event.data?.startsWith('[ERROR]')) {
            // ...
          } else if (event.event === "endpoint_response") {
            bufferEndpointResponse += event.data;
          } else if (event.event === "answer") {
            buffer += event.data;
            // ...
          }
       },
  });

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

ID of the agent

Body

application/json
query
string
required

This is the query you want to ask your agent.

conversationId
string

ID of the conversation (If not provided a new conversation is created)

filters
object
frequencyPenalty
number

Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.

maxTokens
number

The maximum number of tokens to generate in the chat completion.

modelName
enum<string>

Override agent model

Available options:
gpt_3_5_turbo,
gpt_3_5_turbo_16k,
gpt_4
presencePenalty
number

Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.

promptTemplate
string
deprecated

(DEPRECATED in favor of systemPrompt and userPrompt) Set the prompt template for this query

promptType
enum<string>
deprecated

(DEPRECATED in favor of systemPrompt and userPrompt) Set the prompt type for this query

Available options:
raw,
customer_support
streaming
boolean

Enable streaming

systemPrompt
string

Agent system prompt

temperature
number

Temperature of the model (min 0.0, max 1.0)

topP
number

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered. We generally recommend altering this or temperature but not both.

userPrompt
string

Agent user prompt

visitorId
string

ID of the participant that's sending the query (If not provided a new ID is created)

Response

200 - application/json
answer
string

The answer of the agent.

conversationId
string

ID of the conversation

sources
object[]
visitorId
string

ID of the participant that's sending the query