{ "info": { "title": "assistants", "version": "" }, "paths": { "/api/v1/assistants": { "get": { "tags": [ "assistants" ], "summary": "List assistants", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/assistantsResult" } } }, "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." } }, "parameters": [ { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "description": "The number of assistants to get." }, { "in": "query", "name": "next", "schema": { "type": "string" }, "description": "Optional parameter to request the next page." }, { "in": "query", "name": "prev", "schema": { "type": "string" }, "description": "Optional parameter to request the previous page." }, { "in": "query", "name": "sort", "schema": { "enum": [ "NAME", "-NAME", "DESCRIPTION", "-DESCRIPTION", "CREATED", "-CREATED", "UPDATED", "-UPDATED" ], "type": "string" }, "description": "Optional resource field name to sort on, case insensitive, e.g. `name`. Can be prefixed with `-` to set descending order; defaults to ascending." }, { "in": "query", "name": "spaceId", "schema": { "type": "string" }, "description": "Optional parameter to filter assistants by space ID." }, { "in": "query", "name": "countTotal", "schema": { "type": "boolean", "default": false }, "description": "Optional parameter to request total count for query.", "x-qlik-deprecated": true } ], "description": "Retrieves the list of assistants. The result can be filtered, sorted, and paginated.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "post": { "tags": [ "assistants" ], "summary": "Create an assistant", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Assistant" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant." } }, "description": "Successfully created an assistant." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." } }, "description": "Creates a new assistant.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createAssistant" } }, "multipart/form-data": { "schema": { "$ref": "#/components/schemas/createAssistantWithAvatar" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/actions/search": { "post": { "tags": [ "search" ], "summary": "Perform search on an assistant", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchResponse" } } }, "description": "Chunks retrieved successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The request is in incorrect format" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Assistant is not found." }, "405": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Method is not allowed." }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Prompt processing error." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID for the Assistant of interest" } ], "description": "Perform search with either `SIMPLE` or `FULL` mode. SIMPLE does semantic search while FULL does semantic search, reranking and hybrid search. Use topN to control number of chunks in response, max limit is 50. Default to 5.\n", "operationId": "searchAssistants", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/searchRequest" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/feedback": { "get": { "tags": [ "assistants" ], "summary": "Get feedback", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/feedbackSummary" } } }, "description": "Successfully retrieved the feedback summary for the assistant." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant from which to retrieve feedback summary." } ], "description": "Retrieves feedback summary for the assistant.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } } }, "/api/v1/assistants/{assistantId}/sources/plaintexts": { "post": { "tags": [ "assistants" ], "summary": "Bulk search source chunks", "responses": { "202": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/sourcesPlaintext" } } }, "description": "Successfully retrieved plaintext of the chunks." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The resource was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to search for source chunks." } ], "description": "Perform a bulk search for the plaintext of source chunks for the assistant.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ChunksRefs" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/starters": { "get": { "tags": [ "starters" ], "summary": "List starters", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/startersResult" } } }, "description": "Successfully retrieved the assistant's starters." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant from which to retrieve starters." }, { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "description": "The number of starters to get." }, { "in": "query", "name": "next", "schema": { "type": "string" }, "description": "Optional parameter to request the next page." }, { "in": "query", "name": "prev", "schema": { "type": "string" }, "description": "Optional parameter to request the previous page." }, { "in": "query", "name": "sort", "schema": { "enum": [ "QUESTION", "-QUESTION", "CREATED", "-CREATED", "UPDATED", "-UPDATED" ], "type": "string" }, "description": "Optional resource field name to sort on, case insensitive, e.g. `name`. Can be prefixed with `-` to set descending order; defaults to ascending." } ], "description": "Retrieves the list of starters for the assistant.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "post": { "tags": [ "starters" ], "summary": "Create a starter", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Starter" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant starter version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant starter." } }, "description": "Successfully created a new assistant starter." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format or starter limit exceeded." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to create the starter." } ], "description": "Creates a new starter for the assistant.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createStarter" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/starters/{starterId}": { "get": { "tags": [ "starters" ], "summary": "Get a starter", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Starter" } } }, "description": "Successfully retrieved the starter." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The starter was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested starter." }, { "in": "path", "name": "starterId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the starter to retrieve." } ], "description": "Retrieves the specified starter.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "put": { "tags": [ "starters" ], "summary": "Update a starter", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Starter" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant." } }, "description": "Successfully updated the starter." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The record was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested starter." }, { "in": "path", "name": "starterId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the starter to retrieve." } ], "description": "Updates the specified starter.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Starter" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "delete": { "tags": [ "starters" ], "summary": "Delete a starter", "responses": { "204": { "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested starter." }, { "in": "path", "name": "starterId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the starter to delete." } ], "description": "Deletes the starter and all of its resources.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/starters/{starterId}/followups/{followupId}": { "put": { "tags": [ "starters" ], "summary": "Update a Followup", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Starter" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the Followup." } }, "description": "Successfully updated the Followup." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The record was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested Followup." }, { "in": "path", "name": "followupId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Followup to update." }, { "in": "path", "name": "starterId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the starter containing the requested Followup." } ], "description": "Updates the specified Followup.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/followup" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "delete": { "tags": [ "starters" ], "summary": "Delete a Followup", "responses": { "204": { "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The Followup was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested Followup." }, { "in": "path", "name": "followupId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Followup to delete." }, { "in": "path", "name": "starterId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the starter containing the requested Followup." } ], "description": "Deletes the specified Followup.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads": { "get": { "tags": [ "threads" ], "summary": "List threads", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/threadsResult" } } }, "description": "Successfully retrieved the threads for the assistant." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant from which to retrieve threads." }, { "in": "query", "name": "filter", "schema": { "type": "string" }, "examples": { "favorite": { "value": "favorite eq \"true\"" }, "hasLikes": { "value": "summaryStats.likes gt \"0\"" }, "hasReview": { "value": "summaryStats.reviews gt \"0\"" }, "hasDislikes": { "value": "summaryStats.dislikes gt \"0\"" }, "hasFeedback": { "value": "hasFeedback eq \"true\"" }, "filterOwnerAndHideDeleted": { "value": "ownerId co \"669603a035eb5fedab45987f\" and not(deletedAt pr)" } }, "description": "Optional parameter to filter threads." }, { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "description": "The number of assistants to get." }, { "in": "query", "name": "next", "schema": { "type": "string" }, "description": "Optional parameter to request the next page." }, { "in": "query", "name": "prev", "schema": { "type": "string" }, "description": "Optional parameter to request the previous page." }, { "in": "query", "name": "sort", "schema": { "enum": [ "NAME", "-NAME", "CREATED", "-CREATED", "UPDATED", "-UPDATED" ], "type": "string" }, "description": "Optional resource field name to sort on, case insensitive, e.g. `name`. Can be prefixed with `-` to set descending order; defaults to ascending." } ], "description": "Retrieves the list of threads for the assistant.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "post": { "tags": [ "threads" ], "summary": "Create a thread", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Thread" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant thread version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant thread." } }, "description": "Successfully created a new assistant thread." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to create the thread." } ], "description": "Creates a new thread for the assistant.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createThread" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantid}/threads/{threadid}": { "get": { "tags": [ "threads" ], "summary": "Get a thread", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThreadWithMessages" } } }, "description": "Successfully retrieved the thread." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The thread was not found." } }, "parameters": [ { "in": "path", "name": "assistantid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested thread." }, { "in": "path", "name": "threadid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread to retrieve." } ], "description": "Retrieves a thread for the assistant.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "patch": { "tags": [ "threads" ], "summary": "Update thread properties", "responses": { "204": { "description": "Thread updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "Bad request. Payload could not be parsed to a JSON Patch or Patch operations are invalid." }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "Not authorized." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The term to patch was not found." }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "headers": { "retry-after": { "schema": { "type": "integer", "default": 1 }, "description": "The amount of seconds to wait before retrying the request." } }, "description": "The request has been rate-limited." } }, "parameters": [ { "in": "path", "name": "assistantid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested thread." }, { "in": "path", "name": "threadid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread to retrieve." } ], "description": "Updates the properties of an existing thread with JSON Patch-formatted data.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/threadPatchArray" } } }, "required": true }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "delete": { "tags": [ "threads" ], "summary": "Delete a thread", "responses": { "204": { "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "assistantid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested thread." }, { "in": "path", "name": "threadid", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread to retrieve." } ], "description": "Deletes the specified thread and all of its resources.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/actions/invoke": { "post": { "tags": [ "chat" ], "summary": "Execute synchronous prompt", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/promptOutputInvoke" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version" }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the Assistant" } }, "description": "Prompt is successfully executed." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The request is in incorrect format" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Assistant is not found." }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Prompt processing error." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Assistant containing requested Thread" }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Thread to retrieve" } ], "description": "Execute prompt in synchronous non-streaming mode.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/promptInput" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/actions/stream": { "post": { "tags": [ "chat" ], "summary": "Execute asynchronous prompt", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/promptOutput" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version" }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the Assistant" } }, "description": "Prompt is successfully executed." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The request is in incorrect format" }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Method is not allowed." }, "405": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Assistant is not found." }, "500": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponse" } } }, "description": "Prompt processing error." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Assistant containing requested Thread" }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the Thread to retrieve" } ], "description": "Execute prompt in asynchronous streaming mode.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/promptInput" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/interactions": { "get": { "tags": [ "threads" ], "summary": "List interactions", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/interactionsResult" } } }, "description": "Successfully retrieved the thread interactions." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The feedback was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant from which to retrieve the interactions." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860bb" }, "required": true, "description": "The ID of the thread from which to retrieve the interactions." }, { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 20, "maximum": 100, "minimum": 1 }, "description": "The number of feedback to get." }, { "in": "query", "name": "next", "schema": { "type": "string" }, "description": "Optional parameter to request the next page." }, { "in": "query", "name": "prev", "schema": { "type": "string" }, "description": "Optional parameter to request the previous page." }, { "in": "query", "name": "sort", "schema": { "enum": [ "CREATED", "-CREATED", "UPDATED", "-UPDATED" ], "type": "string" }, "description": "Optional resource field name to sort on, case insensitive, e.g. `created`. Can be prefixed with `-` to set descending order; defaults to ascending." } ], "description": "Retrieves the list of interactions for the thread.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "post": { "tags": [ "threads" ], "summary": "Create an interaction", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Interaction" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Thread feedback version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the thread interaction." } }, "description": "Successfully created a new thread interaction." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant or the thread was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to create the interaction." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread in which to create the interaction." } ], "description": "Creates a new interaction for the thread.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createInteraction" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/interactions/{interactionId}": { "get": { "tags": [ "threads" ], "summary": "Get an interaction", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Interaction" } } }, "description": "Successfully retrieved the interaction." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The interaction was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to retrieve the interaction." }, { "in": "path", "name": "interactionId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the interaction to retrieve." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread in which to retrieve the interaction." } ], "description": "Retrieves an interaction for the thread.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "delete": { "tags": [ "threads" ], "summary": "Delete an interaction", "responses": { "204": { "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The resource was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to delete the interaction." }, { "in": "path", "name": "interactionId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the interaction to delete." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread in which to delete the interaction." } ], "description": "Deletes the specified interaction and all of its resources.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/interactions/{interactionId}/feedback": { "post": { "tags": [ "threads" ], "summary": "Create feedback", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Interaction" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Thread feedback version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the thread feedback." } }, "description": "Successfully created a new thread feedback." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The resource was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to create the feedback." }, { "in": "path", "name": "interactionId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the interaction in which to create the feedback." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread in which to create the feedback." } ], "description": "Creates feedback for the thread.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createFeedback" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/interactions/{interactionId}/feedback/{feedbackId}": { "patch": { "tags": [ "threads" ], "summary": "Update feedback", "responses": { "204": { "headers": { "Etag": { "schema": { "type": "string" }, "description": "Feedback version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the feedback." } }, "description": "Successfully updated the feedback." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The resource was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant containing the requested feedback." }, { "in": "path", "name": "feedbackId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the feedback to update." }, { "in": "path", "name": "interactionId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the interaction containing the requested Feedback." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread containing the requested feedback." } ], "description": "Updates feedback for the thread.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/feedbackPatchArray" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{assistantId}/threads/{threadId}/interactions/{interactionId}/reviews": { "post": { "tags": [ "threads" ], "summary": "Create feedback review", "responses": { "201": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Interaction" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Thread feedback version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the thread feedback." } }, "description": "Successfully created a new thread feedback." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The user does not have privileges to perform the requested action." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "A resource was not found." } }, "parameters": [ { "in": "path", "name": "assistantId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant in which to create the feedback review." }, { "in": "path", "name": "interactionId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the interaction in which to create the feedback review." }, { "in": "path", "name": "threadId", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the thread in which to create the feedback review." } ], "description": "Creates feedback review for the thread.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createReview" } } } }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } }, "/api/v1/assistants/{id}": { "get": { "tags": [ "assistants" ], "summary": "Get an assistant", "responses": { "200": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Assistant" } } }, "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant." } }, "description": "Successfully retrieved the assistant." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant to retrieve." } ], "description": "Retrieves the specified assistant.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "1", "limit": 1000 } }, "patch": { "tags": [ "assistants" ], "summary": "Update assistant properties", "responses": { "204": { "headers": { "Etag": { "schema": { "type": "string" }, "description": "Assistant version." }, "Last-Modified": { "schema": { "type": "string" }, "description": "Last modified date and time of the assistant." } }, "description": "Assistant updated successfully." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "Bad request. Payload could not be parsed to a JSON Patch or Patch operations are invalid." }, "401": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "Not authorized." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The term to patch was not found." }, "429": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "headers": { "retry-after": { "schema": { "type": "integer", "default": 1 }, "description": "The amount of seconds to wait before retrying the request." } }, "description": "The request has been rate-limited." } }, "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The assistant ID." }, { "in": "header", "name": "if-match", "schema": { "type": "string", "example": "if-match: B323333" }, "description": "Optional header to do conditional updates. Using the Etag value that was returned the last time the assistant was fetched." } ], "description": "Updates the properties of an existing assistant with JSON Patch-formatted data.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/JSONPatchArray" } } }, "required": true }, "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } }, "delete": { "tags": [ "assistants" ], "summary": "Delete an assistant", "responses": { "204": { "description": "Successful operation." }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The request is in incorrect format." }, "403": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The operation failed due to insufficient permissions." }, "404": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorResponseCopy", "x-qlik-merge-conflict": true } } }, "description": "The assistant was not found." } }, "parameters": [ { "in": "path", "name": "id", "schema": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea" }, "required": true, "description": "The ID of the assistant to delete." } ], "description": "Deletes the assistant and all of its resources.", "x-qlik-visibility": "public", "x-qlik-stability": "stable", "x-qlik-deprecated": false, "x-qlik-tier": { "tier": "2", "limit": 100 } } } }, "openapi": "3.0.0", "components": { "schemas": { "Assistant": { "type": "object", "required": [ "id", "name", "description", "tags", "ownerId", "createdBy", "createdAt", "updatedBy", "updatedAt", "tenantId", "spaceId", "knowledgeBases", "welcomeMessage", "customProperties", "legacy" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the assistant." }, "name": { "type": "string", "example": "Organization-wide Assistant", "description": "The name of the assistant." }, "tags": { "type": "array", "items": { "type": "string" }, "example": [ "Red", "Sales" ], "description": "The list of tags associated with the assistant." }, "title": { "type": "string", "example": "Assistant for Sales activities", "description": "The title of the assistant." }, "ownerId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the assistant owner." }, "spaceId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the space containing the assistant." }, "tenantId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the assistant tenant." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the assistant was created." }, "createdBy": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "readOnly": true, "description": "Unique identifier of the user who created the assistant." }, "hasAvatar": { "type": "boolean", "example": true, "description": "Indicates if the assistant has an avatar." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the assistant was updated." }, "updatedBy": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "readOnly": true, "description": "Unique identifier of the user who last updated the assistant." }, "description": { "type": "string", "example": "This assistant is used for...", "description": "The description of the assistant." }, "systemMessage": { "type": "string", "example": "You are helpful Sales assistant. Provide concise and actionable insights.", "description": "System prompt setting up conversation context.", "x-qlik-deprecated": true }, "knowledgeBases": { "type": "array", "items": { "type": "string", "format": "uuid" }, "example": [ "507f191e810c19729de860ea" ], "description": "List of knowledgebases the assistant is using." }, "welcomeMessage": { "type": "string", "example": "Welcome to Sales process support Assistant.", "description": "Initial message in the chat conversation." }, "customProperties": { "type": "object", "example": { "customErrors": { "outsideScopeError": "Outside of scope error", "complexQuestionError": "Complex question error", "promptInjectionError": "Prompt injection error" } }, "description": "freeform JSON to allow custom customization options." }, "defaultPromptType": { "enum": [ "thread", "oneshot" ], "type": "string", "example": "thread", "description": "Default prompt type for the assistant." }, "orderedStarterIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "example": [ "507f191e810c19729de860ea", "787f191e810c19729de860er" ], "description": "List of starter IDs in the order they will be sorted." } } }, "assistantsResult": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Assistant" } }, "meta": { "$ref": "#/components/schemas/resultMeta" }, "links": { "$ref": "#/components/schemas/pageLinks" } } }, "chunk": { "type": "object", "required": [ "text", "chunkMeta" ], "properties": { "text": { "type": "string", "example": "LLM stands for Large Language Model", "description": "Text content of the chunk" }, "chunkMeta": { "$ref": "#/components/schemas/kbChunkMeta" }, "tfidfScore": { "type": "number", "example": 0.9, "description": "Score from keyword search" }, "searchSource": { "type": "string", "description": "search method for the chunk, e.g. `semantic search`, `keyword search` or `semantic and keyword search`" }, "semanticScore": { "type": "number", "example": 0.63, "description": "Similarity score from embedding match" } } }, "ChunksRefs": { "type": "object", "example": { "chunkIds": [ "c2ef42d9-7164-4fb0-bdbb-6534ae37263e", "486ada2c-f895-4961-8ba5-7995f1026d26" ] }, "required": [ "chunkIds" ], "properties": { "chunkIds": { "type": "array", "items": { "type": "string", "format": "uuid", "description": "Unique identifier of the Chunk." } } } }, "createAssistant": { "type": "object", "required": [ "name", "title", "description", "tags", "spaceId", "knowledgeBases", "welcomeMessage", "customProperties" ], "properties": { "name": { "type": "string", "example": "Organization-wide assistant", "description": "The name of the assistant." }, "tags": { "type": "array", "items": { "type": "string" }, "example": [ "Red", "Sales" ], "description": "The list of tags for the assistant." }, "title": { "type": "string", "example": "Assistant for Sales activities", "description": "The title of the assistant." }, "spaceId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the space to contain the assistant." }, "description": { "type": "string", "example": "This assistant is used for...", "description": "The description of the assistant." }, "systemMessage": { "type": "string", "example": "You are helpful Sales assistant. Provide concise and actionable insights.", "description": "System prompt setting up conversation context.", "x-qlik-deprecated": true }, "knowledgeBases": { "type": "array", "items": { "type": "string", "format": "uuid" }, "example": [ "507f191e810c19729de860ea" ], "description": "List of knowledgebases the assistant is using." }, "welcomeMessage": { "type": "string", "example": "Welcome to Sales process support Assistant.", "description": "Initial message in the chat conversation." }, "customProperties": { "type": "object", "example": { "customErrors": { "outsideScopeError": "Outside of scope error", "complexQuestionError": "Complex question error", "promptInjectionError": "Prompt injection error" } }, "description": "freeform JSON to allow custom customization options." }, "defaultPromptType": { "enum": [ "thread", "oneshot" ], "type": "string", "example": "thread", "description": "Default prompt type for the assistant." }, "orderedStarterIds": { "type": "array", "items": { "type": "string", "format": "uuid" }, "example": [ "507f191e810c19729de860ea", "787f191e810c19729de860er" ], "description": "List of starter IDs in the order they will be sorted." } } }, "createAssistantWithAvatar": { "type": "object", "required": [ "name", "title", "description", "tags", "spaceId", "knowledgeBases", "welcomeMessage", "customProperties" ], "properties": { "name": { "type": "string", "example": "Organization-wide assistant", "description": "The name of the assistant." }, "tags": { "type": "array", "items": { "type": "string" }, "example": [ "Red", "Sales" ], "description": "The list of tags for the assistant." }, "title": { "type": "string", "example": "Assistant for Sales activities", "description": "The title of the assistant." }, "avatar": { "type": "string", "format": "file", "description": "user uploaded avatar, filetype must be png" }, "spaceId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the space to contain the assistant." }, "description": { "type": "string", "example": "This assistant is used for...", "description": "The description of the assistant." }, "systemMessage": { "type": "string", "example": "You are helpful Sales assistant. Provide concise and actionable insights.", "description": "System prompt setting up conversation context.", "x-qlik-deprecated": true }, "knowledgeBases": { "type": "array", "items": { "type": "string", "format": "uuid" }, "example": [ "507f191e810c19729de860ea" ], "description": "List of knowledgebases the assistant is using." }, "welcomeMessage": { "type": "string", "example": "Welcome to Sales process support Assistant.", "description": "Initial message in the chat conversation." }, "customProperties": { "type": "object", "example": { "customErrors": { "outsideScopeError": "Outside of scope error", "complexQuestionError": "Complex question error", "promptInjectionError": "Prompt injection error" } }, "description": "freeform JSON to allow custom customization options." }, "defaultPromptType": { "enum": [ "thread", "oneshot" ], "type": "string", "example": "thread", "description": "Default prompt type for the assistant." } } }, "createFeedback": { "type": "object", "required": [ "vote", "reason" ], "properties": { "vote": { "type": "integer", "example": 1, "description": "Integer representation of feedback given (-1 = negative, 1 = positive)." }, "reason": { "type": "string", "example": "inaccurate | irrelevant | repetitive | unhelpful | other", "description": "Reason for feedback." }, "comment": { "type": "string", "description": "Optional comment for feedback." } } }, "createInteraction": { "type": "object", "required": [ "request", "response", "sources" ], "properties": { "request": { "type": "string", "example": "Where was Genghis Khan buried?", "description": "Interaction request content." }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/MessageSource" }, "description": "List of sources used to generate AI messages (interactions)." }, "rejected": { "type": "boolean", "example": true, "description": "Indicator the system marked request as suspicious." }, "response": { "type": "string", "example": "Somewhere in an unmarked grave", "description": "Interaction response content." }, "rejectionReason": { "$ref": "#/components/schemas/rejectionReason" } } }, "createReview": { "type": "object", "required": [ "reviewStatus" ], "properties": { "reviewStatus": { "type": "string", "example": "reviewed | unreviewed", "description": "Review status." } } }, "createStarter": { "type": "object", "required": [ "question" ], "properties": { "question": { "type": "string", "example": "Where was Genghis Khan buried?", "description": "Starter sample question." }, "followups": { "type": "array", "items": { "$ref": "#/components/schemas/followup" }, "maxItems": 5, "description": "List of followups." }, "additionalContext": { "type": "string", "description": "Optional context collected from curated meant to be leveraged by LLM-based question recommendation system." }, "recommendedAnswer": { "$ref": "#/components/schemas/recommendedAnswer" } } }, "createThread": { "type": "object", "required": [ "name" ], "properties": { "name": { "type": "string", "example": "Initial conversation", "description": "The name of the thread." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was created." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was updated." }, "useUserPreferredLanguage": { "type": "boolean", "example": false, "description": "Whether the thread should use the user's preferred language." } } }, "errorResponse": { "type": "object", "properties": { "errors": { "type": "array", "items": { "$ref": "#/components/schemas/errorResponseCode" } }, "traceId": { "type": "string", "example": "507f191e810c19729de860ea" } } }, "errorResponseCode": { "type": "object", "properties": { "code": { "type": "string", "description": "Custom error codes\n* AE-1 - Internal processing error\n* AE-2 - Incorrect request\n* AE-3 - Authentication issue\n* AE-4 - Prompt is rejected\n* AE-5 - Resource is not found\n* AE-6 - API usage rate limit is exceeded\n* AE-7 - Method is not allowed\n" }, "title": { "type": "string" }, "detail": { "type": "string" } } }, "errorResponseCodeCopy": { "type": "object", "properties": { "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" } } }, "errorResponseCopy": { "type": "object", "properties": { "errors": { "type": "array", "items": { "$ref": "#/components/schemas/errorResponseCodeCopy", "x-qlik-merge-conflict": true } }, "traceId": { "type": "string", "example": "507f191e810c19729de860ea" } } }, "Feedback": { "type": "object", "required": [ "id", "vote", "createdAt", "sources", "reviewStatus", "reason", "reviewerId", "comment" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique feedback identifier." }, "vote": { "type": "integer", "example": 1, "description": "Integer representation of feedback given (-1 = negative, 1 = positive)." }, "reason": { "type": "string", "example": "inaccurate | irrelevant | repetitive | unhelpful | other", "description": "Reason for feedback." }, "comment": { "type": "string", "description": "Optional comment for feedback." }, "reviewedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "description": "Datetime when the feedback was reviewed." }, "reviewerId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique feedback reviewer identifier." }, "reviewStatus": { "type": "string", "example": "reviewed | unreviewed", "description": "Feedback review status." } } }, "feedbackPatchArray": { "type": "array", "items": { "$ref": "#/components/schemas/JSONPatch" }, "example": [ { "op": "replace", "path": "/reason", "value": "irrelevant" } ], "description": "An array of JSON Patch documents." }, "feedbackSummary": { "type": "object", "required": [ "likes", "dislikes", "interactions", "reviews" ], "properties": { "likes": { "type": "integer", "description": "Amount of likes for a thread or an assistant." }, "other": { "type": "integer", "description": "Count of answers which users disliked and gave \"other\" as reason." }, "reviews": { "type": "integer", "description": "Amount of reviews for a thread or an assistant." }, "dislikes": { "type": "integer", "description": "Amount of dislikes for a thread or an assistant." }, "unhelpful": { "type": "integer", "description": "Count of answers which users marked as \"unhelpful\"." }, "inaccurate": { "type": "integer", "description": "Count of answers which users marked as \"inaccurate\"." }, "irrelevant": { "type": "integer", "description": "Count of answers which users marked as \"irrelevant\"." }, "repetitive": { "type": "integer", "description": "Count of answers which users marked as \"repetitive\"." }, "unanswered": { "type": "integer", "description": "Count of questions for which the assistant provided no answer." }, "interactions": { "type": "integer", "description": "Amount of interactions for a thread or an assistant." } } }, "followup": { "type": "object", "required": [ "question", "followups", "id", "recommendedAnswer", "additionalContext" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the Followup." }, "question": { "type": "string", "example": "Where was Genghis Khan buried?", "description": "Starter sample question." }, "additionalContext": { "type": "string", "description": "Optional context collected from curated meant to be leveraged by LLM-based question recommendation system." }, "recommendedAnswer": { "$ref": "#/components/schemas/recommendedAnswer" } } }, "Interaction": { "type": "object", "required": [ "id", "request", "response", "createdAt", "updatedAt", "sources", "ownerId", "threadId" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303" }, "ownerId": { "type": "string", "example": "65e310c43fb1cf46654e0878", "description": "Unique identifier of user which created the interaction." }, "request": { "type": "string", "example": "Where was Genghis Khan buried?", "description": "Interaction request content." }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/MessageSource" }, "description": "List of sources used to generate AI messages (interactions)." }, "feedback": { "$ref": "#/components/schemas/Feedback" }, "rejected": { "type": "boolean", "example": true, "description": "Indicator the system marked request as suspicious." }, "response": { "type": "string", "example": "Somewhere in an unmarked grave", "description": "Interaction response content." }, "threadId": { "type": "string", "format": "uuid", "example": "125c24c4-668c-4c97-bef8-30d910169913", "description": "ID of the thread to which the interaction belongs." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the interaction was created." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:55.52Z", "readOnly": true, "description": "Datetime when the interaction was updated." } } }, "interactionsResult": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Interaction" } }, "meta": { "$ref": "#/components/schemas/resultMeta" }, "links": { "$ref": "#/components/schemas/pageLinks" } } }, "JSONPatch": { "type": "object", "required": [ "op", "path", "value" ], "properties": { "op": { "enum": [ "replace", "add" ], "type": "string", "description": "The operation to be performed." }, "path": { "type": "string", "description": "A JSON Pointer." }, "value": { "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" } ], "description": "The value to be used for this operation." } }, "description": "A JSON Patch document as defined in http://tools.ietf.org/html/rfc6902." }, "JSONPatchArray": { "type": "array", "items": { "$ref": "#/components/schemas/JSONPatch" }, "example": [ { "op": "replace", "path": "/name", "value": "new name" }, { "op": "replace", "path": "/description", "value": "new description" }, { "op": "add", "path": "/defaultPromptType", "value": "thread" }, { "op": "remove", "path": "/avatar" }, { "op": "add", "path": "/avatar", "value": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAlAQAAAAAsYlcCAAAACklEQVR4AWMYBQABAwABRUEDtQAAAABJRU5ErkJggg==" }, { "op": "replace", "path": "/avatar", "value": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAlAQAAAAAsYlcCAAAACklEQVR4AWMYBQABAwABRUEDtQAAAABJRU5ErkJggg==" } ], "description": "An array of JSON Patch documents." }, "kbChunkMeta": { "type": "object", "required": [ "documentId", "datasourceId", "chunkId", "source", "knowledgeBaseId" ], "properties": { "source": { "type": "string", "description": "source of chunk" }, "chunkId": { "type": "string", "description": "chunkId" }, "documentId": { "type": "string", "description": "documentId of chunk" }, "datasourceId": { "type": "string", "description": "datasourceId of chunk" }, "knowledgeBaseId": { "type": "string", "description": "knowledgeBaseId of chunk" } }, "description": "Metadata about the chunk" }, "Message": { "type": "object", "required": [ "id", "role", "content", "createdAt", "sources" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303" }, "role": { "type": "string", "example": "ai", "description": "human or ai role." }, "content": { "type": "string", "example": "Somewhere in an unmarked grave", "description": "Message content." }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/MessageSource" }, "description": "List of sources used to generate AI messages (interactions)." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the interaction was created." } } }, "MessageSource": { "type": "object", "required": [ "knowledgebaseId", "datasourceId", "documentId", "source", "chunks" ], "properties": { "chunks": { "type": "array", "items": { "$ref": "#/components/schemas/MessageSourceChunk" }, "description": "List of Chunks used for \"AI\" generated messages." }, "source": { "type": "string", "example": "Reference.md", "description": "Path to the document used." }, "documentId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "Reference to Document used for \"AI\" generated messages." }, "datasourceId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "Reference to DataSource used for \"AI\" generated messages." }, "lastIndexedAt": { "type": "string", "example": "2021-10-02T14:20:50.52Z", "description": "Datetime when the knowledgebase was last indexed." }, "knowledgebaseId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "Reference to KnowledgeBase used for \"AI\" generated messages." } } }, "MessageSourceChunk": { "type": "object", "required": [ "chunkId" ], "properties": { "text": { "type": "string", "description": "Chunk text for \"AI\" generated message source." }, "chunkId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "Chunk unique identifier for \"AI\" generated message source." } } }, "pageLink": { "type": "object", "properties": { "href": { "type": "string" } } }, "pageLinks": { "type": "object", "properties": { "next": { "$ref": "#/components/schemas/pageLink" }, "prev": { "$ref": "#/components/schemas/pageLink" }, "self": { "$ref": "#/components/schemas/pageLink" } } }, "promptInput": { "type": "object", "properties": { "input": { "type": "object", "properties": { "prompt": { "type": "string", "example": "What is a LLM?", "description": "Input prompt string for the Assistant to respond to." }, "promptType": { "enum": [ "thread" ], "type": "string", "example": "thread", "description": "Sets the prompt type to thread." }, "includeText": { "type": "boolean", "example": true, "description": "Returns text from chunks in sources output. Default value is false." } } } } }, "promptOutput": { "type": "object", "properties": { "output": { "type": "string", "example": "LLM stands for Large Language Model", "description": "Assistant's response to the prompt" }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/source" }, "description": "List of sources used to generate AI messages" } } }, "promptOutputInvoke": { "type": "object", "properties": { "output": { "type": "string", "example": "LLM stands for Large Language Model", "description": "Assistant's response to the prompt" }, "sources": { "type": "array", "items": { "$ref": "#/components/schemas/source" }, "description": "List of sources used to generate AI messages" }, "question": { "type": "string", "example": "What was the primary goal of the Apollo program?", "description": "Question asked by the user for assistant to answer" } } }, "recommendedAnswer": { "type": "object", "required": [ "content", "contentType" ], "properties": { "content": { "type": "string", "description": "Starter answer content." }, "contentType": { "type": "string", "example": "text | markdown | html", "description": "Answer type of content." } } }, "rejectionReason": { "enum": [ 1, 2, 3 ], "type": "integer", "example": 1, "description": "Rejection reason for a question:\n * 1 - PROMPT_INJECTION\n * 2 - OUT_OF_CONTEXT\n * 3 - TOO_COMPLEX\n" }, "resultMeta": { "type": "object", "properties": { "countTotal": { "type": "integer" } } }, "searchRequest": { "type": "object", "required": [ "prompt" ], "properties": { "topN": { "type": "integer", "example": 20, "description": "Number of chunks to return in results." }, "prompt": { "type": "string", "example": "What is LLM?", "description": "Query text or question to search." }, "searchMode": { "enum": [ "SIMPLE", "FULL" ], "type": "string", "example": "SIMPLE", "description": "Search mode to use. Allowed values: `SIMPLE` and `FULL`. Default: `SIMPLE`.\n" } } }, "searchResponse": { "type": "object", "required": [ "chunks" ], "properties": { "chunks": { "type": "array", "items": { "$ref": "#/components/schemas/chunk" }, "description": "Retrieved document chunks" } } }, "source": { "type": "object", "properties": { "chunks": { "type": "array", "items": { "type": "object", "example": { "text": "LLM stands for Large Language Model", "chunkId": "10d347c4-f28a-4faf-93f0-48e781aaf303" } }, "description": "List of Chunks used for \"AI\" generated messages" }, "source": { "type": "string", "example": "Reference.md", "description": "path to the document used" }, "documentId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "reference to Document used for \"AI\" generated messages" }, "datasourceId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "reference to DataSource used for \"AI\" generated messages" }, "knowledgebaseId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303", "description": "reference to KnowledgeBase used for \"AI\" generated messages" } } }, "sourcesPlaintext": { "type": "object", "properties": { "textByChunkId": { "type": "object", "example": { "chunk1_id": "chunk1_text", "chunk2_id": "chunk2_text" }, "additionalProperties": true } } }, "Starter": { "type": "object", "required": [ "id", "question", "createdAt", "updatedAt", "additionalContext", "recommendedAnswer" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the starter." }, "question": { "type": "string", "example": "Where was Genghis Khan buried?", "description": "Starter sample question." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the starter was created." }, "followups": { "type": "array", "items": { "$ref": "#/components/schemas/followup" }, "description": "List of followups." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the starter was updated." }, "additionalContext": { "type": "string", "description": "Optional context collected from curated meant to be leveraged by LLM-based question recommendation system." }, "recommendedAnswer": { "$ref": "#/components/schemas/recommendedAnswer" } } }, "startersResult": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Starter" } }, "meta": { "$ref": "#/components/schemas/resultMeta" }, "links": { "$ref": "#/components/schemas/pageLinks" } } }, "Thread": { "type": "object", "required": [ "id", "name", "ownerId", "createdAt", "updatedAt", "hasFeedback", "favorite", "useUserPreferredLanguage", "summaryStats" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the thread." }, "name": { "type": "string", "example": "Initial conversation", "description": "The name of the thread." }, "ownerId": { "type": "string", "format": "uuid", "example": "10d347c4-f28a-4faf-93f0-48e781aaf303" }, "favorite": { "type": "boolean", "default": false, "example": false, "description": "If thread is marked as favorite." }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was created." }, "deletedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was deleted." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was updated." }, "hasFeedback": { "type": "boolean", "default": false, "example": false, "description": "If feedback was provided for a thread interaction." }, "summaryStats": { "$ref": "#/components/schemas/feedbackSummary" }, "useUserPreferredLanguage": { "type": "boolean", "default": false, "example": false, "description": "If the thread should respond in the user's preferred language." } } }, "threadPatchArray": { "type": "array", "items": { "$ref": "#/components/schemas/JSONPatch" }, "example": [ { "op": "replace", "path": "/name", "value": "new name" } ], "description": "An array of JSON Patch documents." }, "threadsResult": { "type": "object", "required": [ "data" ], "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/Thread" } }, "meta": { "$ref": "#/components/schemas/resultMeta" }, "links": { "$ref": "#/components/schemas/pageLinks" } } }, "ThreadWithMessages": { "type": "object", "required": [ "id", "name", "createdAt", "updatedAt", "ownerId", "hasFeedback", "favorite", "useUserPreferredLanguage", "messages", "summaryStats" ], "properties": { "id": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the thread." }, "name": { "type": "string", "example": "Initial conversation", "description": "The name of the thread." }, "ownerId": { "type": "string", "format": "uuid", "example": "507f191e810c19729de860ea", "description": "Unique identifier of the thread owner." }, "favorite": { "type": "boolean", "default": false, "example": false, "description": "If thread is marked as favorite." }, "messages": { "type": "array", "items": { "$ref": "#/components/schemas/Message" } }, "createdAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was created." }, "deletedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was deleted." }, "updatedAt": { "type": "string", "format": "date-time", "example": "2021-10-02T14:20:50.52Z", "readOnly": true, "description": "Datetime when the thread was updated." }, "hasFeedback": { "type": "boolean", "default": false, "example": false, "description": "If feedback was provided for a thread interaction." }, "summaryStats": { "$ref": "#/components/schemas/feedbackSummary" }, "useUserPreferredLanguage": { "type": "boolean", "default": false, "example": false, "description": "If the thread should respond in the user's preferred language." } } } } }, "servers": [ { "url": "https://{tenant}.{region}.qlikcloud.com", "variables": { "region": { "default": "us", "description": "The region the tenant is hosted in" }, "tenant": { "default": "your-tenant", "description": "Name of the tenant that will be called" } } } ] }