---
title: "List packages"
method: GET
path: "/packages"
tags: ["Packages"]
---

# List packages

`GET /packages`

## Query parameters

- `layer` 'universal' | 'integration' | 'connection'
- `integrationKey` string
- `integrationId` string
- `connectionId` string
- `connectionKey` string
- `instanceKey` string
- `search` string
- `limit` integer
- `cursor` string
- `includeArchived` boolean
- `parentId` string
- `universalParentId` string
- `tenantId` string
- `userId` string
- `isUniversal` boolean
- `externalAppId` string

## Response `200`

- PackagesPaginatedResponseDto
  - `items` object[], required
    - `id` string, required — Internal database ID of the element. Assigned by the API; unique per element.
    - `name` string, required
    - `uuid` string — Stable unique identifier (UUID). Can be provided on create; otherwise generated. Must be unique across elements of this type.
    - `key` string, required
    - `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` PackagesPaginatedResponseDtoSchema0[] — 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` PackagesPaginatedResponseDtoSchema0 — 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 — When set, the element is archived (soft-deleted). Archived elements cannot be patched.
    - `isDeactivated` boolean — When true, setup is skipped and the element is treated as inactive (e.g. when dependencies are deactivated or the element is archived).
    - `isReadOnly` boolean — When true, the element cannot be modified (e.g. published package elements or elements from another workspace).
    - `integrationId` string — Internal ID of the integration this element belongs to. Omit for universal elements; set for integration-specific elements. Uniqueness of key is scoped per integration.
    - `integrationUuid` string — UUID of the integration; alternative to integrationId when creating from export. Resolved to integrationId by the API.
    - `integrationKey` string — Key of the integration; alternative to integrationId. Resolved to integrationId by the API.
    - `parentId` string — Internal ID of the parent workspace element. Used for hierarchy (e.g. integration-level under universal). Child key uniqueness is scoped by parent and integration.
    - `parentUuid` string — UUID of the parent element; alternative to parentId when creating (e.g. from export). Resolved to parentId by the API.
    - `parentKey` string — Key of the parent element; alternative to parentId. Resolved to parentId by the API.
    - `connectionId` string — Connection ID. Used when filtering by connection in list/selector queries, or when creating or identifying connection-level instances.
    - `instanceKey` string — Key identifying a specific connection-level instance when multiple instances exist per (element, connection). Used in selector queries and when creating instances.
    - `isUniversal` boolean — When true, the element is universal (shared across all integrations). Requires universal-element access. Omit or false for integration-specific elements.
    - `externalAppId` string — Internal ID of the external app this element belongs to. Auto-populated from the integration when integrationId is set and the integration has an externalAppId.
    - `externalAppUuid` string — UUID of the external app; alternative to externalAppId when creating from export. Resolved to externalAppId by the API.
    - `externalAppKey` string — Key of the external app; alternative to externalAppId. Resolved to externalAppId by the API.
    - `scenarioTemplateId` string
    - `elements` object[]
      - `id` string, required
      - `type` 'customer' | 'app' | 'connector' | 'integration' | 'flow' | 'flow-instance' | 'flow-run' | 'action' | 'package' | 'action-instance' | 'connection' | 'field-mapping' | 'field-mapping-instance' | 'data-source' | 'data-source-instance' | 'data-link-table' | 'data-link-table-instance' | 'app-event-type' | 'app-event-subscription' | 'app-event-log-record' | 'app-data-schema' | 'app-data-schema-instance' | 'external-event-subscription' | 'external-event-log-record' | 'external-event-pull' | 'external-event-type' | 'screen' | 'action-run-log-record' | 'external-api-log-record' | 'incoming-webhook-log-record' | 'connected-product', required
      - `element` object
    - `isCustomized` boolean
    - `isPublic` boolean
    - `version` string
    - `changelog` string
    - `parentPackageVersion` string
    - `appliedToIntegrations` object[]
      - `element` object, required
        - `id` string, required — Internal database ID of the element. Assigned by the API; unique per element.
        - `name` string, required
        - `uuid` string — Stable unique identifier (UUID). Can be provided on create; otherwise generated. Must be unique across elements of this type.
        - `key` string, required
        - `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` PackagesPaginatedResponseDtoSchema0[] — 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` PackagesPaginatedResponseDtoSchema0 — 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 — When set, the element is archived (soft-deleted). Archived elements cannot be patched.
        - `isDeactivated` boolean — When true, setup is skipped and the element is treated as inactive (e.g. when dependencies are deactivated or the element is archived).
        - `isReadOnly` boolean — When true, the element cannot be modified (e.g. published package elements or elements from another workspace).
        - `integrationId` string — Internal ID of the integration this element belongs to. Omit for universal elements; set for integration-specific elements. Uniqueness of key is scoped per integration.
        - `integrationUuid` string — UUID of the integration; alternative to integrationId when creating from export. Resolved to integrationId by the API.
        - `integrationKey` string — Key of the integration; alternative to integrationId. Resolved to integrationId by the API.
        - `parentId` string — Internal ID of the parent workspace element. Used for hierarchy (e.g. integration-level under universal). Child key uniqueness is scoped by parent and integration.
        - `parentUuid` string — UUID of the parent element; alternative to parentId when creating (e.g. from export). Resolved to parentId by the API.
        - `parentKey` string — Key of the parent element; alternative to parentId. Resolved to parentId by the API.
        - `connectionId` string — Connection ID. Used when filtering by connection in list/selector queries, or when creating or identifying connection-level instances.
        - `instanceKey` string — Key identifying a specific connection-level instance when multiple instances exist per (element, connection). Used in selector queries and when creating instances.
        - `isUniversal` boolean — When true, the element is universal (shared across all integrations). Requires universal-element access. Omit or false for integration-specific elements.
        - `externalAppId` string — Internal ID of the external app this element belongs to. Auto-populated from the integration when integrationId is set and the integration has an externalAppId.
        - `externalAppUuid` string — UUID of the external app; alternative to externalAppId when creating from export. Resolved to externalAppId by the API.
        - `externalAppKey` string — Key of the external app; alternative to externalAppId. Resolved to externalAppId by the API.
        - `scenarioTemplateId` string
        - `elements` object[]
          - `id` string, required
          - `type` 'customer' | 'app' | 'connector' | 'integration' | 'flow' | 'flow-instance' | 'flow-run' | 'action' | 'package' | 'action-instance' | 'connection' | 'field-mapping' | 'field-mapping-instance' | 'data-source' | 'data-source-instance' | 'data-link-table' | 'data-link-table-instance' | 'app-event-type' | 'app-event-subscription' | 'app-event-log-record' | 'app-data-schema' | 'app-data-schema-instance' | 'external-event-subscription' | 'external-event-log-record' | 'external-event-pull' | 'external-event-type' | 'screen' | 'action-run-log-record' | 'external-api-log-record' | 'incoming-webhook-log-record' | 'connected-product', required
          - `element` object
        - `isCustomized` boolean
        - `isPublic` boolean
      - `integration` object, required
        - `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` PackagesPaginatedResponseDtoSchema0[] — 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` PackagesPaginatedResponseDtoSchema0 — 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/integration/apis/membrane-api.md) · [All operations](https://skmtc.net/integration/apis/membrane-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/integration/membrane-api/revisions/1db9c5a3d78c/schema)
