Skip to main content

Devs.ai API (1.0)

Download OpenAPI specification:Download

AI Management

Create, retrieve, and manage AI assistants

Update AI

Updates fields on the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI to update.

Request Body schema: application/json
required
src
string
name
string
introduction
string or null
description
string
instructions
string
seed
string
modelId
string
visibility
string (AIVisibility)
Enum: "PRIVATE" "GROUP" "ORGANIZATION" "ANYONE_WITH_LINK"

Visibility level controlling who can access the AI. PRIVATE: Only the owner can access. GROUP: Only specified groups can access. ORGANIZATION: Anyone in the organization can access. ANYONE_WITH_LINK: Anyone with the link can access.

listInOrgCatalog
boolean
listInPublicCatalog
boolean
listInTenantCatalog
boolean
generateCitations
boolean
chatLogsVisible
boolean
intermediateStepsVisible
boolean
object (AIModelOptions)

Configuration options for the AI model's behavior

groups
Array of strings
object (AIProfile)
Array of objects (AIEditorUser)
publicCategories
Array of strings (PublicCategoryType)
Items Enum: "ACCOUNTING_FINANCE" "AI_MODELS" "ENGINEERING" "HUMAN_RESOURCES" "INFORMATION_TECHNOLOGY" "LEARNING_DEVELOPMENT" "MARKETING" "PRODUCTIVITY" "SALES" "ADVISOR" "FEATURED"
orgCategoryIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "src": "string",
  • "name": "string",
  • "introduction": "string",
  • "description": "string",
  • "instructions": "string",
  • "seed": "string",
  • "modelId": "string",
  • "visibility": "PRIVATE",
  • "listInOrgCatalog": true,
  • "listInPublicCatalog": true,
  • "listInTenantCatalog": true,
  • "generateCitations": true,
  • "chatLogsVisible": true,
  • "intermediateStepsVisible": true,
  • "options": {
    },
  • "groups": [
    ],
  • "profile": {
    },
  • "editors": [
    ],
  • "publicCategories": [
    ],
  • "orgCategoryIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "introduction": "string",
  • "description": "string",
  • "instructions": "string",
  • "seed": "string",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "string",
  • "categoryId": "string",
  • "visibility": "PRIVATE",
  • "listInOrgCatalog": true,
  • "listInPublicCatalog": true,
  • "listInTenantCatalog": true,
  • "chatLogsVisible": true,
  • "generateCitations": true,
  • "intermediateStepsVisible": true,
  • "modelId": "string",
  • "options": {
    },
  • "groups": [
    ],
  • "editors": [
    ],
  • "publicCategories": [
    ],
  • "orgCategoryIds": [
    ],
  • "messageCount": 0,
  • "rating": 0,
  • "ratingCount": 0,
  • "isShared": true,
  • "hasUserChats": true,
  • "isApprovedByOrg": true,
  • "isPremiumModel": true,
  • "isDeleted": true
}

Delete AI

Deletes the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI to delete.

Responses

Create New AI

Creates a new AI specified by the given identifier.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
src
required
string
name
required
string
introduction
string or null
description
required
string
instructions
required
string
seed
string
modelId
string
visibility
string (AIVisibility)
Enum: "PRIVATE" "GROUP" "ORGANIZATION" "ANYONE_WITH_LINK"

Visibility level controlling who can access the AI. PRIVATE: Only the owner can access. GROUP: Only specified groups can access. ORGANIZATION: Anyone in the organization can access. ANYONE_WITH_LINK: Anyone with the link can access.

listInOrgCatalog
boolean
listInPublicCatalog
boolean
listInTenantCatalog
boolean
generateCitations
boolean
chatLogsVisible
boolean
intermediateStepsVisible
boolean
object (AIModelOptions)

Configuration options for the AI model's behavior

groups
Array of strings
object (AIProfile)
Array of objects (AIEditorUser)
publicCategories
Array of strings (PublicCategoryType)
Items Enum: "ACCOUNTING_FINANCE" "AI_MODELS" "ENGINEERING" "HUMAN_RESOURCES" "INFORMATION_TECHNOLOGY" "LEARNING_DEVELOPMENT" "MARKETING" "PRODUCTIVITY" "SALES" "ADVISOR" "FEATURED"
orgCategoryIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "src": "string",
  • "name": "string",
  • "introduction": "string",
  • "description": "string",
  • "instructions": "string",
  • "seed": "string",
  • "modelId": "string",
  • "visibility": "PRIVATE",
  • "listInOrgCatalog": true,
  • "listInPublicCatalog": true,
  • "listInTenantCatalog": true,
  • "generateCitations": true,
  • "chatLogsVisible": true,
  • "intermediateStepsVisible": true,
  • "options": {
    },
  • "groups": [
    ],
  • "profile": {
    },
  • "editors": [
    ],
  • "publicCategories": [
    ],
  • "orgCategoryIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "introduction": "string",
  • "description": "string",
  • "instructions": "string",
  • "seed": "string",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "string",
  • "categoryId": "string",
  • "visibility": "PRIVATE",
  • "listInOrgCatalog": true,
  • "listInPublicCatalog": true,
  • "listInTenantCatalog": true,
  • "chatLogsVisible": true,
  • "generateCitations": true,
  • "intermediateStepsVisible": true,
  • "modelId": "string",
  • "options": {
    },
  • "groups": [
    ],
  • "editors": [
    ],
  • "publicCategories": [
    ],
  • "orgCategoryIds": [
    ],
  • "messageCount": 0,
  • "rating": 0,
  • "ratingCount": 0,
  • "isShared": true,
  • "hasUserChats": true,
  • "isApprovedByOrg": true,
  • "isPremiumModel": true,
  • "isDeleted": true
}

Get AI Details

Retrieves details of the AI specified by the given identifier.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI whose details are to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "introduction": "string",
  • "description": "string",
  • "instructions": "string",
  • "seed": "string",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "string",
  • "categoryId": "string",
  • "visibility": "PRIVATE",
  • "listInOrgCatalog": true,
  • "listInPublicCatalog": true,
  • "listInTenantCatalog": true,
  • "chatLogsVisible": true,
  • "generateCitations": true,
  • "intermediateStepsVisible": true,
  • "modelId": "string",
  • "options": {
    },
  • "groups": [
    ],
  • "editors": [
    ],
  • "publicCategories": [
    ],
  • "orgCategoryIds": [
    ],
  • "messageCount": 0,
  • "rating": 0,
  • "ratingCount": 0,
  • "isShared": true,
  • "hasUserChats": true,
  • "isApprovedByOrg": true,
  • "isPremiumModel": true,
  • "isDeleted": true
}

Approve an AI

Marks an AI as approved by the organization.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI to be approved.

Responses

Revoke AI approval

Revokes the organization approval for an AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI whose approval is to be revoked.

Responses

Generate AI profile

Generates an AI profile based on existing AI data.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "headline": "string",
  • "description": "string",
  • "features": [
    ],
  • "showCharacter": true,
  • "showTraining": true,
  • "showPersonality": true,
  • "trainingDescription": "string",
  • "conversations": [
    ],
  • "socialImage": "string",
  • "idleVideo": "string",
  • "idleVideoError": "string",
  • "showSpeaker": true,
  • "showVideo": true,
  • "voice": "string",
  • "voiceEngine": "string",
  • "videoModel": "string"
}

Share an AI

Shares the AI with the provided emails.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
emails
required
string

Responses

Request samples

Content type
application/json
{
  • "emails": "string"
}

List AIs

query Parameters
scope
string (ListAIsRequestScope)
Enum: "PRIVATE" "OWNED" "GROUP" "SHARED" "ORGANIZATION" "PUBLIC" "ALL"

The scope to filter results by

groupId
string

The id of a group to filter results by

categoryId
string

The id of a category to filter results by

approvedByOrg
boolean

Filter results by whether the AI has been approved by the organization.

search
string

Search term

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Chat Sessions

Manage chat sessions and send messages to AI assistants

Get all chats for the AI

Retrieves a list of all chat sessions associated with the given AI identifier.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI whose chats are to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a new chat session for the AI

Creates a new chat session associated with the given AI identifier and returns the created chat session data.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI with which the chat session is to be associated.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "userId": "string",
  • "pinPosition": 0,
  • "ai": {
    }
}

Get a chat session

Retrieves the chat session with the specified ID.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session to retrieve.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "userId": "string",
  • "pinPosition": 0,
  • "ai": {
    },
  • "messages": [
    ]
}

Message a chat session

Send a message to a chat session with an AI.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session.

Request Body schema: application/json
required
date
string <date-time>

The date and time of the chat from the perspective of the user. This may be different from the server time for the AI. Defaults to server time if not provided.

required
string or (Array of ComplexMessageContent (TextMessageContent (object) or IdMessageContent (object) or UrlMessageContent (object)))

Message to send to the AI. Can be a string for simple text messages, or a ComplexMessageContent array that includes text and file references (images, documents, audio, video).

modelId
string

Optional model ID to override the AI's default model for this request.

object (ChatOptions)
Array of any (PostToChatRequestTool)

Array of tools to enable for this chat request. Each tool can be a built-in tool type (e.g. web_search, python), an image generation tool with model configuration, an MCP server tool reference, or an OpenAI-compatible function tool definition.

object

Optional key-value map of user-provided secrets that may be required by tools (e.g. API keys for authenticated tool calls).

Responses

Request samples

Content type
application/json
Example
{
  • "date": "2024-01-15T10:30:00Z",
  • "prompt": "Hello, how are you?",
  • "tools": [ ]
}

Delete a chat session

Deletes the chat session with the specified ID.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session to delete.

Responses

Duplicate a chat session

Creates a duplicate of the chat session with the specified ID.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session to duplicate.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "userId": "string",
  • "pinPosition": 0,
  • "ai": {
    },
  • "messages": [
    ]
}

Reset a chat session

Resets the chat session with the specified ID, clearing its current state or content.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session to reset.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "userId": "string",
  • "pinPosition": 0,
  • "ai": {
    },
  • "messages": [
    ]
}

Submit tool outputs (e.g., input field responses)

When the AI requests user input through tool calls (e.g., asking the user to fill in form fields), use this endpoint to submit the user's responses. The AI will receive these outputs and continue the conversation. Listen for 'tool.call' events in the chat stream to know when input is needed.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session.

Request Body schema: application/json
required
systemMessageId
required
string

The ID of the system message that requested the tool outputs (the message containing the tool calls).

required
Array of objects (ToolOutput)

Array of tool outputs, one for each tool call that needs a response.

object (ChatOptions)

Responses

Request samples

Content type
application/json
Example

Example of submitting a user's name when the AI requests it.

{
  • "systemMessageId": "msg_abc123",
  • "outputs": [
    ]
}

Get all chats for the User

Retrieves a list of all chat sessions associated with the current user

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Data Sources

Manage knowledge bases and data sources for AI assistants

List data sources for the AI

Retrieves a list of data sources associated with the given AI identifier.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI whose data sources are to be retrieved.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add an existing data source to the specified AI

Associates an existing data source with the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI to which the data source is to be added.

Request Body schema: application/json
required
dataSourceId
required
string

The unique identifier of the existing data source to be added.

Responses

Request samples

Content type
application/json
{
  • "dataSourceId": "string"
}

Response samples

Content type
application/json
{
  • "aiId": "string",
  • "dataSourceId": "string"
}

Delete all data sources from the AI

Requests deletion of all data sources associated with the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI whose data sources are to be deleted.

Responses

Create a new API data source for the specified AI

Adds a new API data source with a specified name and JSON payload for the given AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
name
required
string

Name of the data source.

data
required
object

The JSON payload to be used as the data source's knowledge.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "data": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastIndexedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "type": "API",
  • "refreshPeriod": "NEVER",
  • "indexStatus": "INITIALIZED",
  • "indexPercentage": "string",
  • "data": { },
  • "cite": true,
  • "orgVisible": true
}

Adds a file upload data source for the specified AI. Max file size: 4.5Mb.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: multipart/form-data
file
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastIndexedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "type": "API",
  • "refreshPeriod": "NEVER",
  • "indexStatus": "INITIALIZED",
  • "indexPercentage": "string",
  • "data": { },
  • "cite": true,
  • "orgVisible": true
}

Initialize a file-blob upload for the AI

Generates a signed upload token for Vercel Blob and creates the data source after upload.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
property name*
additional property
any

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "url": "string",
  • "pathname": "string",
  • "contentType": "string",
  • "size": 0
}

Create a web URL data source for the AI

Creates a web URL knowledge source and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
url
required
string
dataRefreshPeriod
required
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

includeFiles
required
boolean
includedFileTypes
required
Array of strings (WebUrlFileType)
Items Enum: "TEXT" "CSV" "PDF" "MARKDOWN" "DOC" "XLS"
includeUrlGlobs
Array of strings
excludeUrlGlobs
Array of strings
maxPages
integer
maxMemory
integer
timeout
integer

Responses

Request samples

Content type
application/json
{
  • "url": "string",
  • "dataRefreshPeriod": "NEVER",
  • "includeFiles": true,
  • "includedFileTypes": [
    ],
  • "includeUrlGlobs": [
    ],
  • "excludeUrlGlobs": [
    ],
  • "maxPages": 0,
  • "maxMemory": 0,
  • "timeout": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastIndexedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "type": "API",
  • "refreshPeriod": "NEVER",
  • "indexStatus": "INITIALIZED",
  • "indexPercentage": "string",
  • "data": { },
  • "cite": true,
  • "orgVisible": true
}

Create Google Drive data sources for the AI

Creates Google Drive knowledge sources and associates them with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
oauthTokenId
string
required
Array of objects (GoogleDriveFile)
dataRefreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

Responses

Request samples

Content type
application/json
{
  • "oauthTokenId": "string",
  • "files": [
    ],
  • "dataRefreshPeriod": "NEVER"
}

Create a OneDrive data source for the AI

Creates a OneDrive knowledge source and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
oauthTokenId
required
string
fileId
required
string
filename
required
string
dataRefreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

Responses

Request samples

Content type
application/json
{
  • "oauthTokenId": "string",
  • "fileId": "string",
  • "filename": "string",
  • "dataRefreshPeriod": "NEVER"
}

Create a Confluence data source for the AI

Creates a Confluence knowledge source and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
oauthTokenId
required
string
pageId
string
pageName
required
string
contentType
string
spaceId
string
dataRefreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

indexChildPages
boolean
indexDriveFiles
boolean
indexAttachments
boolean
selectedDriveAccount
string
archive
boolean
allSpaces
boolean

Responses

Request samples

Content type
application/json
{
  • "oauthTokenId": "string",
  • "pageId": "string",
  • "pageName": "string",
  • "contentType": "string",
  • "spaceId": "string",
  • "dataRefreshPeriod": "NEVER",
  • "indexChildPages": true,
  • "indexDriveFiles": true,
  • "indexAttachments": true,
  • "selectedDriveAccount": "string",
  • "archive": true,
  • "allSpaces": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastIndexedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "type": "API",
  • "refreshPeriod": "NEVER",
  • "indexStatus": "INITIALIZED",
  • "indexPercentage": "string",
  • "data": { },
  • "cite": true,
  • "orgVisible": true
}

Create a Jira data source for the AI

Creates a Jira knowledge source and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
oauthTokenId
required
string
projectName
required
string
projectKey
required
string
dataRefreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

Responses

Request samples

Content type
application/json
{
  • "oauthTokenId": "string",
  • "projectName": "string",
  • "projectKey": "string",
  • "dataRefreshPeriod": "NEVER"
}

Create a GitHub data source for the AI

Creates a GitHub knowledge source and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The unique identifier for the AI.

Request Body schema: application/json
required
mode
required
string
Enum: "repos" "all"
gitHubAppInstallationId
required
integer
repos
Array of strings
dataRefreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

Responses

Request samples

Content type
application/json
{
  • "mode": "repos",
  • "gitHubAppInstallationId": 0,
  • "repos": [
    ],
  • "dataRefreshPeriod": "NEVER"
}

Remove a data source from the AI

Removes the specified data source from the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

dataSourceId
required
string

The identifier of the data source to remove.

Responses

Delete multiple data sources from the AI

Bulk delete data sources by ID for the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
dataSourceIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "dataSourceIds": [
    ]
}

List all data sources

Retrieves a list of data sources associated which the user has access to.

Authorizations:
ApiKeyAuth
query Parameters
search
string

Search term for data sources.

type
string (DataSourceType)
Enum: "API" "FILE_UPLOAD" "GOOGLE_DRIVE" "ONEDRIVE" "WEB_URL" "CONFLUENCE" "JIRA" "GITHUB"

Filter by data source type.

orderBy
string^[+-](createdAt|lastIndexedAt|usageCount)$

Order by field and direction. Prefix field name with '+' for ascending or '-' for descending order. Allowed fields: createdAt, lastIndexedAt, usageCount.

page
integer

Page number for paginated results.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 0
}

Update a Data Source

Updates properties for the specified data source.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source to update.

Request Body schema: application/json
required
refreshPeriod
string (DataSourceRefreshPeriod)
Enum: "NEVER" "DAILY" "WEEKLY" "MONTHLY"

How frequently the data source should be refreshed.

cite
boolean or null
ais
Array of strings
orgVisible
boolean or null

Responses

Request samples

Content type
application/json
{
  • "refreshPeriod": "NEVER",
  • "cite": true,
  • "ais": [
    ],
  • "orgVisible": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastIndexedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "type": "API",
  • "refreshPeriod": "NEVER",
  • "indexStatus": "INITIALIZED",
  • "indexPercentage": "string",
  • "data": { },
  • "cite": true,
  • "orgVisible": true
}

Delete a Data Source

Deletes a specific data source associated with the given AI identifier.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source to be deleted.

Responses

Refresh a Data Source

This endpoint refreshes the specified data source.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source to be refreshed.

query Parameters
forceRefresh
boolean

Indicates if the data source should be refreshed even if the content has not been updated

Responses

Get data source stats

Retrieves indexing statistics for the specified data source.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source.

Responses

Response samples

Content type
application/json
{
  • "doneCount": 0,
  • "failedCount": 0,
  • "pendingCount": 0,
  • "indexingCount": 0,
  • "totalCount": 0
}

List knowledge items for a data source

Retrieves paginated knowledge items for the specified data source.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source.

query Parameters
first
integer

Number of items to return.

cursor
string

Cursor for pagination.

page
integer

Page number for pagination.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Update a knowledge item

Updates a knowledge item for the specified data source.

Authorizations:
ApiKeyAuth
path Parameters
dataSourceId
required
string

The unique identifier of the data source.

knowledgeId
required
string

The identifier of the knowledge item.

Request Body schema: application/json
required
cite
required
boolean

Responses

Request samples

Content type
application/json
{
  • "cite": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "type": "API",
  • "uniqueId": "string",
  • "parentUniqueId": "string",
  • "indexStatus": "INITIALIZED",
  • "documentCount": 0,
  • "tokenCount": 0,
  • "originalContent": {
    },
  • "documentsBlobUrl": "string",
  • "indexPercentage": "string",
  • "metadata": { },
  • "isBlobStorageDeleted": true,
  • "cite": true
}

API Keys

Create and manage API keys

Create an API key

Creates a new API key for the caller or a specified user (based on access level).

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string

Name of the API key.

scopes
required
Array of strings non-empty

Scopes to grant to the API key.

userId
string

Optional user ID to create the API key for. Defaults to the caller.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "scopes": [
    ],
  • "userId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "lastUsedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "userEmail": "string",
  • "name": "string",
  • "scopes": [
    ],
  • "key": "string"
}

Groups

Manage user groups for AI access control

Create a new group

Creates a new group with the specified details.

Request Body schema: application/json
required
name
required
string

Name of the group.

availability
required
string (GroupAvailability)
Enum: "EVERYONE" "RESTRICTED"

Availability status of the group.

memberEmails
required
string

A comma-separated list of emails of users who should be added to the group.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "availability": "EVERYONE",
  • "memberEmails": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "availability": "EVERYONE",
  • "users": [
    ]
}

Update a group

Updates the details of a specific group and manages its member list.

path Parameters
groupId
required
string

The unique identifier of the group to update.

Request Body schema: application/json
required
name
string

Name of the group.

availability
string (GroupAvailability)
Enum: "EVERYONE" "RESTRICTED"

Availability status of the group.

memberEmailsToAdd
string

A comma-separated list of emails of users to be added to the group.

memberEmailsToRemove
Array of strings

A comma-separated list of emails of users to be removed from the group.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "availability": "EVERYONE",
  • "memberEmailsToAdd": "string",
  • "memberEmailsToRemove": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "ownerUserId": "string",
  • "name": "string",
  • "availability": "EVERYONE",
  • "users": [
    ]
}

Delete a group

Deletes the group with the specified identifier.

path Parameters
groupId
required
string

The unique identifier of the group to delete.

Responses

Leave a group

Allows the current user to leave the group specified by the groupId.

path Parameters
groupId
required
string

The unique identifier of the group to leave.

Responses

Get groups of the current user

Retrieves a list of groups associated with the current user.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Usage & Analytics

Monitor organization and AI usage metrics

Get organization usage metrics by AI

Returns the usage metrics of the organization broken down by AI.

Responses

Response samples

Content type
application/json
{
  • "orgUsage": {
    },
  • "aiUsages": [
    ]
}

Get organization usage metrics

Returns usage metrics for the organization.

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "dataTokensUsed": 0,
  • "dataUsageTokenLimit": 0,
  • "apiTokensUsed": 0,
  • "apiUsageTokenLimit": 0
}

Files

Upload and manage files for chat sessions

Upload a file to a chat session

Uploads a file that can be referenced in messages sent to this chat. Max file size: 5MB. After uploading, use the returned file ID to reference it in the prompt field using ComplexMessageContent.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session.

Request Body schema: multipart/form-data
required
file
required
string <binary>

The file to upload.

source
string
Enum: "USER" "SYSTEM"

The source of the file. Defaults to USER if not specified.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "source": "USER",
  • "filename": "string",
  • "size": 0,
  • "mimeType": "string",
  • "url": "string",
  • "metadata": { },
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "status": "UPLOADED"
}

List files in a chat session

Retrieves a list of all files associated with the specified chat session.

Authorizations:
ApiKeyAuth
path Parameters
chatId
required
string

The unique identifier of the chat session.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a file record or upload a file

This endpoint supports two modes: 1) Create a file record with metadata (application/json), or 2) Upload a file directly (multipart/form-data). When creating a record, you'll need to upload the actual file separately. When uploading directly, the file is uploaded immediately.

Authorizations:
ApiKeyAuth
Request Body schema:
required

This endpoint supports two modes: Create a file record with metadata (application/json), or upload a file directly (multipart/form-data).

filename
required
string

The name of the file.

size
required
integer

The size of the file in bytes.

mimeType
required
string

The MIME type of the file.

metadata
object or null

Additional metadata associated with the file.

Responses

Request samples

Content type
{
  • "filename": "string",
  • "size": 0,
  • "mimeType": "string",
  • "metadata": { }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "source": "USER",
  • "filename": "string",
  • "size": 0,
  • "mimeType": "string",
  • "url": "string",
  • "metadata": { },
  • "deletedAt": "2019-08-24T14:15:22Z",
  • "status": "UPLOADED"
}

Chat Completions

OpenAI-compatible chat completion API

Create a chat completion (OpenAI-compatible)

Creates a completion for the chat message. This endpoint is OpenAI-compatible and supports both regular prompts and tool output submissions. When the last message is a tool message, it will be treated as a tool output submission.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (ChatCompletionMessage) non-empty

A list of messages comprising the conversation so far

model
required
string

ID of the Devs.ai AI or the LLM model to use for completion

stream
boolean
Default: false

Whether to stream the response or not

object (ChatOptions)
Array of OpenAIFunctionTool (object) or BuiltInTool (object) or ImageGenerationTool (object) or McpServerTool (object)

Optional list of tools to use. Supports OpenAI function tools and Devs.ai built-in tools.

generateCitations
boolean

Whether to generate citations in the response

parallel_tool_calls
boolean

Whether to allow parallel tool calls

object
max_tokens
integer

Maximum number of tokens to generate

Responses

Request samples

Content type
application/json
{
  • "messages": [
    ],
  • "model": "string",
  • "stream": false,
  • "options": {
    },
  • "tools": [
    ],
  • "generateCitations": true,
  • "parallel_tool_calls": true,
  • "stream_options": {
    },
  • "max_tokens": 0
}

Response samples

Content type
{
  • "choices": [
    ],
  • "chatId": "string"
}

Create a chat completion (Deprecated) Deprecated

Deprecated: This endpoint is deprecated. Please use /api/v1/chat/completions instead, which follows the OpenAI API convention and provides the same functionality.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
Array of objects (ChatCompletionMessage) non-empty

A list of messages comprising the conversation so far

model
required
string

ID of the Devs.ai AI or the LLM model to use for completion

stream
boolean
Default: false

Whether to stream the response or not

object (ChatOptions)
Array of OpenAIFunctionTool (object) or BuiltInTool (object) or ImageGenerationTool (object) or McpServerTool (object)

Optional list of tools to use. Supports OpenAI function tools and Devs.ai built-in tools.

generateCitations
boolean

Whether to generate citations in the response

parallel_tool_calls
boolean

Whether to allow parallel tool calls

object
max_tokens
integer

Maximum number of tokens to generate

Responses

Request samples

Content type
application/json
{
  • "messages": [
    ],
  • "model": "string",
  • "stream": false,
  • "options": {
    },
  • "tools": [
    ],
  • "generateCitations": true,
  • "parallel_tool_calls": true,
  • "stream_options": {
    },
  • "max_tokens": 0
}

Response samples

Content type
{
  • "choices": [
    ],
  • "chatId": "string"
}

Tools

List tools for the AI

Retrieves all tools associated with the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a tool for the AI

Creates a new tool and associates it with the specified AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
One of
apiUrl
required
string
schema
required
string
authenticationType
required
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
compressionEnabled
required
boolean
object (ApiCompressionConfiguration)

Responses

Request samples

Content type
application/json
Example
{
  • "apiUrl": "string",
  • "schema": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "compressionEnabled": true,
  • "compressionConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Get a tool for the AI

Retrieves details for a specific tool associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

toolId
required
string

The identifier of the tool.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update a tool for the AI

Updates supported tool types (e.g., spreadsheet, web search).

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
One of
model
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "model": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Delete a tool

Deletes the specified tool from the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

toolId
required
string

The identifier of the tool.

Responses

List API function tools for the AI

Retrieves API function tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create an API function tool

Creates an API function tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
apiUrl
required
string
schema
required
string
authenticationType
required
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
compressionEnabled
required
boolean
object (ApiCompressionConfiguration)

Responses

Request samples

Content type
application/json
{
  • "apiUrl": "string",
  • "schema": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "compressionEnabled": true,
  • "compressionConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update an API function tool

Updates an API function tool associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
apiUrl
required
string
schema
required
string
authenticationType
required
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
compressionEnabled
required
boolean
object (ApiCompressionConfiguration)

Responses

Request samples

Content type
application/json
{
  • "apiUrl": "string",
  • "schema": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "compressionEnabled": true,
  • "compressionConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Create a SQL tool

Creates a SQL tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
type
required
string
Value: "SQL"
databaseType
required
string (SQLToolDatabaseType)
Value: "MYSQL"
username
required
string
password
required
string
host
required
string
database
required
string
port
required
integer

Responses

Request samples

Content type
application/json
{
  • "type": "SQL",
  • "databaseType": "MYSQL",
  • "username": "string",
  • "password": "string",
  • "host": "string",
  • "database": "string",
  • "port": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List Python tools for the AI

Retrieves Python tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a Python tool

Creates a Python tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List user input tools for the AI

Retrieves user input tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a user input tool

Creates a user input tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
type
required
string
Value: "USER_INPUT"
textInput
required
boolean
selectInput
required
boolean
multiSelectInput
required
boolean
confirmInput
required
boolean
addressInput
required
boolean

Responses

Request samples

Content type
application/json
{
  • "type": "USER_INPUT",
  • "textInput": true,
  • "selectInput": true,
  • "multiSelectInput": true,
  • "confirmInput": true,
  • "addressInput": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List knowledge retrieval tools for the AI

Retrieves knowledge retrieval tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a knowledge retrieval tool

Creates a knowledge retrieval tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
model
required
string
maxRetrievalTokens
required
integer
maxRetrievalDocuments
required
integer
queryExpansion
required
boolean
alternateQueryCount
required
integer
hyde
required
boolean
rerank
required
boolean
grade
required
boolean
compress
required
boolean
minRelevanceScore
required
number

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "maxRetrievalTokens": 0,
  • "maxRetrievalDocuments": 0,
  • "queryExpansion": true,
  • "alternateQueryCount": 0,
  • "hyde": true,
  • "rerank": true,
  • "grade": true,
  • "compress": true,
  • "minRelevanceScore": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List image generation tools for the AI

Retrieves image generation tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an image generation tool

Creates an image generation tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
modelId
required
string
samples
integer
size
string
aspectRatio
string
quality
string
style
string

Responses

Request samples

Content type
application/json
{
  • "modelId": "string",
  • "samples": 0,
  • "size": "string",
  • "aspectRatio": "string",
  • "quality": "string",
  • "style": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List MCP server tools for the AI

Retrieves MCP server tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an MCP server tool

Creates an MCP server tool and associates it with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
type
required
string
Value: "MCP_SERVER"
name
required
string
url
string
orgToolTemplateId
string
authenticationType
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
Array of objects (MCPTool)
selectedTools
Array of strings

Responses

Request samples

Content type
application/json
{
  • "type": "MCP_SERVER",
  • "name": "string",
  • "url": "string",
  • "orgToolTemplateId": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "allTools": [
    ],
  • "selectedTools": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

List tool OAuth status for the AI

Lists OAuth token status information for tools associated with the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Reset tool OAuth tokens for the AI

Deletes tool OAuth tokens for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
"string"

Get a tool

Retrieves a tool by ID.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Delete a tool

Deletes the specified tool.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Responses

Update a SQL tool

Updates the SQL tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
databaseType
required
string (SQLToolDatabaseType)
Value: "MYSQL"
username
required
string
password
required
string
host
required
string
database
required
string
port
required
integer

Responses

Request samples

Content type
application/json
{
  • "databaseType": "MYSQL",
  • "username": "string",
  • "password": "string",
  • "host": "string",
  • "database": "string",
  • "port": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update a user input tool

Updates the user input tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
textInput
required
boolean
selectInput
required
boolean
multiSelectInput
required
boolean
confirmInput
required
boolean
addressInput
required
boolean

Responses

Request samples

Content type
application/json
{
  • "textInput": true,
  • "selectInput": true,
  • "multiSelectInput": true,
  • "confirmInput": true,
  • "addressInput": true
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update a knowledge retrieval tool

Updates the knowledge retrieval tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
model
required
string
maxRetrievalTokens
required
integer
maxRetrievalDocuments
required
integer
queryExpansion
required
boolean
alternateQueryCount
required
integer
hyde
required
boolean
rerank
required
boolean
grade
required
boolean
compress
required
boolean
minRelevanceScore
required
number

Responses

Request samples

Content type
application/json
{
  • "model": "string",
  • "maxRetrievalTokens": 0,
  • "maxRetrievalDocuments": 0,
  • "queryExpansion": true,
  • "alternateQueryCount": 0,
  • "hyde": true,
  • "rerank": true,
  • "grade": true,
  • "compress": true,
  • "minRelevanceScore": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update an image generation tool

Updates the image generation tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
modelId
required
string
samples
integer
size
string
aspectRatio
string
quality
string
style
string

Responses

Request samples

Content type
application/json
{
  • "modelId": "string",
  • "samples": 0,
  • "size": "string",
  • "aspectRatio": "string",
  • "quality": "string",
  • "style": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update an MCP server tool

Updates the MCP server tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
name
required
string
url
string
orgToolTemplateId
string
authenticationType
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
Array of objects (MCPTool)
selectedTools
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "url": "string",
  • "orgToolTemplateId": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "allTools": [
    ],
  • "selectedTools": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

Update an API function tool

Updates the API function tool configuration.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Request Body schema: application/json
required
apiUrl
required
string
schema
required
string
authenticationType
required
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)
compressionEnabled
required
boolean
object (ApiCompressionConfiguration)

Responses

Request samples

Content type
application/json
{
  • "apiUrl": "string",
  • "schema": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    },
  • "compressionEnabled": true,
  • "compressionConfiguration": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "orgId": "string",
  • "userId": "string",
  • "name": "string",
  • "type": "API_FUNCTION",
  • "data": { },
  • "orgTemplateUuid": "string",
  • "orgTemplateConfig": { },
  • "templateConfig": { }
}

API function tool OAuth callback

Handles OAuth callbacks for API function tools.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

query Parameters
code
required
string

Authorization code.

Responses

Response samples

Content type
application/json
"string"

Get tool OAuth status

Checks whether a tool has an active OAuth token.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Responses

Response samples

Content type
application/json
{
  • "hasToken": true,
  • "scopes": "string"
}

Delete a tool OAuth token

Revokes the OAuth token for the specified tool.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Responses

Initiate tool OAuth flow

Generates an authorization URL for tool OAuth.

Authorizations:
ApiKeyAuth
path Parameters
toolId
required
string

The identifier of the tool.

Responses

Response samples

Content type
application/json
{
  • "authUrl": "string"
}

Preview MCP server tools

Previews available tools from an MCP server or template.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
url
string
orgToolTemplateId
string
toolTemplateId
string
toolId
string
authenticationType
string (AuthenticationType)
Enum: "NONE" "API_KEY" "OAUTH"
ApiKeyAuthenticationData (object) or OAuthAuthenticationData (object)

Responses

Request samples

Content type
application/json
{
  • "url": "string",
  • "orgToolTemplateId": "string",
  • "toolTemplateId": "string",
  • "toolId": "string",
  • "authenticationType": "NONE",
  • "authenticationData": {
    }
}

Response samples

Content type
application/json
{
  • "availableTools": [
    ],
  • "authenticationRequired": true,
  • "oauthDiscovery": { },
  • "requiresToolSave": true
}

AI User Inputs

List AI user inputs

Retrieves configured user inputs for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create an AI user input

Creates a user input field for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
variableName
required
string
type
required
string (AIUserInputType)
Enum: "SHORT_TEXT" "LONG_TEXT" "TEXT_CHOICE" "IMAGE_CHOICE" "DATE" "NUMBER" "PHONE_NUMBER" "FILE_UPLOAD" "DISPLAY" "ADDRESS"
label
required
string
configuration
required
object
showOnChatCreate
boolean
orderIndex
integer

Responses

Request samples

Content type
application/json
{
  • "variableName": "string",
  • "type": "SHORT_TEXT",
  • "label": "string",
  • "configuration": { },
  • "showOnChatCreate": true,
  • "orderIndex": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "aiId": "string",
  • "variableName": "string",
  • "type": "SHORT_TEXT",
  • "label": "string",
  • "configuration": { },
  • "showOnChatCreate": true,
  • "orderIndex": 0
}

Update an AI user input

Updates a configured user input for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

userInputId
required
string

The identifier of the user input.

Request Body schema: application/json
required
variableName
required
string
type
required
string (AIUserInputType)
Enum: "SHORT_TEXT" "LONG_TEXT" "TEXT_CHOICE" "IMAGE_CHOICE" "DATE" "NUMBER" "PHONE_NUMBER" "FILE_UPLOAD" "DISPLAY" "ADDRESS"
label
required
string
configuration
required
object
showOnChatCreate
boolean
orderIndex
integer

Responses

Request samples

Content type
application/json
{
  • "variableName": "string",
  • "type": "SHORT_TEXT",
  • "label": "string",
  • "configuration": { },
  • "showOnChatCreate": true,
  • "orderIndex": 0
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "aiId": "string",
  • "variableName": "string",
  • "type": "SHORT_TEXT",
  • "label": "string",
  • "configuration": { },
  • "showOnChatCreate": true,
  • "orderIndex": 0
}

Delete an AI user input

Deletes a configured user input from the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

userInputId
required
string

The identifier of the user input.

Responses

Reorder AI user inputs

Updates the order of configured user inputs for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
required
Array of objects (AIUserInputOrderItem)
Array
id
required
string
orderIndex
required
integer

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

AI Embed

Get embedded client configuration

Retrieves the embedded client configuration for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userId": "string",
  • "orgId": "string",
  • "aiId": "string",
  • "key": "string",
  • "data": {
    }
}

Update embedded client configuration

Updates the embedded client configuration for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Request Body schema: application/json
required
string or Array of strings
headerBackgroundColor
string
borderColor
string
shadowColor
string
iconColor
string
textColor
string
linkColor
string
aiMessageColor
string
humanMessageColor
string
buttonColor
string
buttonTextColor
string
borderRadius
integer
buttonImageUrl
string
buttonWidth
integer
buttonHeight
integer
buttonBackgroundColor
string
buttonBorderColor
string
buttonShadowColor
string
buttonBorderRadius
integer
buttonBorderWidth
integer
buttonPosition
string
buttonPositionX
integer
buttonPositionY
integer
backgroundColor
string
disableAutoFocus
boolean

Responses

Request samples

Content type
application/json
{
  • "hostUrl": "string",
  • "headerBackgroundColor": "string",
  • "borderColor": "string",
  • "shadowColor": "string",
  • "iconColor": "string",
  • "textColor": "string",
  • "linkColor": "string",
  • "aiMessageColor": "string",
  • "humanMessageColor": "string",
  • "buttonColor": "string",
  • "buttonTextColor": "string",
  • "borderRadius": 0,
  • "buttonImageUrl": "string",
  • "buttonWidth": 0,
  • "buttonHeight": 0,
  • "buttonBackgroundColor": "string",
  • "buttonBorderColor": "string",
  • "buttonShadowColor": "string",
  • "buttonBorderRadius": 0,
  • "buttonBorderWidth": 0,
  • "buttonPosition": "string",
  • "buttonPositionX": 0,
  • "buttonPositionY": 0,
  • "backgroundColor": "string",
  • "disableAutoFocus": true
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userId": "string",
  • "orgId": "string",
  • "aiId": "string",
  • "key": "string",
  • "data": {
    }
}

Generate an embedded client key

Generates a new embedded client key for the AI.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the AI.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "userId": "string",
  • "orgId": "string",
  • "aiId": "string",
  • "key": "string",
  • "data": {
    }
}

Secrets

List secrets

Lists secrets for the organization or a specific AI.

Authorizations:
ApiKeyAuth
query Parameters
aiId
string

Filter secrets by AI ID.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a secret

Creates a secret for the organization or a specific AI.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string
description
required
string
data
string
aiId
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "data": "string",
  • "aiId": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "data": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Update a secret

Updates an existing secret.

Authorizations:
ApiKeyAuth
path Parameters
secretId
required
string

The identifier of the secret.

Request Body schema: application/json
required
description
string
data
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "data": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "data": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete a secret

Deletes the specified secret.

Authorizations:
ApiKeyAuth
path Parameters
secretId
required
string

The identifier of the secret.

Responses

Response samples

Content type
application/json
{
  • "success": true
}

AI Models

List AI models

Retrieves available AI models.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Categories

List tenant categories

Retrieves available tenant categories for AI assignment.

Authorizations:
ApiKeyAuth
query Parameters
orgId
string

Optional org ID for superusers.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Tool Templates

List organization tool templates

Retrieves tool templates available for the organization.

Authorizations:
ApiKeyAuth
query Parameters
limit
integer

Maximum number of templates to return.

offset
integer

Offset for pagination.

Responses

Response samples

Content type
application/json
{
  • "orgToolTemplates": [
    ],
  • "total": 0
}

Get an organization tool template

Retrieves details for a specific organization tool template.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

The template identifier.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "orgId": "string",
  • "name": "string",
  • "templateId": "string",
  • "isEnabled": true,
  • "isEnabledInChat": true,
  • "orgConfiguration": { },
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "template": {
    }
}

Integrations

List Google Drive accounts

Retrieves Google Drive OAuth accounts for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List OneDrive accounts

Retrieves OneDrive OAuth accounts for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Disconnect a OneDrive account

Deletes the specified OneDrive OAuth token.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

The OAuth token ID.

Responses

Response samples

Content type
application/json
"string"

Search OneDrive content

Searches OneDrive files and folders.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
searchTerm
required
string
oauthTokenId
required
string

Responses

Request samples

Content type
application/json
{
  • "searchTerm": "string",
  • "oauthTokenId": "string"
}

Response samples

Content type
application/json
{ }

List OneDrive folder children

Retrieves child items for a OneDrive folder.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
id
required
string
oauthTokenId
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "oauthTokenId": "string"
}

Response samples

Content type
application/json
{ }

List SharePoint children

Retrieves child items for a SharePoint site.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
id
required
string
oauthTokenId
required
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "oauthTokenId": "string"
}

Response samples

Content type
application/json
{ }

List Confluence accounts

Retrieves Confluence OAuth accounts for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search Confluence content

Searches Confluence content for selection.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
searchTerm
required
string
oauthTokenId
required
string

Responses

Request samples

Content type
application/json
{
  • "searchTerm": "string",
  • "oauthTokenId": "string"
}

Response samples

Content type
application/json
{ }

List Jira accounts

Retrieves Jira OAuth accounts for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search Jira projects

Searches Jira projects for selection.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
searchTerm
required
string
oauthTokenId
required
string

Responses

Request samples

Content type
application/json
{
  • "searchTerm": "string",
  • "oauthTokenId": "string"
}

Response samples

Content type
application/json
{ }

List GitHub accounts

Retrieves GitHub OAuth accounts for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List GitHub app installations

Retrieves GitHub app installations for the current user.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Search GitHub repositories

Searches GitHub repositories accessible to an installation.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
searchTerm
string
gitHubAppInstallationId
required
string
limit
integer
cursor
string

Responses

Request samples

Content type
application/json
{
  • "searchTerm": "string",
  • "gitHubAppInstallationId": "string",
  • "limit": 0,
  • "cursor": "string"
}

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Preview GitHub repository

Previews repository content for selection.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
repo
required
string
gitHubAppInstallationId
required
string

Responses

Request samples

Content type
application/json
{
  • "repo": "string",
  • "gitHubAppInstallationId": "string"
}

Response samples

Content type
application/json
{
  • "data": [
    ]
}