XChange

Use this resource to manage XChange packages programmatically. You can browse and author packages and versions, review and approve submitted versions, publish to the private library, distribute packages to workspaces, manage sharing links, and view installation analytics.

AVAILABILITY

XChange APIs are available for workspaces with XChange enabled. Requests from workspaces without owner or contributor access to XChange return a 404 error.

Ensure the necessary API client permissions are enabled to access these endpoints.

Rate limits

XChange resources have the following rate limit:

TypeResourceQuota
AllAll XChange endpoints60 requests per second

Quick reference

TypeResourceDescription
GET/api/xchange/packagesList packages visible to the caller.
GET/api/xchange/packages/:package_id/versionsList a package's versions.
GET/api/xchange/versions/:version_idGet a package version.
PUT/api/xchange/versions/:version_idUpdate a version's metadata.
POST/api/xchange/packages/importImport a new package from a .zip.
POST/api/xchange/packages/:package_id/versions/importImport a new package version from a .zip.
GET/api/xchange/versions/:draft_id/version_draftGet version creation status.
GET/api/xchange/packages/versions/:version_id/exportGet a version .zip download URL.
POST/api/xchange/versions/:version_id/approveApprove a package version.
POST/api/xchange/versions/:version_id/rejectReject a package version.
POST/api/xchange/versions/:version_id/resetReset a version review.
PUT/api/xchange/versions/:version_id/comment/:review_idUpdate a review comment.
PUT/api/xchange/packages/:package_id/versions/:version_id/publishPublish a version.
PUT/api/xchange/packages/:package_id/versions/:version_id/unpublishUnpublish a version.
GET/api/xchange/packages/:package_id/consumersList the consumers of a package.
POST/api/xchange/distributionsCreate and enqueue a distribution batch.
GET/api/xchange/distributionsList distribution batches.
GET/api/xchange/distributions/:idGet a distribution batch by ID.
POST/api/xchange/distributions/:id/retry_failedRetry failed distributions in a batch.
GET/api/xchange/packages/:package_id/sharing/linksList a package's sharing links.
POST/api/xchange/packages/:package_id/sharing/linksCreate sharing links.
POST/api/xchange/packages/:package_id/sharing/links/:link_id/activateActivate a sharing link.
POST/api/xchange/packages/:package_id/sharing/links/:link_id/deactivateDeactivate a sharing link.
DELETE/api/xchange/packages/:package_id/sharing/links/:link_idDelete a sharing link.
PUT/api/xchange/packages/:package_id/versions/:version_id/shareSet the package's shared-link version.
DELETE/api/xchange/packages/:package_id/versions/:version_id/shareClear the package's shared-link version.
GET/api/xchange/packages/:package_id/statsGet package installation statistics.
GET/api/xchange/packages/:package_id/installationsGet per-workspace installation report.

Browse & create

The following endpoints let you list, view, create, import, and update packages and versions, and download a version export.

List packages

Lists the packages visible to the caller.

GET https://YOUR_DATA_CENTER/api/xchange/packages

Query parameters

NameTypeDescription
statusstring
optional
Filters packages by the status of their versions or publications.
builder_idnumber
optional
Filters packages by builder user ID.
tenant_builder_idnumber
optional
Filters packages by tenant-builder workspace ID.
textstring
optional
Searches packages by name.
sortstring
optional
The field to sort by. Add a leading - to sort in descending order.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages?text=sales&page[number]=1&page[size]=100' \
      -H 'Authorization: Bearer <api_token>'

List a package's versions

Lists a package's versions with per-version installation counts. These counts are a lightweight, counts-only surface. For the full statistics surface, use Get package installation statistics.

GET https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.

Query parameters

NameTypeDescription
builder_idnumber
optional
Filters versions by the builder who created them.
created_at_fromstring
optional
Returns versions created on or after this date. Format: YYYY-MM-DD.
created_at_tostring
optional
Returns versions created on or before this date. Format: YYYY-MM-DD.
exclude_rejectedboolean
optional
Set to true to exclude rejected versions from the response.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions?exclude_rejected=true' \
      -H 'Authorization: Bearer <api_token>'

Get a package version

Shows one version.

GET https://YOUR_DATA_CENTER/api/xchange/versions/:version_id

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the version.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id' \
      -H 'Authorization: Bearer <api_token>'

Update a version's metadata

Updates an existing version's editable metadata. The endpoint re-fetches and returns the full version.

PUT https://YOUR_DATA_CENTER/api/xchange/versions/:version_id

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the version to update.

Payload

Only version, description, and release_notes are permitted. The endpoint ignores any other field in the request body.

NameTypeDescription
versionstring
optional
The version label, for example 1.3.0.
descriptionstring
optional
The package version's description.
release_notesstring
optional
The version's release notes.
Sample request
shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "release_notes": "Adds the invoice sync recipe and fixes a connection timeout."
         }'

Import a new package from a .zip

Imports a .zip as a net-new package and its first version. The endpoint validates the file extension and a 100 MB size cap synchronously, then stages and enqueues an asynchronous import job. Poll the job's progress with Get version creation status.

There's no name parameter. The draft package name comes from the uploaded filename. If you omit version, it defaults to v1.0.

POST https://YOUR_DATA_CENTER/api/xchange/packages/import

Request body

Send the request as multipart/form-data.

NameTypeDescription
filefile
required
The package .zip file. Maximum size is 100 MB.
versionstring
optional
The version label for the first version. Defaults to v1.0.
descriptionstring
optional
The package's description.
release_notesstring
optional
The first version's release notes.
Sample request
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/packages/import' \
      -H 'Authorization: Bearer <api_token>' \
      -F 'file=@/path/to/marketing_sync.zip' \
      -F 'version=v1.0' \
      -F 'description=Recipes for marketing and CRM sync.'

Import a new package version from a .zip

Imports a .zip as a new version of an existing package, using the same asynchronous pipeline as a net-new package import.

POST https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/import

REQUIRED VERSION

version is required for this endpoint. A missing version returns a 400 error before the draft is created. An inaccessible or unknown package_id returns a 404 error.

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package to add the version to.

Request body

Send the request as multipart/form-data.

NameTypeDescription
filefile
required
The package .zip file. Maximum size is 100 MB.
versionstring
required
The version label, for example 1.3.0.
descriptionstring
optional
The version's description.
release_notesstring
optional
The version's release notes.
Sample request
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/import' \
      -H 'Authorization: Bearer <api_token>' \
      -F 'file=@/path/to/sales_automation_v1.3.zip' \
      -F 'version=1.3.0' \
      -F 'release_notes=Adds the invoice sync recipe.'

Get version creation status

Polls the status of a version draft created by a .zip import. The response returns draft status only. It doesn't include generated asset contents or a diff.

GET https://YOUR_DATA_CENTER/api/xchange/versions/:draft_id/version_draft

DRAFT OWNERSHIP

A draft is scoped to the caller's environment and builder. A draft that isn't owned by the caller in the current environment returns a 404 error.

URL parameters

NameTypeDescription
draft_idstring
required
The UUID returned by the import endpoint.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/versions/:draft_id/version_draft' \
      -H 'Authorization: Bearer <api_token>'

Get a version .zip download URL

Gets a short-lived, presigned download URL for a package version's .zip. The API doesn't stream the file directly. It returns a URL you can use to download it.

GET https://YOUR_DATA_CENTER/api/xchange/packages/versions/:version_id/export

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the version to export.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/versions/:version_id/export' \
      -H 'Authorization: Bearer <api_token>'

Review and approval

The following endpoints let the package owner approve, reject, reset, or comment on a submitted version:

Approve a package version

Approves a submitted package version.

POST https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/approve

SELF-REVIEW RESTRICTION

Builders can't approve or reject their own package versions unless auto-approval is enabled for the hub. A self-review attempt returns a 404 error.

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the package version to approve.

Payload

NameTypeDescription
commentsstring
required
Review comments to record with the approval.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/approve' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "comments": "Approved for distribution."
         }'

Response

The response returns the full package version. The response includes private_library_publication only when the version is published to the private library.

json
{
    "data": {
        "id": "9f8c2b1e-4a6d-4c2f-9e3a-7b5d1c0a8f21",
        "version": "1.2.0",
        "status": "approved",
        "builder_id": 45231,
        "description": "Sales automation starter package.",
        "release_notes": "Adds the invoice sync recipe.",
        "created_at": "2026-07-10T09:15:32.000-07:00",
        "project_handles": ["sales-automation"],
        "package": {
            "id": "1d2e3f4a-5b6c-4d7e-8f90-a1b2c3d4e5f6",
            "name": "Sales automation",
            "description": "Recipes and connections for sales automation."
        },
        "content": {
            "counters": {},
            "connectors": []
        },
        "projects": [
            {
                "id": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
                "name": "Sales automation",
                "folder_id": 27180380
            }
        ],
        "installations": {
            "direct": 12,
            "private_library": 4
        },
        "review": {
            "id": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
            "status": "approved",
            "comments": "Approved for distribution.",
            "updated_at": "2026-07-16T11:02:10.000-07:00",
            "author": {}
        },
        "builder": {
            "id": 45231,
            "name": "Ariel",
            "avatar_url": "https://www.workato.com/assets/avatars/ariel.png"
        }
    }
}

Reject a package version

Rejects a submitted package version.

POST https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/reject

SELF-REVIEW RESTRICTION

Builders can't approve or reject their own package versions unless auto-approval is enabled for the hub. A self-review attempt returns a 404 error.

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the package version to reject.

Payload

NameTypeDescription
commentsstring
required
Review comments to record with the rejection.

Sample request

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/reject' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "comments": "Update the connection descriptions before you resubmit."
         }'

Response

The response returns the full package version in the same format as the Approve a package version endpoint, with the version and review status reflecting the rejection.

Reset a version review

Resets a submitted version's review to its pre-review state. The request takes no body.

POST https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/reset

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the version to reset.
Sample request
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/reset' \
      -H 'Authorization: Bearer <api_token>'

Update a review comment

Updates an existing review comment.

PUT https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/comment/:review_id

URL parameters

NameTypeDescription
version_idstring
required
The UUID of the version.
review_idstring
required
The ID of the review to update.

Payload

NameTypeDescription
commentsstring
required
The updated review comments.
Sample request
shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/xchange/versions/:version_id/comment/:review_id' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "comments": "Approved. Nice work on the connection cleanup."
         }'

Private Library

The following endpoints let the package owner publish or unpublish a version to the Discovery Layer's private library.

Publish a version

Publishes an approved version to the private library.

PUT https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/publish

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.
version_idstring
required
The UUID of the version to publish.

Payload

NameTypeDescription
card_descriptionstring
optional
The description shown on the package's private library card.
Sample request
shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/publish' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "card_description": "A starter package for sales automation."
         }'

Unpublish a version

Removes the package's private library publication. Existing installations remain.

PUT https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/unpublish

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.
version_idstring
required
The UUID of the published version.
Sample request
shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/unpublish' \
      -H 'Authorization: Bearer <api_token>'

Direct Distribution

The following endpoints let the package owner mass-distribute a version to workspaces and list who consumes the package:

List package consumers

Returns the consumers of a package. You can filter consumers by installation status and search by name or external ID.

GET https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/consumers

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.

Query parameters

NameTypeDescription
installation_statusstring
optional
Filters consumers by installation status. Accepted values: not_installed, installed.
version_idstring
optional
The UUID of the package version. Required when installation_status is set to installed.
textstring
optional
Searches consumers by name or external ID.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page. Maximum is 500.
Sample request

This request retrieves consumers of the package that installed a specific version.

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/consumers?installation_status=installed&version_id=:version_id' \
      -H 'Authorization: Bearer <api_token>'
Response

The avatar_url and external_id parameters must be set for the consumer to be included in the response.

json
{
    "data": [
        {
            "id": 45231,
            "name": "Acme West",
            "avatar_url": "https://www.workato.com/assets/avatars/acme-west.png",
            "external_id": "acme-west-01"
        },
        {
            "id": 45232,
            "name": "Acme East"
        }
    ],
    "page": {
        "number": 1,
        "size": 100,
        "total": 2
    }
}

Create a distribution batch

Creates a distribution batch for a package version and enqueues it for processing.

POST https://YOUR_DATA_CENTER/api/xchange/distributions

Payload

NameTypeDescription
version_idstring
required
The UUID of the package version to distribute.
environment_idsarray of integers
required
The IDs of the target environments.
Sample request

The following sample request distributes the package version to two target environments:

shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/distributions' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "version_id": ":version_id",
            "environment_ids": [40012, 40018]
         }'
Response

The endpoint returns a 201 response with the UUID of the new batch. Use the Get a distribution batch by ID endpoint to monitor the batch status.

json
{
    "data": {
        "id": "6b7c8d9e-0f1a-4b2c-9d3e-4f5a6b7c8d9e"
    }
}

List distribution batches

Returns a list of distribution batches, optionally scoped to a package.

GET https://YOUR_DATA_CENTER/api/xchange/distributions

Query parameters

NameTypeDescription
package_idstring
optional
The UUID of a package. Omit this parameter to list batches across all packages.
version_idstring
optional
The UUID of a package version.
fromtimestamp
optional
Returns batches created after this ISO 8601 timestamp.
totimestamp
optional
Returns batches created before this ISO 8601 timestamp.
statusstring
optional
Filters batches by status. Accepted values: pending, in_progress, completed.
activeboolean
optional
Set to true to return only pending and in_progress batches.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page.
Sample request

The following sample request retrieves active distribution batches for a package version:

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/distributions?version_id=:version_id&active=true' \
      -H 'Authorization: Bearer <api_token>'
Response
json
{
    "data": [
        {
            "id": "6b7c8d9e-0f1a-4b2c-9d3e-4f5a6b7c8d9e",
            "version_id": "9f8c2b1e-4a6d-4c2f-9e3a-7b5d1c0a8f21",
            "version": "1.2.0",
            "status": "in_progress",
            "target_workspaces": {
                "total": 2,
                "pending": 1,
                "completed": 1,
                "failed": 0
            },
            "created_at": "2026-07-16T08:30:00.000-07:00"
        }
    ],
    "page": {
        "number": 1,
        "size": 100,
        "total": 1
    }
}

Get a distribution batch by ID

Returns a distribution batch, optionally with per-target distribution details.

GET https://YOUR_DATA_CENTER/api/xchange/distributions/:id

URL parameters

NameTypeDescription
idstring
required
The UUID of the distribution batch.

Query parameters

NameTypeDescription
include_detailsboolean
optional
Set to true to include the per-target distribution details in the response.
page[number]number
optional
Page number for the details list. Only applies when include_details is set to true.
page[size]number
optional
Number of details per page. Only applies when include_details is set to true.
Sample request

The following sample request retrieves a distribution batch with per-target details:

shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/distributions/:id?include_details=true' \
      -H 'Authorization: Bearer <api_token>'
Response

The response includes the details array and the top-level page and total fields only when include_details is set to true. Each detail includes error only when the detail status is failed.

json
{
    "data": {
        "id": "6b7c8d9e-0f1a-4b2c-9d3e-4f5a6b7c8d9e",
        "version_id": "9f8c2b1e-4a6d-4c2f-9e3a-7b5d1c0a8f21",
        "version": "1.2.0",
        "status": "completed",
        "target_workspaces": {
            "total": 2,
            "pending": 0,
            "completed": 1,
            "failed": 1
        },
        "created_at": "2026-07-16T08:30:00.000-07:00",
        "details": [
            {
                "id": "0a1b2c3d-4e5f-4a6b-8c7d-8e9f0a1b2c3d",
                "environment_id": 40012,
                "environment_name": "Acme West - prod",
                "environment_external_id": "acme-west-01",
                "status": "completed",
                "updated_at": "2026-07-16T08:41:15.000-07:00"
            },
            {
                "id": "5f6a7b8c-9d0e-4f1a-8b2c-3d4e5f6a7b8c",
                "environment_id": 40018,
                "environment_name": "Acme East - prod",
                "environment_external_id": "acme-east-01",
                "status": "failed",
                "error": "Connector version conflict in the target environment.",
                "updated_at": "2026-07-16T08:42:03.000-07:00"
            }
        ]
    },
    "page": 1,
    "total": 2
}

Retry failed distributions

Retries and re-enqueues failed distributions in a batch for processing. The endpoint returns a 422 error if the batch doesn't contain failed distributions.

POST https://YOUR_DATA_CENTER/api/xchange/distributions/:id/retry_failed

URL parameters

NameTypeDescription
idstring
required
The UUID of the distribution batch.
Sample request
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/distributions/:id/retry_failed' \
      -H 'Authorization: Bearer <api_token>'
Response
json
{
    "data": {
        "id": "6b7c8d9e-0f1a-4b2c-9d3e-4f5a6b7c8d9e"
    }
}

The following endpoints let the package owner manage a package's sharing links and its shared-link version:

Lists a package's sharing links.

GET https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links
NameTypeDescription
package_idstring
required
The UUID of the package.
NameTypeDescription
statusstring
optional
Filters links by status. Accepted values: active, inactive.
created_bynumber
optional
The numeric user ID of the link creator.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page.
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links?status=active' \
      -H 'Authorization: Bearer <api_token>'

Creates one public link, or one or more workspace-scoped links.

POST https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links

PUBLIC VS. WORKSPACE LINKS

name is required for public links and rejected for workspace links. workspace_ids is required for workspace links, up to a maximum of 200, and rejected for public links.

NameTypeDescription
package_idstring
required
The UUID of the package.
NameTypeDescription
kindstring
required
The type of link to create. Accepted values: public, workspace.
namestring
required for public links
A name for the public link.
workspace_idsarray of integers
required for workspace links
The workspace IDs to create links for. Maximum 200.
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links' \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "kind": "public",
            "name": "Sales automation - partner preview"
         }'

Sets a link's status to active. You can call this endpoint multiple times without changing the result.

POST https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id/activate
NameTypeDescription
package_idstring
required
The UUID of the package.
link_idstring
required
The ID of the sharing link.
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id/activate' \
      -H 'Authorization: Bearer <api_token>'

Sets a link's status to inactive. You can call this endpoint multiple times without changing the result.

POST https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id/deactivate
NameTypeDescription
package_idstring
required
The UUID of the package.
link_idstring
required
The ID of the sharing link.
shell
curl  -X POST 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id/deactivate' \
      -H 'Authorization: Bearer <api_token>'

Permanently deletes a sharing link.

DELETE https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id
NameTypeDescription
package_idstring
required
The UUID of the package.
link_idstring
required
The ID of the sharing link to delete.
shell
curl  -X DELETE 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/sharing/links/:link_id' \
      -H 'Authorization: Bearer <api_token>'

Marks a version that's approved or published as the package's shared-link version.

PUT https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/share
NameTypeDescription
package_idstring
required
The UUID of the package.
version_idstring
required
The UUID of the version to set as the shared-link version.
shell
curl  -X PUT 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/share' \
      -H 'Authorization: Bearer <api_token>'

Clears the package's shared-link version. This only succeeds when version_id in the URL matches the current shared-link version.

DELETE https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/share

ACTIVE LINKS REMAIN

Active sharing links remain in place after you clear the shared-link version. Consumer-side link resolution returns a 404 error until you set a new shared-link version. Passing a version_id that isn't the current shared-link version also returns a 404 error.

NameTypeDescription
package_idstring
required
The UUID of the package.
version_idstring
required
The UUID of the current shared-link version.
shell
curl  -X DELETE 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/versions/:version_id/share' \
      -H 'Authorization: Bearer <api_token>'

Analytics

The following endpoints return a package's installation statistics and per-workspace installation report:

Get package installation statistics

Returns a package's installation statistics. The summary block is package-wide and isn't affected by the version_id filter or pagination. by_version is the paginated per-version breakdown.

GET https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/stats

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.

Query parameters

NameTypeDescription
version_idstring
optional
Filters the by_version breakdown to a single version. Doesn't affect summary.
page[number]number
optional
Page number for the by_version breakdown.
page[size]number
optional
Number of items per page for the by_version breakdown.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/stats' \
      -H 'Authorization: Bearer <api_token>'

Get per-workspace installation report

Returns a package's per-workspace installation report.

GET https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/installations

URL parameters

NameTypeDescription
package_idstring
required
The UUID of the package.

Query parameters

NameTypeDescription
version_idstring
optional
Filters installations by version.
customer_idsarray of integers
optional
Filters installations by consumer workspace ID. Omit this parameter to return all installations. An explicit empty array returns an empty page.
page[number]number
optional
Page number.
page[size]number
optional
Number of items per page.
Sample request
shell
curl  -X GET 'https://YOUR_DATA_CENTER/api/xchange/packages/:package_id/installations?version_id=:version_id' \
      -H 'Authorization: Bearer <api_token>'

Last updated: