Skip to main content
POST
/
packages
/
{selector}
/
restore
Restore package (flat interface)
curl --request POST \
  --url https://api.getmembrane.com/packages/{selector}/restore \
  --header 'Authorization: Bearer <token>'
{
  "id": "<string>",
  "name": "<string>",
  "key": "<string>",
  "uuid": "<string>",
  "description": "<string>",
  "meta": {},
  "state": "BUILDING",
  "errors": [
    {
      "message": "<string>",
      "type": "bad_request",
      "key": "<string>",
      "data": {},
      "stack": {},
      "causedByError": "<unknown>",
      "logs": [
        {}
      ]
    }
  ],
  "revision": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "archivedAt": "<string>",
  "isDeactivated": true,
  "isReadOnly": true,
  "integrationId": "<string>",
  "integrationUuid": "<string>",
  "integrationKey": "<string>",
  "parentId": "<string>",
  "parentUuid": "<string>",
  "parentKey": "<string>",
  "connectionId": "<string>",
  "instanceKey": "<string>",
  "isUniversal": true,
  "externalAppId": "<string>",
  "externalAppUuid": "<string>",
  "externalAppKey": "<string>",
  "scenarioTemplateId": "<string>",
  "elements": [
    {
      "id": "<string>",
      "type": "customer",
      "element": {}
    }
  ],
  "isCustomized": true,
  "isPublic": true,
  "version": "<string>",
  "changelog": "<string>",
  "parentPackageVersion": "<string>",
  "appliedToIntegrations": [
    {
      "element": {
        "id": "<string>",
        "name": "<string>",
        "key": "<string>",
        "uuid": "<string>",
        "description": "<string>",
        "meta": {},
        "state": "BUILDING",
        "errors": [
          {
            "message": "<string>",
            "type": "bad_request",
            "key": "<string>",
            "data": {},
            "stack": {},
            "causedByError": "<unknown>",
            "logs": [
              {}
            ]
          }
        ],
        "revision": "<string>",
        "createdAt": "<string>",
        "updatedAt": "<string>",
        "archivedAt": "<string>",
        "isDeactivated": true,
        "isReadOnly": true,
        "integrationId": "<string>",
        "integrationUuid": "<string>",
        "integrationKey": "<string>",
        "parentId": "<string>",
        "parentUuid": "<string>",
        "parentKey": "<string>",
        "connectionId": "<string>",
        "instanceKey": "<string>",
        "isUniversal": true,
        "externalAppId": "<string>",
        "externalAppUuid": "<string>",
        "externalAppKey": "<string>",
        "scenarioTemplateId": "<string>",
        "elements": [
          {
            "id": "<string>",
            "type": "customer",
            "element": {}
          }
        ],
        "isCustomized": true,
        "isPublic": true
      },
      "integration": {
        "id": "<string>",
        "name": "<string>",
        "logoUri": "<string>",
        "uuid": "<string>",
        "key": "<string>",
        "description": "<string>",
        "meta": {},
        "state": "BUILDING",
        "errors": [
          {
            "message": "<string>",
            "type": "bad_request",
            "key": "<string>",
            "data": {},
            "stack": {},
            "causedByError": "<unknown>",
            "logs": [
              {}
            ]
          }
        ],
        "revision": "<string>",
        "createdAt": "<string>",
        "updatedAt": "<string>",
        "archivedAt": "<string>",
        "isDeactivated": true,
        "isReadOnly": true,
        "connectorId": "<string>",
        "connectorVersion": "<string>",
        "oAuthCallbackUri": "<string>",
        "parameters": {},
        "hasMissingParameters": true,
        "hasDocumentation": true,
        "hasOperations": true,
        "operationsCount": 123,
        "hasData": true,
        "dataCollectionsCount": 123,
        "hasEvents": true,
        "eventsCount": 123,
        "hasGlobalWebhooks": true,
        "hasUdm": true,
        "isTest": true,
        "externalAppId": "<string>",
        "authType": "integration-app-token",
        "optionsConfig": {}
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

selector
string
required

Query Parameters

layer
enum<string>
Available options:
universal,
integration,
connection
integrationKey
string
integrationId
string
connectionId
string
connectionKey
string
instanceKey
string

Response

200 - application/json
id
string
required

Internal database ID of the element. Assigned by the API; unique per element.

name
string
required
key
string
required
uuid
string

Stable unique identifier (UUID). Can be provided on create; otherwise generated. Must be unique across elements of this type.

description
string

Optional human-readable description.

meta
object

Optional key-value metadata.

state
enum<string>

Current lifecycle or health state (e.g. READY, SETUP_FAILED, CONFIGURATION_ERROR, BUILDING). Set by the engine during setup and validation.

Available options:
BUILDING,
CLIENT_ACTION_REQUIRED,
CONFIGURATION_ERROR,
SETUP_FAILED,
READY,
DISCONNECTING
errors
object[]

Validation or setup errors when state is not READY.

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[]
isCustomized
boolean
isPublic
boolean
version
string
changelog
string
parentPackageVersion
string
appliedToIntegrations
object[]