Extensions API
The Extensions API is a REST API used by the Marketplace Platform to manage extensions and everything around them. It lets you:
Create, read, update, delete, review, publish and unpublish extensions.
Create and maintain categories, then link extensions to them.
Manage the documentation for the extension, including publish/unpublish documentation.
Upload and manage images and videos.
Manage terms and conditions and their variants.
Track installations.
Core Concepts
The Extensions API is built around the following core resources:
Category - Enables the operator to add, view, or delete the
categoryobject.Document - Allows uploading supplementary documentation to an extension, either via a file upload or an online link.
Extension - Represents a set of requirements (parameters) that vendors ask their clients to meet.
Media - Allows vendors to add, view, and delete
mediaassociated with an extension.Terms - Represents a collection of documents associated with an extension, including uploaded PDF or DOCX files or links to externally hosted documents.
Variant - Represents a specific version of terms for an extension, provided as an uploaded PDF or DOCX file or a link to an externally hosted document.
Instance - Represents a running instance in the database, such as a Kubernetes pod, with its current status, for example, running.
Installation - Allows an operator to add, view, and delete installations.
Invitation - Allows a vendor to create and send an
invitation.
Collections
The API is organized into collections, each containing a set of operations. Access to these operations varies by role, depending on whether you are a client, vendor, or operations user.
Refer to the following capability matrix to see which roles are authorized to perform specific operations within each collection:
Extension
List all extensions
✅
✅
✅
Get extension
✅
✅
✅
Create extension
❌
✅
❌
Update extension by ID
❌
✅
✅
Delete extension
❌
✅
✅
Publish extension
❌
❌
✅
Unpublish extension
❌
✅
✅
Categories
List categories
✅
✅
✅
Get category
✅
✅
✅
Create category
❌
❌
✅
Update category
❌
❌
✅
Delete category
❌
❌
✅
Activate category
❌
❌
✅
Deactivate category
❌
❌
✅
Documents
List documents
✅
✅
✅
Get document
✅
✅
✅
Create document
❌
✅
❌
Update document
❌
✅
❌
Delete document
❌
✅
❌
Publish document
❌
✅
❌
Unpublish document
❌
✅
❌
Media
List extension media
✅
✅
✅
Get extension media
✅
✅
✅
Create extension media
❌
✅
❌
Update media for an extension
❌
✅
❌
Delete media for an extension
❌
✅
❌
Publish media for an extension
❌
✅
❌
Unpublish media for an extension
❌
✅
❌
Installation
Create installation or invitation
✅
✅
✅
Update installation
❌
✅
❌
List installation
✅
✅
✅
Get installation
✅
✅
✅
Delete installation
❌
✅
✅
Get a list of installations
✅
✅
✅
Get an item of installation
✅
✅
✅
Redeem invitation
✅
✅
✅
Instance
Create extension instance
❌
✅
❌
List extension instance
❌
✅
✅
Get extension instance
❌
✅
✅
Terms
List terms
✅
✅
✅
Get terms
✅
✅
✅
Create terms
❌
✅
❌
Update terms
❌
✅
❌
Delete terms
❌
✅
❌
Mark terms for review
❌
✅
❌
Publish terms
❌
✅
❌
Unpublish terms
❌
✅
❌
Variant
List all variants for terms
✅
✅
✅
Get variant for terms
✅
✅
✅
Create variant
❌
✅
❌
Update variant
❌
✅
❌
Delete variant
❌
✅
❌
Mark variant for review
❌
✅
❌
Publish variant
❌
✅
❌
Unpublish variant
❌
✅
❌
Last updated
Was this helpful?