ArthurAI Chatbot API
The Chatbot API from ArthurAI — 2 operation(s) for chatbot.
The Chatbot API from ArthurAI — 2 operation(s) for chatbot.
openapi: 3.1.0
info:
title: Arthur GenAI Engine Agent Discovery Chatbot API
version: 2.1.688
tags:
- name: Chatbot
paths:
/api/v1/tasks/{task_id}/chatbot/stream:
post:
tags:
- Chatbot
summary: Stream a chatbot response
description: Send a message to the Arthur AI chatbot and receive a streaming response. The chatbot can call Arthur Engine API endpoints on your behalf.
operationId: stream_chatbot_api_v1_tasks__task_id__chatbot_stream_post
security:
- API Key: []
parameters:
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
title: Task Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ChatbotRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/chatbot/config:
get:
tags:
- Chatbot
summary: Get chatbot model configuration
description: Returns the model provider, model name, blacklisted endpoints, and available endpoints.
operationId: get_chatbot_config_api_v1_chatbot_config_get
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ChatbotConfigResponse'
security:
- API Key: []
put:
tags:
- Chatbot
summary: Update chatbot model configuration
description: Saves a new version of the chatbot prompt with the specified model provider and model name, and tags it as production.
operationId: update_chatbot_config_api_v1_chatbot_config_put
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatbotConfigUpdateRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ChatbotConfigResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- API Key: []
components:
schemas:
ChatbotConfigUpdateRequest:
properties:
model_provider:
anyOf:
- $ref: '#/components/schemas/ModelProvider'
- type: 'null'
model_name:
anyOf:
- type: string
- type: 'null'
title: Model Name
blacklist_endpoints:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Blacklist Endpoints
type: object
title: ChatbotConfigUpdateRequest
ChatbotConfigResponse:
properties:
model_provider:
$ref: '#/components/schemas/ModelProvider'
model_name:
type: string
title: Model Name
blacklist_endpoints:
items:
type: string
type: array
title: Blacklist Endpoints
default: []
available_endpoints:
items:
type: string
type: array
title: Available Endpoints
default: []
type: object
required:
- model_provider
- model_name
title: ChatbotConfigResponse
OpenAIMessageType:
type: string
enum:
- text
- image_url
- input_audio
title: OpenAIMessageType
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ModelProvider:
type: string
enum:
- anthropic
- openai
- gemini
- bedrock
- vertex_ai
- hosted_vllm
- azure
title: ModelProvider
ImageURL:
properties:
url:
type: string
title: Url
description: URL of the image
type: object
required:
- url
title: ImageURL
InputAudio:
properties:
data:
type: string
title: Data
description: Base64 encoded audio data
format:
type: string
title: Format
description: audio format (e.g. 'mp3', 'wav', 'flac', etc.)
type: object
required:
- data
- format
title: InputAudio
ToolCall:
properties:
type:
type: string
title: Type
description: The type of tool call. Currently the only type supported is 'function'.
default: function
id:
type: string
title: Id
description: Unique identifier for the tool call
function:
$ref: '#/components/schemas/ToolCallFunction'
description: Function details
type: object
required:
- id
- function
title: ToolCall
OpenAIMessageItem:
properties:
type:
$ref: '#/components/schemas/OpenAIMessageType'
description: Type of the message (either 'text', 'image_url', or 'input_audio')
text:
anyOf:
- type: string
- type: 'null'
title: Text
description: Text content of the message if type is 'text'
image_url:
anyOf:
- $ref: '#/components/schemas/ImageURL'
- type: 'null'
description: Image URL content of the message if type is 'image_url'
input_audio:
anyOf:
- $ref: '#/components/schemas/InputAudio'
- type: 'null'
description: Input audio content of the message if type is 'input_audio'
type: object
required:
- type
title: OpenAIMessageItem
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
OpenAIMessage-Input:
properties:
role:
$ref: '#/components/schemas/MessageRole'
description: Role of the message
name:
anyOf:
- type: string
- type: 'null'
title: Name
description: An optional name for the participant. Provides the model information to differentiate between participants of the same role.
content:
anyOf:
- type: string
- items:
$ref: '#/components/schemas/OpenAIMessageItem'
type: array
- type: 'null'
title: Content
description: Content of the message
tool_calls:
anyOf:
- items:
$ref: '#/components/schemas/ToolCall'
type: array
- type: 'null'
title: Tool Calls
description: Tool calls made by assistant
tool_call_id:
anyOf:
- type: string
- type: 'null'
title: Tool Call Id
description: ID of the tool call this message is responding to
type: object
required:
- role
title: OpenAIMessage
description: 'The message schema class for the prompts playground.
This class adheres to OpenAI''s message schema.'
ToolCallFunction:
properties:
name:
type: string
title: Name
description: Name of the function to call
arguments:
type: string
title: Arguments
description: JSON string of function arguments
type: object
required:
- name
- arguments
title: ToolCallFunction
ChatbotRequest:
properties:
history:
items:
$ref: '#/components/schemas/OpenAIMessage-Input'
type: array
title: History
session_id:
anyOf:
- type: string
- type: 'null'
title: Session Id
type: object
required:
- history
title: ChatbotRequest
MessageRole:
type: string
enum:
- developer
- system
- user
- assistant
- tool
title: MessageRole
securitySchemes:
API Key:
type: http
description: Bearer token authentication with an API key
scheme: bearer