> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integrations API Overview

> Programmatically create and manage custom integrations in your Langdock workspace

The Integrations API lets you programmatically create and manage custom integrations in your Langdock workspace. Build integrations that connect to your internal tools, APIs, and services.

## Base URL

```
https://api.langdock.com
```

<Warning>
  **Dedicated deployments**

  Replace `api.langdock.com` with `<your-deployment-url>/api/public` in all requests.
</Warning>

## API Key Scopes

The Integrations API requires specific API key scopes:

| Scope | Endpoints |
| - | - |
| `ASSISTANT_API` or `INTEGRATION_API` | List integrations (`GET /integrations/v1/get`) |
| `INTEGRATION_API` | All other integration endpoints |

<Tip>
  Create an API key with `INTEGRATION_API` scope in your [workspace settings](https://app.langdock.com/settings/workspace/api-keys) to access the full Integrations API.
</Tip>

## Available Endpoints

### Integrations

| Method | Endpoint | Description |
| - | - | - |
| `GET` | `/integrations/v1/get` | [List shared private API, MCP, and A2A integrations](/en/developer/integrations-api/list-integrations) |
| `POST` | `/integrations/v1/create` | [Create a new integration](/en/developer/integrations-api/create-integration) |
| `GET` | `/integrations/v1/{integrationId}` | [Get integration details](/en/developer/integrations-api/get-integration) |
| `PATCH` | `/integrations/v1/{integrationId}` | [Update an integration](/en/developer/integrations-api/update-integration) |
| `GET` | `/integrations/v1/{integrationId}/icon` | [Get the integration icon](/en/developer/integrations-api/get-icon) |
| `PUT` | `/integrations/v1/{integrationId}/icon` | [Replace the integration icon](/en/developer/integrations-api/replace-icon) |
| `PATCH` | `/integrations/v1/{integrationId}/auth` | [Update auth configuration](/en/developer/integrations-api/update-auth) |

### Actions

Actions are capabilities you can add to integrations that agents can execute. Each action has a `requiresConfirmation` default. Agents, workflows, and automations can override it when they run the action.

| Method | Endpoint | Description |
| - | - | - |
| `POST` | `/integrations/v1/{integrationId}/actions/create` | [Create an action](/en/developer/integrations-api/create-action) |
| `PUT` | `/integrations/v1/{integrationId}/actions/{actionId}` | [Update an action](/en/developer/integrations-api/update-action) |
| `DELETE` | `/integrations/v1/{integrationId}/actions/{actionId}` | [Delete an action](/en/developer/integrations-api/delete-action) |

### Triggers

Triggers allow integrations to start workflows based on external events.

| Method | Endpoint | Description |
| - | - | - |
| `POST` | `/integrations/v1/{integrationId}/triggers/create` | [Create a trigger](/en/developer/integrations-api/create-trigger) |
| `PUT` | `/integrations/v1/{integrationId}/triggers/{triggerId}` | [Update a trigger](/en/developer/integrations-api/update-trigger) |
| `DELETE` | `/integrations/v1/{integrationId}/triggers/{triggerId}` | [Delete a trigger](/en/developer/integrations-api/delete-trigger) |

## Quick Start

Here's how to create a simple integration with an action:

```javascript theme={null}
const axios = require("axios");

const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.langdock.com";

// 1. Create an integration
const integrationResponse = await axios.post(
  `${BASE_URL}/integrations/v1/create`,
  {
    name: "My Custom Integration",
    description: "Connects to my internal API"
  },
  {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    }
  }
);

const integrationId = integrationResponse.data.integration.id;

// 2. Add an action to the integration
const actionResponse = await axios.post(
  `${BASE_URL}/integrations/v1/${integrationId}/actions/create`,
  {
    name: "Get User Data",
    description: "Retrieves user information from the internal API",
    code: `
      const response = await ld.request({
        method: "GET",
        url: "https://my-api.example.com/users/" + data.input.userId
      });
      return response.json;
    `,
    inputFields: [
      {
        label: "User ID",
        type: "TEXT",
        description: "The ID of the user to retrieve",
        required: true
      }
    ]
  },
  {
    headers: {
      Authorization: `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    }
  }
);

console.log("Action created:", actionResponse.data.action);
```

## Use Cases

* **Internal Tools Integration**: Connect agents to your company's internal APIs, databases, or services
* **Custom Workflows**: Build integrations that trigger workflows based on external events
* **Data Enrichment**: Create actions that fetch and enrich data from multiple sources
* **Automated Reporting**: Build integrations that generate and distribute reports

## Rate Limits

The Integrations API is limited to **500 RPM** per workspace and API key. No token limit applies. If you exceed the limit, you receive a `429` response. Wait and retry with exponential backoff.

<Info>
  Langdock intentionally blocks browser-origin requests to protect your API key and ensure your applications remain secure. For more information, please see our guide on [API Key Best Practices](/en/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices).
</Info>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.