---
title: "List all integrations"
method: GET
path: "/integration/"
tags: ["integrations", "mcp-always-include"]
---

# List all integrations

`GET /integration/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/integration/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

List all integrations created for the organization. Responses are paginated.

## Query parameters

- `filters` ListIntegrationsFilterParamsSchema, required: Filter parameters for list and count integration endpoints.
  - `integration_type__not` string[], nullable: Exclude integrations with these integration types
  - `kind` 'source' | 'destination' | 'both': Query filter: source-only, destination-only, or both.
  - `record_type__in` string[], nullable: Filter to integrations that handle any of these record types (match ANY). Unknown slugs are ignored; wildcard integrations always match.
  - `search` string, nullable: Search integrations by name or type. Multi-word queries use AND logic.
- `limit` integer: The number of items to return.
- `order_by` 'id' | 'created_at' | 'updated_at' | 'name' | 'created_by_display_name'
- `order_direction` 'asc' | 'desc'
- `cursor` string, nullable: Set the cursor to the next or previous page. You can get the cursor from the previous page's response.
- `health_first` boolean: Sort worst configuration health to the top, with order_by as the secondary within-group sort. Disable to sort purely by order_by.
- `health_order` 'worst_first' | 'best_first': With health_first, which end of the health order comes first: worst_first (errors on top, the default) or best_first.

## Response `200`

Successful Response

- PaginatedResponseIntegrationRead
  - `data` IntegrationRead[]: The list of ResponseItems.
    - `connect_method` 'oauth_connect' | 'credentials_form': How a user connects an integration in the UI. Extensible: as app listings gain non-OAuth connect flows (e.g. install-bound URL secret, per-install signature), add members here rather than another boolean. An integration *type* can advertise more than one of these (see ``IntegrationTypeRead.connect_methods``); a specific *connection* records the single method it was created with on ``IntegrationModel.connect_method``.
    - `created_at` string, date-time, required
    - `created_by_actor_type` 'user' | 'api' | 'system', required: Who authorised an action.
    - `created_by_display_name` string, nullable: Display name of the creator. User's full name or 'API - {key name}'.
    - `health_checked_at` string, date-time, nullable: When the latest health check was performed.
    - `health_error_code` string, nullable: Machine-readable error code from the latest health check (e.g. 'unauthorized', 'insufficient_permissions', 'rate_limited'). Drives the 'Action required: reauthorize' state and Reconnect CTA when it is 'unauthorized' or 'insufficient_permissions'. Null if never checked or healthy.
    - `health_error_message` string, nullable: Error message from the latest health check, if unhealthy.
    - `health_status` 'healthy' | 'warning' | 'error'
    - `id` string, uuid, required
    - `integration_type` string, required: The type of the integration.
    - `kind` 'source' | 'destination' | 'both', required: Query filter: source-only, destination-only, or both.
    - `name` string, required: The name of the integration as defined by the user.
    - `org_id` string, required
    - `record_types` IntegrationRecordTypeReadSchema[]: Record types this integration supports, as display-ready chips matching the Data tab. Wildcard integrations also include a 'Custom' marker.
      - `display_name` string, required: Human-readable name (e.g. 'Person', 'Contacts', 'Custom').
      - `is_custom` boolean, required: True for the wildcard 'Custom' marker (arbitrary/dynamic record types).
      - `slug` string, required: The record-type slug (e.g. 'person', 'contacts'), or '*' for Custom.
    - `updated_at` string, date-time, required
  - `next_page_cursor` string, nullable: The cursor to the next page. If there are no more pages, this is None.
  - `previous_page_cursor` string, nullable: The cursor to the previous page. If there are no previous pages, this is None.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
