> ## 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

<Info>
  **Using our API via a dedicated deployment?** Just replace `api.langdock.com` with your deployment's base URL: **`<deployment-url>/api/public`**
</Info>

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.

## 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 all 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)    |
| `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.

| 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 or agent conversations 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 fetch('https://my-api.example.com/users/' + inputs.userId);
      return await 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 follows standard rate limits. If you exceed the limit, you'll 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>
