Integrations API¶
Manage webhooks, external MCP servers, and AI providers. See Webhooks and MCP servers.
Paths are relative to https://<your-atlas-host>/api/v1. For the API key and headers every
request needs, see Authentication.
Endpoint |
What it does |
|---|---|
Create a webhook subscription |
|
List all webhook subscriptions for your organization |
|
Get a webhook subscription by ID |
|
Update a webhook subscription |
|
Delete a webhook subscription |
|
List recent delivery attempts for a webhook subscription |
|
Register an external MCP server (definition only) |
|
List your organization’s registered MCP servers |
|
Get a single MCP server configuration |
|
Update a server definition (display name, URL, consumers, enabled tools…) |
|
Delete a server and its connections |
|
Connect to the server, refresh its tool catalog, and record verification |
|
Set your organization-wide bearer credential for a bearer-auth server |
|
Create an LLM provider configuration |
|
List all LLM provider configurations for your organization |
|
Get the default LLM provider configuration |
|
Get an LLM provider configuration by ID |
|
Update an LLM provider configuration |
|
Delete an LLM provider configuration |
|
Verify LLM provider credentials |
Create webhook¶
POST /webhooks/
Create a webhook subscription.
Request body
Field |
Type |
Required |
Description |
|---|---|---|---|
|
string |
Yes |
|
|
string |
Yes |
HTTPS endpoint that receives the events. Private and internal addresses are rejected. |
|
string |
Yes |
Shared secret, 16 to 500 characters, that signs each delivery. |
|
list of string |
Glob patterns on event names, such as |
|
|
UUID |
Workspace to link the webhook to. Events are not filtered by it. |
|
|
integer |
Failed deliveries in a row before the webhook turns itself off. |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
list of string |
|
boolean |
|
integer |
|
integer |
|
datetime |
|
datetime |
|
string |
|
datetime |
List webhooks¶
GET /webhooks/
List all webhook subscriptions for your organization.
Response A list of objects:
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
list of string |
|
boolean |
|
integer |
|
integer |
|
datetime |
|
datetime |
|
string |
|
datetime |
Get webhook¶
GET /webhooks/{webhook_id}
Get a webhook subscription by ID.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
list of string |
|
boolean |
|
integer |
|
integer |
|
datetime |
|
datetime |
|
string |
|
datetime |
Update webhook¶
PATCH /webhooks/{webhook_id}
Update a webhook subscription.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Request body
Field |
Type |
Description |
|---|---|---|
|
string |
|
|
string |
HTTPS endpoint that receives the events. Private and internal addresses are rejected. |
|
string |
Shared secret, 16 to 500 characters, that signs each delivery. |
|
list of string |
Glob patterns on event names, such as |
|
boolean |
|
|
integer |
Failed deliveries in a row before the webhook turns itself off. |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
list of string |
|
boolean |
|
integer |
|
integer |
|
datetime |
|
datetime |
|
string |
|
datetime |
Delete webhook¶
DELETE /webhooks/{webhook_id}
Delete a webhook subscription.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
The raw file content.
List webhook deliveries¶
GET /webhooks/{webhook_id}/deliveries
List recent delivery attempts for a webhook subscription.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response A list of objects:
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
UUID |
|
string |
|
integer |
|
integer |
|
datetime |
|
datetime |
|
datetime |
|
integer |
|
integer |
|
integer |
|
integer |
|
string |
|
string |
|
object |
|
datetime |
|
datetime |
Create MCP server¶
POST /mcp-servers/
Register an external MCP server (definition only).
Request body
Field |
Type |
Required |
|---|---|---|
|
string |
Yes |
|
string |
Yes |
|
string |
Yes |
|
string |
|
|
string |
|
|
string |
|
|
string |
|
|
list of string |
|
|
integer |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
list of object |
|
integer |
|
boolean |
|
boolean |
|
datetime |
|
string |
|
string |
|
boolean |
|
datetime |
|
datetime |
List MCP servers¶
GET /mcp-servers/
List your organization’s registered MCP servers.
Response A list of objects:
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
list of object |
|
integer |
|
boolean |
|
boolean |
|
datetime |
|
string |
|
string |
|
boolean |
|
datetime |
|
datetime |
Get MCP server¶
GET /mcp-servers/{config_id}
Get a single MCP server configuration.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
list of object |
|
integer |
|
boolean |
|
boolean |
|
datetime |
|
string |
|
string |
|
boolean |
|
datetime |
|
datetime |
Update MCP server¶
PATCH /mcp-servers/{config_id}
Update a server definition (display name, URL, consumers, enabled tools…).
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Request body
Field |
Type |
|---|---|
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
integer |
|
boolean |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
list of object |
|
integer |
|
boolean |
|
boolean |
|
datetime |
|
string |
|
string |
|
boolean |
|
datetime |
|
datetime |
Delete MCP server¶
DELETE /mcp-servers/{config_id}
Delete a server and its connections.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Verify MCP server¶
POST /mcp-servers/{config_id}/verify
Connect to the server, refresh its tool catalog, and record verification.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
Field |
Type |
|---|---|
|
UUID |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
string |
|
list of string |
|
list of string |
|
list of object |
|
integer |
|
boolean |
|
boolean |
|
datetime |
|
string |
|
string |
|
boolean |
|
datetime |
|
datetime |
Connect MCP server¶
POST /mcp-servers/{config_id}/connect
Set your organization-wide bearer credential for a bearer-auth server.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Request body
Field |
Type |
Required |
|---|---|---|
|
string |
Yes |
|
string |
|
|
string |
Response
Field |
Type |
|---|---|
|
UUID |
|
UUID |
|
UUID |
|
boolean |
|
boolean |
|
datetime |
|
string |
Create LLM provider¶
POST /llm-providers/
Create an LLM provider configuration.
Request body
Field |
Type |
Required |
|---|---|---|
|
|
Yes |
|
string |
Yes |
|
object |
Yes |
|
object |
Response
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
List LLM providers¶
GET /llm-providers/
List all LLM provider configurations for your organization.
Parameters
Name |
In |
Type |
|---|---|---|
|
query |
integer |
|
query |
integer |
Response A page of results (items, total, limit, offset). Each item:
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
Get default LLM provider¶
GET /llm-providers/default
Get the default LLM provider configuration.
Response
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
Get LLM provider¶
GET /llm-providers/{provider_id}
Get an LLM provider configuration by ID.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
Update LLM provider¶
PATCH /llm-providers/{provider_id}
Update an LLM provider configuration.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Request body
Field |
Type |
Description |
|---|---|---|
|
string |
|
|
object |
|
|
object |
|
|
list of string |
Credential keys to remove. Submitting a field blank means ‘keep the stored value’ (you cannot retype a secret you cannot see), so clearing an optional credential needs to be explicit. Removing a required key fails validation. |
Response
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
Delete LLM provider¶
DELETE /llm-providers/{provider_id}
Delete an LLM provider configuration.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
The raw file content.
Verify LLM provider¶
POST /llm-providers/{provider_id}/verify
Verify LLM provider credentials.
Parameters
Name |
In |
Type |
Required |
|---|---|---|---|
|
path |
UUID |
Yes |
Response
Field |
Type |
Description |
|---|---|---|
|
UUID |
|
|
string |
|
|
string |
|
|
boolean |
|
|
list of string |
Which credential keys currently hold a value — names only, never values. Lets the edit form offer a ‘remove’ control for the optional ones, since a blank input means ‘keep’. |
|
object |
|
|
boolean |
|
|
datetime |
|
|
string |
|
|
string |
|
|
datetime |
|
|
integer |
|
|
datetime |
|
|
datetime |
What’s next?¶
API overview: authentication, worked examples, and error handling
Webhooks: get events pushed to your systems instead of polling
Service accounts: create the key an integration uses