---
title: "List external event subscriptions"
method: GET
path: "/external-event-subscriptions"
tags: ["ExternalEventSubscriptions"]
---

# List external event subscriptions

`GET /external-event-subscriptions`

## Query parameters

- `limit` integer
- `cursor` string
- `includeArchived` boolean
- `tenantId` string
- `userId` string
- `connectionId` string
- `integrationId` string
- `externalAppId` string
- `externalEventTypeId` string
- `status` 'subscribed' | 'unsubscribed' | 'error'

## Response `200`

- ExternalEventSubscriptionsPaginatedResponseDto
  - `items` object[], required
    - `userId` string, required
    - `tenantId` string
    - `id` string, required
    - `name` string
    - `connectionId` string, required
    - `integrationId` string, required
    - `externalEventTypeId` string
    - `config` object
      - `type` 'data-record-created' | 'data-record-updated' | 'data-record-deleted' | 'connector-event', required
      - `dataSource` object
        - `key` object
        - `collectionKey` object
        - `collectionParameters` object
        - `udm` object
        - `pullUpdatesIntervalSeconds` number
        - `fullSyncIntervalSeconds` number
        - `path` object
        - `defaultPath` object
      - `eventKey` string
      - `eventParameters` object
    - `status` 'subscribed' | 'unsubscribed' | 'error'
    - `error` ExternalEventSubscriptionsPaginatedResponseDtoSchema0
      - `type` 'bad_request' | 'connection' | 'configuration' | 'dependency_error' | 'flow_run' | 'flow_instance_setup' | 'concurrency' | 'internal' | 'action_run' | 'action_instance_setup' | 'unit_run' | 'custom_code' | 'insufficient_credit' | 'openrouter_not_configured'
      - `key` string
      - `message` string, required
      - `data` object
      - `stack` object
      - `causedByError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0 — recursive
      - `logs` object[]
    - `isRealTime` boolean
    - `requiresPull` boolean
    - `requiresFullSync` boolean
    - `createdAt` string
    - `archivedAt` string
    - `isDeactivated` boolean
    - `stateData` object
    - `nextPullEventsTimestamp` number
    - `pullUpdatesIntervalSeconds` number
    - `fullSyncIntervalSeconds` number
    - `nextRefreshTimestamp` number
    - `globalWebhookKey` string
    - `globalWebhookEventSelector` string
    - `incomingWebhookUri` string
    - `webhookUri` string
    - `user` object
      - `id` string, required
      - `name` string, required
      - `meta` object
      - `internalId` string, required
      - `fields` object
      - `credentials` object
      - `lastActiveAt` string
      - `isTest` boolean
      - `isBillable` boolean
      - `isActive` boolean
      - `aiCreditsRolling30DayLimit` number, nullable
      - `createdAt` string
      - `archivedAt` string
    - `connection` object
      - `id` string, required — Internal database ID of the element. Assigned by the API; unique per element.
      - `name` string, required
      - `userId` string, required
      - `tenantId` string
      - `type` 'connector' | 'mcp'
      - `key` string
      - `isTest` boolean
      - `connected` boolean
      - `disconnected` boolean — Use `connected` instead.
      - `isDefunct` boolean
      - `state` 'BUILDING' | 'CLIENT_ACTION_REQUIRED' | 'CONFIGURATION_ERROR' | 'SETUP_FAILED' | 'READY' | 'DISCONNECTING'
      - `errors` ExternalEventSubscriptionsPaginatedResponseDtoSchema0[]
        - `type` 'bad_request' | 'connection' | 'configuration' | 'dependency_error' | 'flow_run' | 'flow_instance_setup' | 'concurrency' | 'internal' | 'action_run' | 'action_instance_setup' | 'unit_run' | 'custom_code' | 'insufficient_credit' | 'openrouter_not_configured'
        - `key` string
        - `message` string, required
        - `data` object
        - `stack` object
        - `causedByError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0 — recursive
        - `logs` object[]
      - `requestError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0
        - `type` 'bad_request' | 'connection' | 'configuration' | 'dependency_error' | 'flow_run' | 'flow_instance_setup' | 'concurrency' | 'internal' | 'action_run' | 'action_instance_setup' | 'unit_run' | 'custom_code' | 'insufficient_credit' | 'openrouter_not_configured'
        - `key` string
        - `message` string, required
        - `data` object
        - `stack` object
        - `causedByError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0 — recursive
        - `logs` object[]
      - `error` ExternalEventSubscriptionsPaginatedResponseDtoSchema0
        - `type` 'bad_request' | 'connection' | 'configuration' | 'dependency_error' | 'flow_run' | 'flow_instance_setup' | 'concurrency' | 'internal' | 'action_run' | 'action_instance_setup' | 'unit_run' | 'custom_code' | 'insufficient_credit' | 'openrouter_not_configured'
        - `key` string
        - `message` string, required
        - `data` object
        - `stack` object
        - `causedByError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0 — recursive
        - `logs` object[]
      - `integrationId` string
      - `connectorId` string
      - `externalAppId` string
      - `connectorVersion` string
      - `authOptionKey` string
      - `createdAt` string, required
      - `updatedAt` string, required
      - `lastActiveAt` string
      - `nextCredentialsRefreshAt` string
      - `nextRetryTimestamp` string
      - `retryAttempts` number
      - `canTest` boolean
      - `canRefreshCredentials` boolean
      - `archivedAt` string
      - `isDeactivated` boolean
      - `meta` object
      - `buildingAgentSessionId` string — Session ID for building the element via intent-based endpoints (create/update with intent). Present when state is BUILDING.
      - `clientAction` object — Action the client must perform to advance this connection. Present if and only if state is CLIENT_ACTION_REQUIRED.
        - `type` 'connect' | 'provide-input', required
        - `description` string, required
        - `uiUrl` string
        - `agentInstructions` string
        - `handoffAgentInstructions` string
    - `integration` object
      - `id` string, required — Internal database ID of the element. Assigned by the API; unique per element.
      - `name` string, required — Display name. Always present in API responses (filled by API if not set on create).
      - `uuid` string — Stable unique identifier (UUID). Can be provided on create; otherwise generated. Must be unique across elements of this type.
      - `key` string — Stable key for referencing the element (e.g. in selectors). Unique per (parent, integration) scope. Generated from name if not provided on create.
      - `description` string — Optional human-readable description.
      - `meta` object — Optional key-value metadata.
      - `state` 'BUILDING' | 'CLIENT_ACTION_REQUIRED' | 'CONFIGURATION_ERROR' | 'SETUP_FAILED' | 'READY' | 'DISCONNECTING' — Current lifecycle or health state (e.g. READY, SETUP_FAILED, CONFIGURATION_ERROR, BUILDING). Set by the engine during setup and validation.
      - `errors` ExternalEventSubscriptionsPaginatedResponseDtoSchema0[] — Validation or setup errors when state is not READY.
        - `type` 'bad_request' | 'connection' | 'configuration' | 'dependency_error' | 'flow_run' | 'flow_instance_setup' | 'concurrency' | 'internal' | 'action_run' | 'action_instance_setup' | 'unit_run' | 'custom_code' | 'insufficient_credit' | 'openrouter_not_configured'
        - `key` string
        - `message` string, required
        - `data` object
        - `stack` object
        - `causedByError` ExternalEventSubscriptionsPaginatedResponseDtoSchema0 — recursive
        - `logs` object[]
      - `revision` string — Opaque revision token; changes on each update. Used for optimistic concurrency.
      - `createdAt` string — ISO date when the element was created.
      - `updatedAt` string — ISO date when the element was last updated.
      - `archivedAt` string
      - `isDeactivated` boolean
      - `isReadOnly` boolean — When true, the element cannot be modified (e.g. published package elements or elements from another workspace).
      - `logoUri` string, required
      - `connectorId` string
      - `connectorVersion` string
      - `oAuthCallbackUri` string
      - `parameters` object
      - `hasMissingParameters` boolean
      - `hasDocumentation` boolean
      - `hasOperations` boolean
      - `operationsCount` number
      - `hasData` boolean
      - `dataCollectionsCount` number
      - `hasEvents` boolean
      - `eventsCount` number
      - `hasGlobalWebhooks` boolean
      - `hasUdm` boolean
      - `isTest` boolean
      - `externalAppId` string
      - `authType` 'integration-app-token' | 'membrane-token' | 'oauth2' | 'oauth1' | 'client-credentials' | 'proxy'
      - `optionsConfig` object
  - `cursor` string

---

[API](https://skmtc.net/getmembrane/apis/membrane-api.md) · [All operations](https://skmtc.net/getmembrane/apis/membrane-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getmembrane/membrane-api/versions/f8591a09da92/schema)
