Extension packages and authorizations

This part of the SDK is especially useful for private extensions and internal platform tooling. It is usually read by platform teams or extension authors rather than application teams consuming existing extensions.

Familyclient.extension_packages

Extension packages

AttributeData typeDescription
list(params: {})
Array<ExtensionPackage>

Lists available extension packages with optional filtering params.

create(package_path:)
ExtensionPackage

Uploads a new extension package archive using multipart form data.

update(extension_package_id, package_path:)
ExtensionPackage

Uploads a new package archive for an existing extension package.

private_release(extension_package_id)
ExtensionPackage

Transitions the package to a private release state.

discontinue(extension_package_id)
ExtensionPackage

Discontinues the package.

Familyclient.extension_package_usage_authorizations

Usage authorizations

AttributeData typeDescription
list
Array<ExtensionPackageUsageAuthorization>

Lists visible usage authorizations.

create(extension_package_id:, authorized_org_id:)
ExtensionPackageUsageAuthorization

Grants a private package to another organization.

update(authorization_id, state:)
ExtensionPackageUsageAuthorization

Updates authorization state such as approval.

delete(authorization_id)
nil

Revokes the authorization.

Authorization flow

Package authorization flow

# Upload a zip file that contains the extension package build output.
package = client.extension_packages.create(
  # Local path to the package archive on disk.
  package_path: "tmp/my_extension_package.zip"
)

# Grant another Adobe organization permission to use the private package.
client.extension_package_usage_authorizations.create(
  # Extension package that is being shared.
  extension_package_id: package.id,
  # IMS organization ID receiving the authorization.
  authorized_org_id:    "ABCDEF0123456789@AdobeOrg"
)

Was this page helpful?