Skip to main content

Devs.ai API (1.0)

Download OpenAPI specification:Download

AI Management

Create, retrieve, and manage AI assistants

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",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "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
}

Import Agent

Creates a new agent from a portable AgentBundle. Tool secrets can be supplied via the secrets map. Skills are imported only when the caller has SKILLS WRITE permission; otherwise they are skipped with a warning. If the bundle model is unavailable, the first available model is substituted and a warning is returned.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
object (AgentBundle)

Portable agent definition for export and import. Secrets are stripped from tool data and listed in requiredSecrets.

name
string

Optional override for the imported agent name.

object

Credential values keyed by requiredSecrets entries.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "aiId": "string",
  • "warnings": [
    ]
}

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",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "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
}

Update AI

Updates an agent. Not a sparse patch: name, description and instructions are required on every call, and omitting other fields does not preserve them. Changing modelId revalidates the model against the agents surface. Listing an agent in the Network Catalog requires instance-level write; listing it in the Tenant Catalog requires tenant owner organization admin. Requires AI WRITE, and the caller must own the agent, hold organization, tenant or instance write over it, or have been granted edit access.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the agent.

Request Body schema: application/json
required
src
string
name
required
string
introduction
string or null
description
required
string
instructions
required
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",
  • "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",
  • "src": "string",
  • "orgId": "string",
  • "userId": "string",
  • "profile": {
    },
  • "userName": "string",
  • "orgName": "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

Soft-deletes an agent and removes its data source links, permissions, tools and group links. Requires AI WRITE with the same ownership or edit-access rules as update.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the agent.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Export Agent

Exports an agent and its configuration as a portable AgentBundle JSON document. Secrets are stripped from tool configurations and listed in requiredSecrets. Skills are included only when the caller has SKILLS READ permission. Organization-scoped callers can export agents in their org; instance-level callers can export across orgs.

Authorizations:
ApiKeyAuth
path Parameters
aiId
required
string

The identifier of the agent to export.

query Parameters
includeDataSources
string
Default: "true"
Enum: "true" "false"

Whether to include data sources in the export. Defaults to true.

dataSourceIds
string

Comma-separated list of specific data source IDs to include. When provided, only the listed data sources are exported.

Responses

Response samples

Content type
application/json
{
  • "version": "1.0",
  • "exportedAt": "2019-08-24T14:15:22Z",
  • "source": {
    },
  • "agent": {
    },
  • "tools": [
    ],
  • "userInputs": [
    ],
  • "flows": [
    ],
  • "dataSources": [
    ],
  • "skills": [
    ],
  • "requiredSecrets": [
    ]
}

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": [
    ],
  • "initialSuggestedActions": [
    ],
  • "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 and organization (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.

orgId
string

Optional organization ID to create the API key in. Defaults to the caller's organization. Tenant-scoped callers may use this to create keys for users in another organization within the same tenant.

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": [
    ],
  • "orgId": "string",
  • "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": [
    ],
  • "source": "PLATFORM",
  • "key": "string"
}

Update an API key

Renames a key and replaces its scope list. The key must belong to the calling user in the calling organization. Scopes the caller does not hold are dropped, and the response reflects what was actually saved. The secret token is never returned here. Requires API_KEYS WRITE.

Authorizations:
ApiKeyAuth
path Parameters
apiKeyId
required
string

Identifier of the API key.

Request Body schema: application/json
required
name
required
string non-empty
scopes
required
Array of strings non-empty [ items non-empty ]

Responses

Request samples

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

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": [
    ],
  • "source": "PLATFORM"
}

Delete an API key

Permanently deletes a key belonging to the calling user in the calling organization. Requires API_KEYS WRITE. Note that deleting a key that does not exist, or belongs to someone else, currently reports 500 rather than 404.

Authorizations:
ApiKeyAuth
path Parameters
apiKeyId
required
string

Identifier of the API key.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Reset an API key

Rotates the key's secret and returns the new token. The previous token stops working immediately, and the new one is shown only in this response, so capture it before discarding the result. The key must belong to the calling user in the calling organization. Requires API_KEYS WRITE.

Authorizations:
ApiKeyAuth
path Parameters
apiKeyId
required
string

Identifier of the API key.

Responses

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": [
    ],
  • "source": "PLATFORM",
  • "key": "string"
}

List organization API keys

Lists every API key in the caller's organization as a bare array; this endpoint is not paginated and takes no query parameters. Tokens are never included. Requires API_KEYS or ORG_SETTINGS READ at tenant, organization or instance level. A caller whose API_KEYS access is only tenant-level sees just the keys carrying a tenant scope.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Revoke an organization API key

Revokes any key in the caller's organization, including keys belonging to other users. Unlike the user-scoped delete, this returns 200 with a body rather than 204. Requires API_KEYS or ORG_SETTINGS WRITE at tenant, organization or instance level.

Authorizations:
ApiKeyAuth
path Parameters
apiKeyId
required
string

Identifier of the API key.

Responses

Response samples

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

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
Deprecated
Enum: "USER" "SYSTEM"

Deprecated and ignored. Uploads through this endpoint are always recorded as USER, so they count against the per-chat attachment limit and are covered by attachment sanitization. SYSTEM files are created by server-side flows (generated images, tool outputs), never by this endpoint. Still accepted for backward compatibility.

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. Custom function tool names must be unique. Names that conflict with internal tools enabled for this specific request are rejected with HTTP 400.

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. Custom function tool names must be unique. Names that conflict with internal tools enabled for this specific request are rejected with HTTP 400.

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"
}

Responses API v2

OpenAI Responses-compatible API (v2). Supports streaming (SSE) and non-streaming runs, threaded and stateless execution, and lifecycle control (cancel / pause / resume).

The shape mirrors the official OpenAI Responses API for inputs, outputs, tools, and streaming events. Items below labelled [devs.ai extension] have no equivalent in OpenAI's spec; everything else is intended to be 1:1 compatible.

Vendor extensions used to flag devs.ai additions

Every devs.ai-specific element in this spec is also tagged with a machine-readable OpenAPI specification extension so tooling can detect them programmatically without parsing description text:

  • x-devs-ai-extension: true — applied to schemas, schema properties, parameters, response headers, and operations that have no OpenAI counterpart.
  • x-devs-ai-extension-values: [string, ...] — applied to enum schemas/properties whose enum is OpenAI-aligned but where devs.ai accepts/emits additional values. Lists only the extra values (e.g. ["cancelled"] on ResponseStatus).
  • x-devs-ai-extension-behavior: "<id>" — applied where the field name itself is OpenAI-standard but devs.ai's handling differs (e.g. optional-on-request on MessageInputItem.type because devs.ai accepts the field being omitted while OpenAI requires it).

devs.ai Extensions

A single reference list of every devs.ai-specific addition exposed by this API. Each entry below is also marked **[devs.ai extension]** at its source and carries one of the x-devs-ai-extension* vendor extensions described above.

Request fields (CreateResponseRequest)

  • chat_modeexecute / chat / plan execution mode.
  • user_secrets — short-lived per-request API keys / secrets for tools.
  • thread_mode — concurrent-request handling on an existing thread (collect / steer / interrupt / force).
  • options — internal devs.ai chat options (provider routing, tracing, etc.).
  • reasoning.effort extra values none and xhigh (in addition to OpenAI's minimal / low / medium / high).

Input content-part flags

  • input_text.invisible / input_image.invisible / input_file.invisible — content sent to the model but hidden from end-user transcripts.
  • input_text.metadata — arbitrary metadata attached to a content part (not forwarded to the model).
  • output_text.logprobs (when output_text appears inside an OutputMessageInputItem).

Input item enum

  • FunctionCallOutputInputItem.status uses ["success", "error", "cancelled"] instead of OpenAI's ["in_progress", "completed", "incomplete"] (incompatible enum).

Tools (ToolDefinition) — only function and web_search mirror OpenAI; everything below is devs.ai-specific.

  • python — emits server_tool_call items (not OpenAI's code_interpreter_call).
  • image_generation — shares the type name with OpenAI but uses devs.ai's input shape and emits server_tool_call items.
  • mcp_server — references a configured devs.ai MCP integration; does not emit OpenAI's mcp_list_tools discovery events or mcp_approval_request / mcp_approval_response items.
  • spreadsheet, memory, sandbox, deep_research — no OpenAI counterpart.
  • web_search.includeXSearch — extra X (Twitter) search inclusion flag.

Output items (OutputItem)

  • server_tool_call and server_tool_call_output — emitted instead of OpenAI's code_interpreter_call / image_generation_call items for devs.ai's server-side tools.

Response fields (Response)

  • selection_metadata — model routing / selection metadata (chosen provider, fallback chain, latency hints).
  • status extra value cancelled (in addition to OpenAI's in_progress / completed / failed / incomplete).
  • incomplete_details.reason extra value paused (in addition to OpenAI's max_output_tokens / content_filter).

Streaming events (full list and payloads in the x-streaming-events reference under components)

  • response.server_tool_call.in_progress / .completed / .failed.
  • response.server_tool_call_arguments.delta / .done.
  • response.subagent.started / .progress / .completed.
  • response.output_item.added.status_hints (optional field on response.output_item.added).
  • Every event payload includes a monotonically increasing sequence_number field.
  • Terminal sentinel event: done / data: [DONE] after the last lifecycle event.

Endpoints / headers

  • POST /api/v2/responses/{responseId}/pause — pause an active threaded response run.
  • POST /api/v2/responses/{responseId}/resume — resume a paused threaded response run, optionally supplying tool outputs.
  • GET /api/v2/responses/{responseId}/stream — reconnect to an in-flight SSE stream after a network drop, resuming from lastSequence.
  • POST /api/v2/responses/{responseId}/deep-research/resume — approve / deny / clarify a paused deep research subagent.
  • x-stream-chat-id response header on streaming POST /api/v2/responses and on the /stream reconnect endpoint.

Create a response

Submit a prompt and receive a model response. When stream=true (default), returns an SSE event stream following the OpenAI Responses streaming format. When stream=false, returns the completed response as JSON.

Execution modes:

  • Threaded: when previous_response_id or conversation is provided. Signals a long-lived Temporal ThreadWorkflow that processes requests sequentially.
  • Stateless: when neither previous_response_id nor conversation is set. Starts a one-shot SingleResponseWorkflow.

Response headers include x-response-id, x-response-status, and, for streaming responses, x-stream-epoch.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
required
string or Array of InputItem (any)

User prompt — plain text or an array of input items (message, function_call, function_call_output). See the InputItem schema for the full grammar.

model
string

Model ID to use, like gpt-4o or o3. Required for stateless requests; optional when continuing a thread via previous_response_id / conversation.

previous_response_id
string or null

ID of a previous response to continue the conversation. Establishes multi-turn context.

string or object

Conversation/thread ID (string) or object with id field. Items from this conversation are prepended to input and items from this response are appended to it.

instructions
string or null

System/developer instructions inserted as the first item in the model's context. When used with previous_response_id, instructions from the previous response are not carried over.

stream
boolean
Default: true

If true (default), the response data is streamed to the client as Server-Sent Events. If false, the completed response is returned as JSON.

Array of any (ToolDefinition)
Default: []

Tools the model may call while generating a response. See ToolDefinition for available tools (most built-ins are devs.ai extensions).

temperature
number [ 0 .. 2 ]

Sampling temperature between 0 and 2. Higher values produce more random output.

top_p
number [ 0 .. 1 ]

Nucleus sampling parameter. We generally recommend altering this OR temperature, not both.

max_output_tokens
integer >= 1

Upper bound for the number of tokens that can be generated for a response, including reasoning tokens.

object

Reasoning configuration for reasoning-capable models (e.g. o-series).

object or null

Metadata key-value pairs for tagging.

parallel_tool_calls
boolean

Whether to allow the model to run tool calls in parallel. Default true. Echoed back on the Response object.

tool_choice
any

How the model should select which tool(s) to use. Accepts the OpenAI tool_choice shapes (e.g. "auto", "none", "required", or a typed object referring to a specific tool).

store
boolean

Whether to store the generated response for later retrieval via the API. Default true.

truncation
any

Truncation strategy for the model response. OpenAI accepts "auto" or "disabled".

text
any

Configuration options for a text response from the model. Can be plain text or structured JSON (e.g. { format: { type: "json_schema", ... } }).

service_tier
string

Service tier to use for this request (e.g. "auto", "default", "flex").

user
string

Stable identifier for the end-user. Used to boost cache hit rates and to help OpenAI detect abuse. Deprecated by OpenAI in favor of safety_identifier / prompt_cache_key.

include
Array of strings

Specify additional output data to include in the model response (e.g. file_search_call.results, message.input_image.image_url, message.output_text.logprobs, reasoning.encrypted_content).

background
boolean

If true, the model runs in the background and the response can be polled / streamed via the dedicated endpoints.

object

[devs.ai extension] Internal devs.ai chat options (provider-specific routing, sub-flow tracing, etc.). Not part of the OpenAI Responses API.

chat_mode
string
Default: "execute"
Enum: "execute" "chat" "plan"

[devs.ai extension] Chat execution mode: execute runs tools, chat returns text only, plan returns the planned steps without running them.

object

[devs.ai extension] User-provided API keys / secrets that tools may reference at execution time. Keys are short-lived and never persisted server-side.

thread_mode
string
Default: "collect"
Enum: "collect" "steer" "interrupt" "force"

[devs.ai extension] Controls how a new request is handled when an existing thread is mid-run. No OpenAI counterpart.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "input": "string",
  • "model": "string",
  • "previous_response_id": "string",
  • "conversation": "string",
  • "instructions": "string",
  • "stream": true,
  • "tools": [ ],
  • "temperature": 2,
  • "top_p": 1,
  • "max_output_tokens": 1,
  • "reasoning": {
    },
  • "metadata": {
    },
  • "parallel_tool_calls": true,
  • "tool_choice": null,
  • "store": true,
  • "truncation": null,
  • "text": null,
  • "service_tier": "string",
  • "user": "string",
  • "include": [
    ],
  • "background": true,
  • "options": {
    },
  • "chat_mode": "execute",
  • "user_secrets": {
    },
  • "thread_mode": "collect"
}

Response samples

Content type
No sample

Get a response

Retrieve a response run by ID. Returns the full response object including output items, usage, and status.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "response",
  • "status": "in_progress",
  • "model": "string",
  • "output": [
    ],
  • "usage": {
    },
  • "error": {
    },
  • "created_at": 0,
  • "instructions": "string",
  • "temperature": 0,
  • "top_p": 0,
  • "max_output_tokens": 0,
  • "metadata": {
    },
  • "previous_response_id": "string",
  • "parallel_tool_calls": true,
  • "incomplete_details": {
    },
  • "tool_choice": "string",
  • "tools": [
    ],
  • "text": { },
  • "reasoning": { },
  • "selection_metadata": { }
}

Reconnect to an in-flight response stream

[devs.ai extension] Re-attach to a still-running response's SSE event stream after a network drop. The path parameter responseId and the required query parameter streamChatId MUST be equal — streamChatId exists for explicit client-side intent and to align with the underlying chat-stream backend.

When lastSequence is supplied, events with sequence_number <= lastSequence are suppressed so the client receives only events it has not yet seen. The first event delivered is therefore typically response.in_progress (or whatever event follows lastSequence), NOT response.created.

This endpoint has no equivalent in OpenAI's Responses API.

Returns 404 when the run cannot be found, streamChatId does not equal responseId, or the underlying stream has already completed and can no longer be reattached.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty
query Parameters
streamChatId
required
string non-empty

[devs.ai extension] Must equal the path responseId. Identifies the underlying chat-stream to attach to.

lastSequence
integer >= -1
Default: -1

[devs.ai extension] Last sequence_number the client has already processed. Events with sequence_number <= lastSequence are suppressed. Default -1 (no events suppressed).

Responses

Response samples

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

Cancel a response

Cancel an active response run. Only works for threaded execution mode. Idempotent — returns success if the response is already in a terminal state. Sends a CANCEL_ACTIVE_REQUEST signal to the Temporal workflow.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty
Request Body schema: application/json
reason
string
cancelPolicy
string (CancelPolicy)
Default: "graceful"
Enum: "graceful" "immediate"

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "cancelPolicy": "graceful"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "response.cancel",
  • "status": "cancel_requested",
  • "chatId": "string"
}

Pause a response

[devs.ai extension] Pause an active response run. Execution halts at the next safe checkpoint; in-flight work completes but no new model or tool steps are started. The response becomes incomplete with incomplete_details.reason set to paused, and can be continued via POST /api/v2/responses/{responseId}/resume. Only works for threaded execution mode. No equivalent in OpenAI's Responses API.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty
Request Body schema: application/json
reason
string

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "response.cancel",
  • "status": "cancel_requested",
  • "chatId": "string"
}

Resume a response

[devs.ai extension] Resume a paused response run. Optionally provide tool outputs for human-in-the-loop tool calling (function tools that require client execution). Only works for threaded execution mode. No equivalent in OpenAI's Responses API.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty
Request Body schema: application/json
reason
string
Array of objects (ToolOutput)

Responses

Request samples

Content type
application/json
{
  • "reason": "string",
  • "toolOutputs": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "response.cancel",
  • "status": "cancel_requested",
  • "chatId": "string"
}

Resume a deep research subagent

[devs.ai extension] Resume a paused deep research child workflow. Used to approve, deny, or provide clarification for a deep research run that is awaiting human input. Signals the deep research subagent workflow directly. No equivalent in OpenAI's Responses API.

Authorizations:
ApiKeyAuth
path Parameters
responseId
required
string non-empty
Request Body schema: application/json
required
subagentRunId
required
string non-empty
approved
boolean
clarificationAnswer
string
goal
string
scope
string
deniedReason
string
reason
string

Responses

Request samples

Content type
application/json
{
  • "subagentRunId": "string",
  • "approved": true,
  • "clarificationAnswer": "string",
  • "goal": "string",
  • "scope": "string",
  • "deniedReason": "string",
  • "reason": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "object": "response.deep_research.resume",
  • "status": "resume_requested",
  • "subagentRunId": "string",
  • "reason": "string"
}

Tenant Rate Limits

Tenant owner APIs to configure default rate limits and per-organization overrides

Block organization rate limits

Sets a BLOCKED override for the specified child organization. Caller must be the tenant owner organization with org settings write access.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "mode": "BLOCKED"
}

Get organization rate limit override status

Returns effective rate limit mode and whether an explicit override exists for the organization.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "effectiveMode": "BLOCKED",
  • "hasExplicitOverride": true
}

Clear organization rate limit override

Removes any explicit BLOCKED or UNLIMITED override so the tenant default applies.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "mode": "BLOCKED"
}

Unblock organization rate limits

Sets an UNLIMITED override for the specified child organization. Caller must be the tenant owner organization with org settings write access.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "mode": "BLOCKED"
}

Get tenant default rate limit mode

Returns the default rate limit mode applied to child organizations when no per-org override exists. Only the tenant owner organization may call this.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "mode": "SUBSCRIPTION_LIMITS"
}

Set tenant default rate limit mode

Updates the default rate limit mode for child organizations. Only the tenant owner organization may call this.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
mode
required
string
Enum: "SUBSCRIPTION_LIMITS" "UNLIMITED"

Default rate limit mode for child organizations. SUBSCRIPTION_LIMITS applies subscription-based limits; UNLIMITED removes subscription caps.

Responses

Request samples

Content type
application/json
{
  • "mode": "SUBSCRIPTION_LIMITS"
}

Response samples

Content type
application/json
{
  • "mode": "SUBSCRIPTION_LIMITS"
}

List tenant rate limit overrides

Paginated list of organizations with an explicit BLOCKED or UNLIMITED override. Only the tenant owner organization may call this.

Authorizations:
ApiKeyAuth
query Parameters
limit
integer [ 1 .. 100 ]
Default: 20

Page size (1–100, default 20).

cursor
string non-empty

Opaque cursor from a previous response pagination.nextCursor.

Responses

Response samples

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

Tenant Administration

Tenant-owner M2M APIs for provisioning and managing child organizations (org create, subscription lifecycle, balance top-up, member seats). Requires a tenant-scoped API key from the tenant-owner org.

Create tenant organization

Creates a child organization under the tenant and returns the org ID and resolved admin user ID. When the tenant has subscription billing management enabled, the org is created without an automatic paid subscription (FREE bootstrap) so step 2 is POST .../subscription. Requires ORG_SETTINGS WRITE with a tenant-scoped API key from the tenant-owner org.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
name
required
string [ 1 .. 255 ] characters

Organization display name.

seedOrgName
boolean
Default: true

When true (default), seeds the org brand name from name. When false, inherits tenant branding for the name.

object (CreateTenantOrganizationAdminDto)
externalId
string [ 1 .. 255 ] characters

Partner external organization identifier for reconciliation.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "seedOrgName": true,
  • "admin": {
    },
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "adminUserId": "string",
  • "name": "string",
  • "tenantPublicId": "string",
  • "tenantName": "string",
  • "seededOrgName": true
}

Get organization subscription

Returns the active subscription for the target org. Poll after async create/patch/cancel operations. Reconcile cancellation on cancelledAt (status may remain ACTIVE until period close). Requires ORG_SUBSCRIPTIONS READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "orgId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "type": "FREE",
  • "pricingPlan": "FREE",
  • "pricingPlanLabel": "string",
  • "maxUsers": 0,
  • "allowsMultipleUsers": true,
  • "maxFreeUsers": 0,
  • "allowsFreeUsers": true,
  • "userMembershipType": "FULL",
  • "status": "ACTIVE",
  • "periodEndDate": "2019-08-24T14:15:22Z",
  • "usageLimits": {
    },
  • "externalSubscriptionId": "string",
  • "externalCustomerId": "string",
  • "processorType": "STRIPE",
  • "metadata": {
    },
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "periodStartDate": "2019-08-24T14:15:22Z",
  • "balanceAllocationPerUser": "string",
  • "storageAllocationGb": 0,
  • "enforceBillingSinceCycleStart": "2019-08-24T14:15:22Z"
}

Create organization subscription

Starts the subscription-created workflow (202 Accepted, empty body). Requires X-Idempotency-Key. Returns 403 when subscriptionBillingManagementEnabled is false on the tenant. Returns 409 when the org already has an active non-FREE subscription. Replay with the same idempotency key returns 202 again. Requires ORG_SUBSCRIPTIONS WRITE.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

header Parameters
X-Idempotency-Key
required
string [ 1 .. 128 ] characters

Client-supplied idempotency key (1–128 characters). Required for subscription lifecycle mutations and balance top-ups. Replaying the same key returns the same success outcome.

Request Body schema: application/json
required
pricingPlan
required
string
Enum: "FREE" "FREE_MULTI_USER" "PERSONAL" "BUSINESS"

Pricing plan allowed on tenant subscription create/patch.

maxUsers
required
integer >= 1

Paid seat cap.

externalSubscriptionId
string or null
externalCustomerId
string or null
allowsFreeUsers
boolean

When true, permits RESTRICTED members up to maxFreeUsers.

maxFreeUsers
integer or null >= 1
object (TenantSubscriptionMetadataRequestDto)

Typed subscription metadata accepted on tenant subscription create/patch. Unknown keys are rejected.

Responses

Request samples

Content type
application/json
{
  • "pricingPlan": "FREE",
  • "maxUsers": 1,
  • "externalSubscriptionId": "string",
  • "externalCustomerId": "string",
  • "allowsFreeUsers": true,
  • "maxFreeUsers": 1,
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Update organization subscription

Updates plan, seats, or external identifiers. Entitlement changes run via async workflow (202, empty body). Trivial field-only edits may return 200 with OrgSubscriptionDto. Requires X-Idempotency-Key and ORG_SUBSCRIPTIONS WRITE. Returns 403 when subscriptionBillingManagementEnabled is false.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

header Parameters
X-Idempotency-Key
required
string [ 1 .. 128 ] characters

Client-supplied idempotency key (1–128 characters). Required for subscription lifecycle mutations and balance top-ups. Replaying the same key returns the same success outcome.

Request Body schema: application/json
required
pricingPlan
string
Enum: "FREE" "FREE_MULTI_USER" "PERSONAL" "BUSINESS"

Pricing plan allowed on tenant subscription create/patch.

maxUsers
integer or null >= 1
allowsFreeUsers
boolean
maxFreeUsers
integer or null >= 1
externalSubscriptionId
string or null
externalCustomerId
string or null
object (TenantSubscriptionMetadataRequestDto)

Typed subscription metadata accepted on tenant subscription create/patch. Unknown keys are rejected.

Responses

Request samples

Content type
application/json
{
  • "pricingPlan": "FREE",
  • "maxUsers": 1,
  • "allowsFreeUsers": true,
  • "maxFreeUsers": 1,
  • "externalSubscriptionId": "string",
  • "externalCustomerId": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "orgId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "type": "FREE",
  • "pricingPlan": "FREE",
  • "pricingPlanLabel": "string",
  • "maxUsers": 0,
  • "allowsMultipleUsers": true,
  • "maxFreeUsers": 0,
  • "allowsFreeUsers": true,
  • "userMembershipType": "FULL",
  • "status": "ACTIVE",
  • "periodEndDate": "2019-08-24T14:15:22Z",
  • "usageLimits": {
    },
  • "externalSubscriptionId": "string",
  • "externalCustomerId": "string",
  • "processorType": "STRIPE",
  • "metadata": {
    },
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "periodStartDate": "2019-08-24T14:15:22Z",
  • "balanceAllocationPerUser": "string",
  • "storageAllocationGb": 0,
  • "enforceBillingSinceCycleStart": "2019-08-24T14:15:22Z"
}

Cancel organization subscription

Starts the cancel lifecycle workflow (202 Accepted, empty body). Sets cancelledAt while status may remain ACTIVE until period close. Requires X-Idempotency-Key. Optional request body for provenance metadata. Requires ORG_SUBSCRIPTIONS WRITE. Returns 403 when subscriptionBillingManagementEnabled is false.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

header Parameters
X-Idempotency-Key
required
string [ 1 .. 128 ] characters

Client-supplied idempotency key (1–128 characters). Required for subscription lifecycle mutations and balance top-ups. Replaying the same key returns the same success outcome.

Request Body schema: application/json
optional
object

Optional provenance metadata for the cancel workflow.

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "eventMetadata": { }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

List organization balances

Returns current included and extra balances per balance type. Requires BILLING_BALANCES READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Top up organization balance

Credits the org balance (positive amounts only). Requires X-Idempotency-Key mapped to the ledger referenceId; replays return alreadyRecorded: true. Partner convention: balanceType CHAT and targetColumn EXTRA for purchased credits. Requires BILLING_BALANCES WRITE. Returns 403 when subscriptionBillingManagementEnabled is false.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

header Parameters
X-Idempotency-Key
required
string [ 1 .. 128 ] characters

Client-supplied idempotency key (1–128 characters). Required for subscription lifecycle mutations and balance top-ups. Replaying the same key returns the same success outcome.

Request Body schema: application/json
required
balanceType
required
string (BalanceTypeDto)
Enum: "CHAT" "CLI" "APP_BUILDER" "FREE_TIER"
targetColumn
required
string (BalanceColumnDto)
Enum: "INCLUDED" "EXTRA"

Balance column to credit. Partners typically send EXTRA for purchased top-ups.

amount
required
string^\d{1,8}(\.\d{1,12})?$

Positive non-zero dollar amount as a decimal string (up to 8 integer and 12 fractional digits). Must be greater than zero; floats are not accepted.

reason
required
string [ 10 .. 500 ] characters

Audit reason (trimmed; must be at least 10 characters after trim).

Responses

Request samples

Content type
application/json
{
  • "balanceType": "CHAT",
  • "targetColumn": "INCLUDED",
  • "amount": "string",
  • "reason": "stringstri"
}

Response samples

Content type
application/json
{
  • "ledgerEntry": {
    },
  • "alreadyRecorded": true
}

List organization balance ledger

Paginated ledger entries for reconciliation. Requires BILLING_BALANCES READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

query Parameters
balanceType
string (BalanceTypeDto)
Enum: "CHAT" "CLI" "APP_BUILDER" "FREE_TIER"
since
string <date-time>
until
string <date-time>
entryType
string (LedgerEntryTypeDto)
Enum: "CONSUMPTION" "WEB_SEARCH_CONSUMPTION" "IMAGE_GENERATION_CONSUMPTION" "PROVISIONING" "TOP_UP" "RESET" "ADJUSTMENT" "FREE_TIER_CREDIT" "ADJUSTMENT_CREDIT_INCLUDED" "ADJUSTMENT_CREDIT_EXTRA" "ADJUSTMENT_DEBIT_INCLUDED" "ADJUSTMENT_DEBIT_EXTRA"
cursor
string
limit
integer [ 1 .. 100 ]
Default: 50

Responses

Response samples

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

List organization invoices

Paginated invoices for the org subscription. Requires BILLING_INVOICES READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

query Parameters
cursor
string non-empty
limit
integer [ 1 .. 100 ]
Default: 20

Responses

Response samples

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

List organization allocation limits

Returns org-level monthly/daily allocation limits per balance type. Requires BILLING_ALLOCATIONS READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List organization members

Paginated member list for seat reconciliation. Requires ORG_SETTINGS READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

query Parameters
limit
integer [ 1 .. 100 ]
Default: 10
offset
integer >= 0
Default: 0

Responses

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "totalCount": 0
}

List organization invitations

Paginated invitation list for reconciliation. Requires ORG_SETTINGS READ.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

query Parameters
status
string
Default: "pending"
Enum: "pending" "accepted" "revoked"
limit
integer [ 1 .. 100 ]
Default: 50
offset
integer >= 0
Default: 0

Responses

Response samples

Content type
application/json
{
  • "invitations": [
    ],
  • "totalCount": 0
}

Invite organization member

Sends an invitation email to add a member by email. Seat caps enforced. Requires ORG_SETTINGS WRITE.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Request Body schema: application/json
required
emailAddress
required
string <email>
role
required
string
Enum: "ADMIN" "MEMBER"
membershipType
string (OrgMembershipTypeDto)
Enum: "FULL" "RESTRICTED"

Responses

Request samples

Content type
application/json
{
  • "emailAddress": "user@example.com",
  • "role": "ADMIN",
  • "membershipType": "FULL"
}

Response samples

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

Update organization member

Updates role and/or membership type. At least one field required. Requires ORG_SETTINGS WRITE.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

userId
required
string

Target user ID.

Request Body schema: application/json
required
role
string
Enum: "ADMIN" "MEMBER"
membershipType
string (OrgMembershipTypeDto)
Enum: "FULL" "RESTRICTED"

Responses

Request samples

Content type
application/json
{
  • "role": "ADMIN",
  • "membershipType": "FULL"
}

Response samples

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

Unassign organization member

Removes membership and cancels seat assignment. Idempotent: returns 204 even if the member was already removed. Requires ORG_SETTINGS WRITE. Uses a Redis-backed lock; returns 503 when Redis is unavailable. Returns 400 when another deletion is already in progress for the org.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

userId
required
string

Target user ID.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Get child organization

Returns the child organization's name and logo from the identity provider. This is not the settings object; use /api/v1/org-settings with orgId for that. Requires ORG_SETTINGS READ at tenant or instance level, and the organization must belong to the caller's tenant.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

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

Update child organization name or logo

Updates a child organization's display name and logo. The body is multipart/form-data, not JSON, and at least one of name, logo or removeLogo must be present. Sending both logo and removeLogo applies the new logo and ignores the removal. This route covers name and logo only; plan tier, region and limits are not settable here. Requires ORG_SETTINGS WRITE at tenant or instance level.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Request Body schema: multipart/form-data
required
name
string <= 256 characters

New display name. Trimmed, and must not be empty after trimming.

logo
string <binary>

PNG, JPEG or WebP image of 5 MB or less.

removeLogo
string
Value: "true"

Send the string true to delete the current logo. Any other value is ignored.

Responses

Response samples

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

Detach child organization from the tenant

Removes the organization's tenant association by clearing its tenant ID. This is not a deprovision: the organization, its users and its data all survive, and the identity provider record is untouched. The tenant's own owner organization cannot be detached, nor can an organization that owns another tenant. Requires ORG_SETTINGS WRITE at tenant or instance level.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Revoke organization invitation

Revokes a pending invitation. This is not idempotent: the invitation state is not checked locally before the call is forwarded to the identity provider, so revoking an invitation that was already accepted or never existed surfaces as a 500 rather than a 404. Requires ORG_SETTINGS WRITE at tenant or instance level. Organizations billed through AppDirect cannot revoke invitations here.

Authorizations:
ApiKeyAuth
path Parameters
orgId
required
string

Target organization ID (must belong to the tenant).

invitationId
required
string

Identifier of the invitation to revoke.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Roles

Create and manage custom roles and their permission sets

List roles

Lists built-in and custom roles with their permission sets. The organization comes from the API key unless orgId is supplied. Requires ROLES READ at organization or instance level; tenant-level access alone is not accepted.

Authorizations:
ApiKeyAuth
query Parameters
orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Responses

Response samples

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

Create a custom role

Creates a custom role. Requires ROLES WRITE at organization or instance level. Permissions that the platform reserves for superusers are dropped silently, so confirm the created role's permissions in the response.

Authorizations:
ApiKeyAuth
query Parameters
orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Request Body schema: application/json
required
name
required
string [ 1 .. 50 ] characters

Must be unique within the organization.

description
string <= 250 characters
required
Array of objects (Permission) non-empty

At least one grantable permission is required.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": "string",
  • "orgId": "string",
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ],
  • "isSystem": true,
  • "isDeleted": true,
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Update a role

Updates a role's name, description or permissions. Supplying permissions replaces the existing set rather than merging. The built-in Admin role cannot be modified; the built-in User role can be, but no other system role can. Requires ROLES WRITE.

Authorizations:
ApiKeyAuth
path Parameters
roleId
required
string

Public identifier of the role, as returned in CustomRoleDto.id.

query Parameters
orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Request Body schema: application/json
required
name
string [ 1 .. 50 ] characters
description
string <= 250 characters
Array of objects (Permission) non-empty

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "createdBy": "string",
  • "orgId": "string",
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ],
  • "isSystem": true,
  • "isDeleted": true,
  • "deletedAt": "2019-08-24T14:15:22Z"
}

Delete a custom role

Soft-deletes a custom role, first unassigning it from every user in the organization. The built-in Admin and User roles cannot be deleted, nor can any other system role. Requires ROLES WRITE.

Authorizations:
ApiKeyAuth
path Parameters
roleId
required
string

Public identifier of the role, as returned in CustomRoleDto.id.

query Parameters
orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "code": "string",
  • "details": [
    ]
}

Organization Settings

Read and update organization-wide settings and policies

Get organization settings

Returns the organization's settings. The response is filtered to what the caller may read: full org-settings read returns every field, while a caller holding only app-branding, app-integrations or app-deploy-approvals receives just that slice. Tenant callers read a child organization by passing orgId.

Authorizations:
ApiKeyAuth
query Parameters
orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Responses

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "theme": "DEFAULT",
  • "publicCatalog": true,
  • "approvedFilter": true,
  • "userInvites": true,
  • "aiSharing": true,
  • "aiRating": true,
  • "apiAccess": true,
  • "linkPermissions": true,
  • "orgPermissions": true,
  • "groupCreation": true,
  • "memory": true,
  • "incognito": true,
  • "suggestedActions": true,
  • "enterpriseSearch": true,
  • "selfHostedCliAgents": true,
  • "requireTwoFactorAuth": true,
  • "appExternalSharing": true,
  • "defaultAgentVisibility": "PRIVATE",
  • "modelSettings": {
    },
  • "logoDark": "string",
  • "logoLight": "string",
  • "orgName": "string",
  • "brandStyles": {
    },
  • "appBrandingPrompt": "string",
  • "docsSiteUrl": "string",
  • "showDevsAiBranding": true,
  • "showDocumentationLink": true,
  • "showUpgradeLink": true,
  • "showUserInviteLink": true,
  • "showUserMobileAppLink": true,
  • "showMobileAppAnnouncementBanner": true,
  • "showIntegrationsLinks": true,
  • "showAvatarImageGeneration": true,
  • "toolPolicies": {
    },
  • "integrationPolicies": {
    },
  • "timezone": "string",
  • "locale": "en",
  • "contextBudgetPercentages": {
    },
  • "networkCatalogTenantEnabled": true,
  • "defaultListInOrgCatalog": true,
  • "orgPrompt": "string",
  • "orgPromptConfig": {
    },
  • "sanitizationPolicy": {
    },
  • "tenantOwnerOrgId": "string",
  • "tenantId": 0,
  • "tenantName": "string",
  • "isTenantOwner": true,
  • "childOrganizations": [
    ]
}

Upsert organization settings

Replaces the organization's settings. This is a whole-object upsert rather than a per-field patch: the required fields must be present on every call, so read the settings first and send the modified object back. Optional fields you omit keep their current values, and fields you are not permitted to write are silently left unchanged instead of returning an error, so compare the response against what you sent. The target organization is taken from the body's orgId. Requires write access on the relevant settings group at tenant, organization or instance level.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
orgId
required
string
theme
required
string (OrgTheme)
Enum: "DEFAULT" "SCHOOL"
publicCatalog
required
boolean

Whether the organization lists agents in the public Network Catalog.

approvedFilter
required
boolean

Whether catalog browsing is limited to organization-approved agents.

userInvites
required
boolean

Whether members may invite other users.

aiSharing
required
boolean

Whether members may share agents.

aiRating
required
boolean

Whether agents may be rated.

apiAccess
required
boolean

Whether API keys may be minted for this organization. Creating a key requires this to be true.

linkPermissions
required
boolean

Whether link-based agent sharing is allowed.

orgPermissions
required
boolean

Whether organization-wide agent visibility is allowed.

groupCreation
required
boolean

Whether members may create groups.

memory
required
boolean

Whether conversational memory is enabled.

incognito
required
boolean

Whether incognito chats are enabled.

suggestedActions
required
boolean

Whether suggested actions are shown.

enterpriseSearch
required
boolean

Whether enterprise search is enabled.

selfHostedCliAgents
required
boolean

Whether self-hosted CLI agents are permitted.

requireTwoFactorAuth
required
boolean

Whether members must enrol in two-factor authentication.

appExternalSharing
boolean

Whether apps may be shared outside the organization.

defaultAgentVisibility
required
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.

required
object (OrgModelSettings)
logoDark
required
string or null

HTTPS URL of the dark-theme logo.

logoLight
required
string or null

HTTPS URL of the light-theme logo.

orgName
required
string or null
required
object or null

White-label appearance. Child organizations may be blocked from overriding branding by tenant policy, which returns 403.

appBrandingPrompt
string or null
docsSiteUrl
string or null <= 2048 characters

Must be HTTPS.

showDevsAiBranding
boolean

Whether Devs.ai branding is shown.

showDocumentationLink
boolean

Whether the documentation link is shown.

showUpgradeLink
boolean

Whether the upgrade link is shown.

showUserInviteLink
boolean

Whether the invite link is shown.

showUserMobileAppLink
boolean

Whether the mobile app link is shown.

showMobileAppAnnouncementBanner
boolean

Whether the mobile app banner is shown.

showIntegrationsLinks
boolean

Whether integration links are shown.

showAvatarImageGeneration
boolean

Whether avatar image generation is offered.

object (ToolPolicies)
object or null

Guardrails on third-party integrations and app deployment.

timezone
string <= 64 characters

IANA timezone, for example America/New_York.

locale
string
Enum: "en" "fr" ""

Default locale. Empty means the platform default.

object (ContextBudgetPercentages)

Share of the model context window reserved for history. Absent means no organization override, so product defaults apply: 50 for chat, 80 for App Builder.

object (OrgPromptConfig)

System prompt injected by surface. agent covers custom agents; agentless covers direct model chat.

orgPrompt
string or null <= 4000 characters

Deprecated. Use orgPromptConfig. Sending a non-empty value together with orgPromptConfig is rejected.

showChatImageGeneration
boolean

Deprecated. Normalized into toolPolicies.imageGeneration.

tenantOwnerOrgId
string or null

Accepted for round-tripping but not persisted.

tenantId
integer or null

Accepted for round-tripping but not persisted.

tenantName
string or null

Accepted for round-tripping but not persisted.

isTenantOwner
boolean

Accepted for round-tripping but not persisted.

Array of objects (ChildOrgInfo)

Accepted for round-tripping but not persisted.

object

Accepted for round-tripping but not persisted here; use the dedicated sanitization routes.

Responses

Request samples

Content type
application/json
{
  • "orgId": "string",
  • "theme": "DEFAULT",
  • "publicCatalog": true,
  • "approvedFilter": true,
  • "userInvites": true,
  • "aiSharing": true,
  • "aiRating": true,
  • "apiAccess": true,
  • "linkPermissions": true,
  • "orgPermissions": true,
  • "groupCreation": true,
  • "memory": true,
  • "incognito": true,
  • "suggestedActions": true,
  • "enterpriseSearch": true,
  • "selfHostedCliAgents": true,
  • "requireTwoFactorAuth": true,
  • "appExternalSharing": true,
  • "defaultAgentVisibility": "PRIVATE",
  • "modelSettings": {
    },
  • "logoDark": "string",
  • "logoLight": "string",
  • "orgName": "string",
  • "brandStyles": {
    },
  • "appBrandingPrompt": "string",
  • "docsSiteUrl": "string",
  • "showDevsAiBranding": true,
  • "showDocumentationLink": true,
  • "showUpgradeLink": true,
  • "showUserInviteLink": true,
  • "showUserMobileAppLink": true,
  • "showMobileAppAnnouncementBanner": true,
  • "showIntegrationsLinks": true,
  • "showAvatarImageGeneration": true,
  • "toolPolicies": {
    },
  • "integrationPolicies": {
    },
  • "timezone": "string",
  • "locale": "en",
  • "contextBudgetPercentages": {
    },
  • "orgPromptConfig": {
    },
  • "orgPrompt": "string",
  • "showChatImageGeneration": true,
  • "tenantOwnerOrgId": "string",
  • "tenantId": 0,
  • "tenantName": "string",
  • "isTenantOwner": true,
  • "childOrganizations": [
    ],
  • "sanitizationPolicy": {
    }
}

Response samples

Content type
application/json
{
  • "orgId": "string",
  • "theme": "DEFAULT",
  • "publicCatalog": true,
  • "approvedFilter": true,
  • "userInvites": true,
  • "aiSharing": true,
  • "aiRating": true,
  • "apiAccess": true,
  • "linkPermissions": true,
  • "orgPermissions": true,
  • "groupCreation": true,
  • "memory": true,
  • "incognito": true,
  • "suggestedActions": true,
  • "enterpriseSearch": true,
  • "selfHostedCliAgents": true,
  • "requireTwoFactorAuth": true,
  • "appExternalSharing": true,
  • "defaultAgentVisibility": "PRIVATE",
  • "modelSettings": {
    },
  • "logoDark": "string",
  • "logoLight": "string",
  • "orgName": "string",
  • "brandStyles": {
    },
  • "appBrandingPrompt": "string",
  • "docsSiteUrl": "string",
  • "showDevsAiBranding": true,
  • "showDocumentationLink": true,
  • "showUpgradeLink": true,
  • "showUserInviteLink": true,
  • "showUserMobileAppLink": true,
  • "showMobileAppAnnouncementBanner": true,
  • "showIntegrationsLinks": true,
  • "showAvatarImageGeneration": true,
  • "toolPolicies": {
    },
  • "integrationPolicies": {
    },
  • "timezone": "string",
  • "locale": "en",
  • "contextBudgetPercentages": {
    },
  • "networkCatalogTenantEnabled": true,
  • "defaultListInOrgCatalog": true,
  • "orgPrompt": "string",
  • "orgPromptConfig": {
    },
  • "sanitizationPolicy": {
    },
  • "tenantOwnerOrgId": "string",
  • "tenantId": 0,
  • "tenantName": "string",
  • "isTenantOwner": true,
  • "childOrganizations": [
    ]
}

Organization Members

List organization members and invite new ones

List organization members

Returns a cursor-paginated page of members along with the roles available in the organization and current seat usage. The invitations array is always empty here. Callers without roles read permission see empty role lists and isClerkAdmin false. Requires USERS READ at organization, tenant or instance level.

Authorizations:
ApiKeyAuth
query Parameters
limit
integer >= 1
Default: 10

Page size. Defaults to 10; values above 100 are capped at 100.

cursor
string^\d+$

Opaque cursor from pagination.nextCursor of the previous page.

search
string non-empty

Free-text match on member name or email.

seatTier
string (OrgMembershipTypeDto)
Enum: "FULL" "RESTRICTED"

Filter by membership type.

roleId
string non-empty

Filter by assigned role. Ignored unless the caller may read roles for the target organization.

orgId
string

Target organization ID. Defaults to the caller's organization. Cross-organization targeting requires INSTANCE access, or TENANT access where the target organization belongs to the caller's tenant.

Responses

Response samples

Content type
application/json
{
  • "members": [
    ],
  • "totalCount": 0,
  • "pagination": {
    },
  • "roles": [
    ],
  • "invitations": [
    ],
  • "seatUsage": {
    }
}

Invite members to an organization

Invites up to 100 email addresses in one call. Addresses that already belong to the organization or already have a pending invitation are skipped, so a successful call can report invitedCount 0. Seat availability is checked before sending. Assigning an admin role also requires roles write permission. Requires USERS WRITE at organization, tenant or instance level. Organizations billed through AppDirect cannot invite members here. Sending more than 100 billable invitations in an hour is rate limited, and that response is plain text rather than JSON.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
emails
required
Array of strings <email> [ 1 .. 100 ] items [ items <email > ]

Lowercased and de-duplicated before sending.

membershipType
required
string (OrgMembershipTypeDto)
Enum: "FULL" "RESTRICTED"
customRoleIds
Array of strings <= 5 items [ items non-empty ]

Defaults to empty. Assigning an admin role requires roles write permission on the target organization.

orgId
string

Target organization. Defaults to the caller's organization.

Responses

Request samples

Content type
application/json
{
  • "emails": [
    ],
  • "membershipType": "FULL",
  • "customRoleIds": [
    ],
  • "orgId": "string"
}

Response samples

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

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": { }
}

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 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
[
  • {
    }
]

Subscriptions

Get an organization subscription by public ID

Retrieves an organization subscription by its public subscription identifier. Callers must have organization, tenant, or instance-level read permission on organization subscriptions. When that requirement is met, the subscription is returned only if it exists and the caller is permitted to read that specific subscription; otherwise the API responds with 404 so clients cannot infer whether a given public ID exists.

Authorizations:
ApiKeyAuth
path Parameters
publicId
required
string non-empty

Public subscription identifier.

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "orgId": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z",
  • "type": "FREE",
  • "pricingPlan": "FREE",
  • "pricingPlanLabel": "string",
  • "maxUsers": 0,
  • "allowsMultipleUsers": true,
  • "maxFreeUsers": 0,
  • "allowsFreeUsers": true,
  • "userMembershipType": "FULL",
  • "status": "ACTIVE",
  • "periodEndDate": "2019-08-24T14:15:22Z",
  • "usageLimits": {
    },
  • "externalSubscriptionId": "string",
  • "externalCustomerId": "string",
  • "processorType": "STRIPE",
  • "metadata": {
    },
  • "cancelledAt": "2019-08-24T14:15:22Z",
  • "periodStartDate": "2019-08-24T14:15:22Z",
  • "balanceAllocationPerUser": "string",
  • "storageAllocationGb": 0,
  • "enforceBillingSinceCycleStart": "2019-08-24T14:15:22Z"
}

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": [
    ]
}
⌘J