# Introduction

Welcome to the Pandium API! Our API enables your team flexibility in managing your integrations hosted on Pandium. The Pandium API uses standard [REST](https://en.wikipedia.org/wiki/REST) conventions and standard HTTP methods and response codes for a simple and intuitive workflow.

With the Pandium API, native Pandium resources (integrations, tenants, and runs) are accessible via a generated API key, and allow for triggering runs externally - no login to the Pandium Integration Hub needed. As we expand the Pandium API, check back for additional functionality, or stay up to date on our [product updates](/content/product-updates/index.html) page.

## Base URL

Below you'll find the base URLs used when working with the Pandium API:

For using the Pandium API with a Production Pandium account: [https://api.pandium.io/](https://api.pandium.io/)

For using the Pandium API with a Sandbox Pandium account: [https://api.sandbox.pandium.com/](https://api.sandbox.pandium.com/)

## Authentication

To generate an API Key, navigate to the 'Settings' sidebar resource in the Pandium Integration Hub, then head over to the "API Access" tab. Here, you can give your key a name and generate it.

API Keys are _**only viewable at creation**_, so store and keep your key(s) secure.

Developer Resources tab in the Integration Hub

To use the generated key, attach it to your request under an `x-api-key` header, like so:

```bash
curl --location --request POST '/v2/tenants/<tenant_id>/run?mode=init' \
--header 'X-API-KEY: <pandium api key>'
```

## Builds

In Pandium, the build object can be used to create a release.

### Create Build V2

post/v2/sourcecontrol/build

Create a build for an integration.

**Body**

| Field                 | Type       | Required | Description                                      |
|-----------------------|------------|----------|--------------------------------------------------|
| `tag`                 | string     | Yes      | The tag to associate with the build              |
| `integration_id`      | integer    | Yes      | The ID of the integration to build against       |
| `branch`              | string     | No       | The branch to build from. Defaults to the integration tracking branch if not provided.

**Responses**

- 201 Successful Response

```json
{
  "tag": "v1.0.0",
  "integration_id": 123,
  "branch": "main"
}
```

- 422 Unprocessable Content

```json
{
  "error": "Validation Error"
}
```

## Integrations

In Pandium, the integration object can be thought of as the primary record for any application on the platform. This record holds the necessary components to run syncs between systems, and the content that a given application utilizes for marketplace views.

Integration IDs can be found in the Integration Hub on the Integration Detail page.

### Get Many Integrations

get/v2/integrations

Get all your integrations on Pandium.

**Query parameters**

| Parameter             | Type     | Required | Description                                          |
|-----------------------|----------|----------|------------------------------------------------------|
| `sort_by`             | string   | No       | Format is {field}__ASC or {field}__DESC           |
| `limit`               | integer  | No       | Default is 100, max is 500                          |
| `skip`                | integer  | No       | The number of records to skip. Default: `0`        |
| `archived`            | boolean  | No       | Set this to true to fetch archived integrations      |

**Responses**

- 200 Successful Response

```json
[
  {
    "id": 1,
    "created_date": "2026-07-17T23:02:13.571Z",
    "modified_date": "2026-07-17T23:02:13.571Z",
    "name": "text",
    "long_name": "text",
    "type": "Internal",
    "tags": [],
    "default_release_id": 1,
    "default_release_channel": "Latest"
  }
]
```

### Get One Integration

get/v2/integrations/{integration_id}

Get a single integration by its ID.

**Responses**

- 200 Successful Response

```json
{
  "id": 1,
  "name": "text",
  "long_name": "text",
  "type": "Internal"
}
```

## Tenants

In Pandium, a tenant is a single instance of an integration, associated with a single set of user credentials for each connected system.

Whenever a user installs an integration, a tenant is created within Pandium and is automatically given a tenant ID.

### Get Many Tenants

get/v2/tenants

Get all your tenants on Pandium.

**Query parameters**

**Responses**

- 200 Successful Response

```json
[
  {
    "id": 1,
    "name": "text",
    "archived": true,
    "integration_id": 1
  }
]
```

### Sync By Tenant Id

post/v2/tenants/{tenant_id}/sync

Request a sync when the tenant id is known.

**Responses**

- 202 Successful Response

```json
{
  "trigger_id": "9655159064915567"
}
```

## Runs

A run is a specific record of a sync: a single execution of integration code using the credentials provided by a tenant of that integration, at a specific point in time. The runs endpoints are by nature read-only.

### Get Run Status From Trigger

get/v2/runs/triggers/{trigger_id}/status

Returns status information for a run associated with the provided trigger id.

**Responses**

- 200 Successful Response

```json
{
  "status": "in progress"
}
```

### Proxy Endpoints

An endpoint that allows a user to make a call to an external API on behalf of a tenant.

### Proxy Connector Call Rest

post/v2/tenants/{tenant_id}/connectors/{connector_name}/call

Proxy a synchronous connector call.

**Responses**

- 200 Successful Response

```json
{
  "data": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
```

# Last updated 21 days ago
