---
title: "listIntegrations"
method: GET
path: "/v1/integrations"
tags: ["integrations"]
---

# listIntegrations

`GET /v1/integrations`

Retrieve all integrations for the authenticated organization

## Response `200`

Successfully retrieved integrations

- object
  - `integrations` Integration[], required
    - `id` string, uuid, required — Unique identifier for the integration
    - `orgId` string, required — Organization ID
    - `created_at` string, date-time, required — ISO-8601 timestamp when the integration was created
    - `updated_at` string, date-time, required — ISO-8601 timestamp when the integration was last updated
    - `name` string, required — Integration name
    - `description` string — Optional description of the integration
    - `access_token_ids` string[] — List of access token IDs associated with this integration
    - `app_ids` string[] — List of app IDs associated with this integration
    - `environment_config` EnvironmentFieldConfig[] — Configuration defining environment variables needed by this integration. Values are stored in the Environments API.
      - `key` string, required — Environment variable key, used to look up the value in the Environments API.
      - `label` string, required — Display label for the field in the UI
      - `type` 'String' | 'SecretString', required — Whether the value is a plain string or an encrypted secret
      - `description` string — Help text shown below the field
      - `required` boolean — Whether this field must be filled before the integration can be used
      - `order` integer — Sort order for display and drag-to-reorder
    - `settings` IntegrationSettings — Settings for the integration
      - `autoRefresh` AutoRefreshSettings — Auto-refresh settings for keeping integration data fresh
        - `enabled` boolean — Whether auto-refresh is enabled
        - `freshnessThresholdMinutes` integer — Maximum age (in minutes) of data before it is considered stale and eligible for refresh
      - `notifications` IntegrationNotificationConfig — Integration monitoring notification configuration. Rides Integration.settings.notifications (camelCase) and surfaces on both v1 and v2 GET/PUT. Unknown keys are stripped server-side to stay forward-compatible with deferred (V2) rule types.
        - `enabled` boolean, required — Master switch for this integration's notifications.
        - `recipients` NotificationRecipient[], required — epilot user ids notified for this integration. Same-org membership and per-user notification preferences are enforced at send time (Phases 3–5), not at config-write time.
          - `user_id` string, required — epilot user id. Same-org membership is enforced at send time (Phases 3–5), which re-validates each recipient against the integration's org before fanning out — it is not enforced at config-write time.
        - `defaultChannels` NotificationChannelSet, required — Delivery channel toggles. New channels added in svc-notification-api inherit here.
          - `email` boolean, required
          - `in_app` boolean, required
        - `monitoredUseCases` string[] — Integration-level use-case include-filter; absent/empty means all use cases.
        - `monitoredCodes` string[] — Integration-level code scope; absent/empty resolves to ['_error_']. Accepts concrete monitoring error codes or group sentinels (_error_, _warning_, _success_, _info_, _any_, _parent_).
        - `rules` NotificationRule[], required — Enabled triggers and their params. A type MAY repeat; capped at 20 rules (enforced at the write boundary).
          - `id` string — Stable AlertState + baseline key. Optional on write — the server mints a ULID when omitted; a supplied id is preserved verbatim.
          - `name` string — Optional human label disambiguating two rules of the same type.
          - `type` 'critical_error' | 'error_threshold' | 'warning_threshold' | 'success_rate_drop' | 'recovery' | 'silence', required — Rule trigger type. These are the only supported types; each is produced by a real alerter.
          - `enabled` boolean, required
          - `channels` NotificationChannelSet — Delivery channel toggles. New channels added in svc-notification-api inherit here.
            - `email` boolean, required
            - `in_app` boolean, required
          - `codes` string[] — Per-rule code scope. Event-matching rules default to ['_parent_']; silence defaults to ['_any_']. success_rate_drop and recovery take no codes.
          - `threshold` union — Count or percentage; 'auto' selects anomaly-baseline mode.
            - number
            - 'auto'
          - `sensitivity` 'low' | 'medium' | 'high' — Band width for 'auto' mode.
          - `fallbackThreshold` number — Static value used while the 'auto' baseline is immature (cold start).
          - `window` string — Evaluation window, e.g. '15m', '1h', '24h'.
          - `minSampleSize` integer — success_rate_drop minimum sample size guard.
          - `quietPeriod` string — silence quiet period, e.g. '12h'.
        - `digest` NotificationDigestConfig, required — Digest schedule and content configuration.
          - `enabled` boolean, required
          - `frequency` 'daily' | 'weekly', required
          - `dayOfWeek` 0 | 1 | 2 | 3 | 4 | 5 | 6 — Weekly only. 0 = Sunday … 6 = Saturday.
          - `timeOfDay` string, required — HH:mm
          - `timezone` string, required — IANA timezone, e.g. 'Europe/Berlin'.
          - `channels` NotificationChannelSet, required — Delivery channel toggles. New channels added in svc-notification-api inherit here.
            - `email` boolean, required
            - `in_app` boolean, required
          - `includeHealthy` boolean, required — List all integrations vs. only ones with issues.
          - `skipIfEmpty` boolean, required — Suppress the digest when nothing happened.
        - `muteUntil` string, date-time, nullable — ISO instant; snooze all non-digest alerts until this time. `null` means not muted.
    - `integration_type` 'erp' | 'connector' — Type of integration. "erp" is the ERP integration with inbound/outbound use cases. "connector" is for complex proxy integrations with external APIs.
    - `connector_config` ConnectorConfig — Shared configuration for connector-type integrations
      - `base_url` string — Base URL for the partner API
      - `auth` ManagedCallAuth — Authentication configuration for managed call requests
        - `type` 'oauth2_client_credentials' | 'api_key' | 'bearer' — Authentication type
        - `token_url` string — OAuth2 token URL. Can be plain text or {{env.key}} reference.
        - `client_id` string — OAuth2 client ID. Can be plain text or {{env.key}} reference.
        - `client_secret` string — OAuth2 client secret. Must be an {{env.key}} reference (secret).
        - `scope` string — OAuth2 scope
        - `audience` string — OAuth2 audience parameter (e.g. for Auth0, Azure AD). Can be plain text or {{env.key}} reference.
        - `resource` string — OAuth2 resource parameter (e.g. for Azure AD). Can be plain text or {{env.key}} reference.
        - `body_params` object — Additional key-value pairs for the OAuth2 token request body. Values can be {{env.key}} references.
        - `headers` object — Additional headers for the OAuth2 token request. Values can be {{env.key}} references.
        - `query_params` object — Additional query parameters for the OAuth2 token URL. Values can be {{env.key}} references.
        - `api_key_header` string — Header name for API key auth (default X-API-Key)
        - `api_key` string — API key value. Must be an {{env.key}} reference (secret).
        - `token` string — Bearer token value. Must be an {{env.key}} reference (secret).
      - `types_versions` object[] — History of generated type package versions
        - `version` string, required
        - `package_name` string, required
        - `generated_at` string, date-time, required
        - `generated_by` string, required
        - `status` 'active' | 'deprecated', required
      - `latest_types_version` string — Latest active types package version
      - `latest_types_package_name` string — Latest active types package name
    - `protected` boolean — If true, integration is displayed in read-only mode in the UI to discourage changes
    - `_manifest` string[] — The manifest IDs associated with this integration

## Other responses

- `401` — Unauthorized request
- `500` — Internal Server Error

---

[API](https://skmtc.net/epilot/apis/integration-toolkit-api.md) · [All operations](https://skmtc.net/epilot/apis/integration-toolkit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/integration-toolkit-api/revisions/c24837d75096/schema)
