# List the current tenant's private integrators Get every tenant-private integrator owned by the current tenant

`GET /api/configuration/operator/integrators/private`

- **Success:** `200 OK`
- **Products:** Operator (`FOH`)
- **Features:** Front of House Generic Access (`FOHGENERIC`)

HTML version: [List the current tenant's private integrators Get every tenant-private integrator owned by the current tenant](https://support.gladstonesoftware.cloud/reference/configuration/list-the-current-tenants-private-integrators-get-every-tenant-private-integrator)

## Overview

Returns every **private** integrator belonging to your own tenant — the integrator records you
create for your own systems, as opposed to the Gladstone-curated global catalogue. Each entry carries
the integrator's identity and the 8-character prefix of its active API key, if it has one.

The full set is returned every time, sorted by `name`, with no paging, filtering or search.
Integrators belonging to other tenants are never included, and global integrators are excluded
entirely — read those from
[List global integrators](list-global-integrators-with-tenant-activation-status-get-every-global-integrato.md).

**No plaintext API key is ever returned here**, by design: no list endpoint exposes one. The plaintext is shown exactly once, when the integrator is created or
when its key is [renewed](renew-a-private-integrators-api-key-atomically-revoke-the-current-key-and-issue.md).
This list is therefore the tool for answering "which key is this system holding?" by matching
`activeKeyPrefix`, not for recovering a lost key.

## Endpoint

`GET {base_url}/api/configuration/operator/integrators/private`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Sample request

```bash title="cURL"
curl -X GET '{base_url}/api/configuration/operator/integrators/private' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'
```

## Response fields

| Field | Type | Description |
|-------|------|-------------|
| `[].id` | integer (int32) | The integrator's identifier, and the value to pass as the path `id` when updating it or [renewing its key](renew-a-private-integrators-api-key-atomically-revoke-the-current-key-and-issue.md). |
| `[].name` | string | The integrator's display name, as given when it was created. The list is sorted by this value. Not unique — two of your integrators may share a name — so key off `id`. |
| `[].description` | string | The free-text description recorded against the integrator. Null when none was given. |
| `[].origin` | string | The one web origin this integrator is allowed to call from. If you send an `Origin` header when requesting a token with this integrator's key, it must match this value or the token request is rejected. |
| `[].logoUrl` | string | Absolute URL of the integrator's logo, for rendering a list tile. Null when none was set. |
| `[].isActive` | boolean | Whether the integrator record is enabled. Deleting a private integrator marks it inactive rather than removing it, so inactive integrators stay in this list. An integrator can be inactive and still show an `activeKeyPrefix`, so check both before assuming an integration is live. |
| `[].isBillable` | boolean | Whether usage under this integrator is chargeable. Carried as a `billable` claim on every token minted from its key. |
| `[].activeKeyPrefix` | string | The first 8 characters of the integrator's current key — enough to identify which key a deployed system holds, and nothing more. Null when the integrator has no key whose status is Active and which has not passed its expiry, which is the state after a revoke and before a renew. Never the full key. |
| `[].createdOn` | string (date-time) | UTC timestamp the **integrator** record was created — not the timestamp of its current key, which is not returned by any endpoint. It can be null, so treat a null as "not recorded" rather than as an error. |
| `[].modifiedOn` | string (date-time) | UTC timestamp the integrator record was last modified. Key operations do not count as changes to the integrator, so this does not move when a key is renewed or revoked — do not use it to detect key rotation. Null if the record has never been amended. |

## Sample response

```json title="200 OK"
[
  {
    "id": 12345,
    "name": "string",
    "description": "string",
    "origin": "string",
    "logoUrl": "string",
    "isActive": true,
    "isBillable": true,
    "activeKeyPrefix": "string",
    "createdOn": "2026-08-14T19:00:00Z",
    "modifiedOn": "2026-08-14T19:00:00Z"
  }
]
```

## Errors

| Status | Meaning | When |
|--------|---------|------|
| `400` | Bad request | The tenant environment could not be resolved from your token, so there is no tenant whose integrators can be listed. The body is the plain string `Could not resolve tenant environment.` |
| `500` | Internal server error | An unexpected server-side failure while reading the list. The body is empty. |
| `503` | Service unavailable | Not returned by this endpoint itself. A `503` reaching you comes from the hosting platform in front of it. |
