| description | Manage programs, certificates, and enrollments with the Program API. |
|---|
The Program API provides secure endpoints for creating, retrieving, updating, and managing programs, certificates, and enrollments within the Marketplace Platform.
With this API, you can also perform additional operations, including:
- Publish and unpublish programs.
- Update program settings.
- Manage program groups and parameters.
- Create and manage program documents, media, and terms & conditions.
- Create and manage program templates.
- Submit and retrieve enrollment requests.
- Validate enrollments in the draft and querying states.
- Manage attachments associated with enrollments.
- Process or fail enrollment requests.
- Retrieve an enrollment's template.
Review the shared API docs before you work with program resources.
The Program API is built around the following core resources:
- Certificate – Issued to a client or partner as confirmation that they meet a specific program's requirements.
- Enrollment – Process through which a client formally registers or signs up to participate in a vendor program.
- Program – Represents a set of requirements (parameters) that vendors ask their clients to meet.
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.
Use the following links to jump to the collection you need:
- Certificate
- Enrollment
- Program
- Program Parameter
- Program Parameter Group
- Program Document
- Program Media
- Program Terms
- Program Terms Variant
- Program Template
View Certificate operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create certificate | POST | Migrates a certificate. | ops |
| List certificates | GET | Returns a list of all certificates. | vendor, client, ops |
| Get certificate by id | GET | Returns a certificate with the given id. | vendor, client, ops |
| Update certificate | PUT | Updates an existing certificate. | vendor, client, ops |
| Terminate certificate | POST | Terminates an active certificate. | vendor |
| Expire certificate | POST | Expires an active certificate. | vendor |
| Get certificate template | GET | Gets a template for a certificate. | vendor, client, ops |
View Enrollment operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create enrollment | POST | Creates a new enrollment and certificate. | client |
| Validate draft enrollment | POST | Validates draft enrollment data. | client |
| Validate enrollment | POST | Validates enrollment state. | vendor, client |
| Process enrollment | POST | Changes enrollment status to processing. | vendor, client |
| Query enrollment | POST | Changes enrollment status to querying. | vendor |
| Complete enrollment | POST | Changes enrollment status to complete. | vendor |
| Fail enrollment | POST | Changes enrollment status to failed. | vendor |
| Assign enrollment | POST | Assigns a user to an enrollment. | vendor |
| List enrollments | GET | Lists enrollments visible to the user. | vendor, client, ops |
| Get enrollment by id | GET | Gets an enrollment by id. | vendor, client, ops |
| Update enrollment | PUT | Updates some properties of an enrollment. | vendor, client, ops |
| Delete enrollment | DELETE | Deletes an enrollment. | client |
| Render enrollment template | GET | Renders the template for the given enrollment id. | vendor, client, ops |
| List enrollment attachments | GET | Gets a list of enrollment attachments. | ops, client |
| Get enrollment attachment by id | GET | Gets an enrollment attachment by id. | ops, client |
| Create enrollment attachment | POST | Creates a new enrollment attachment. | ops, client |
| Update enrollment attachment | PUT | Updates an existing enrollment attachment. | ops, client |
| Delete enrollment attachment | DELETE | Deletes an existing enrollment attachment. | ops, client |
View Program operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create program | POST | Creates a new program. | vendor |
| List programs | GET | Fetches a list of programs. | vendor, client, ops |
| Get program by id | GET | Gets a program by id. | vendor, client, ops |
| Update program | PUT | Updates some properties of a program. | vendor |
| Delete program | DELETE | Deletes a program. | vendor |
| Publish program | POST | Publishes a program. | vendor |
| Unpublish program | POST | Unpublishes a program. | vendor |
| Update program settings | PUT | Updates a program’s settings. | vendor |
View Program Parameter operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create parameter | POST | Creates a program parameter. | vendor |
| List parameters | GET | Gets a list of parameters for a program. | vendor, client, ops |
| Get parameter by id | GET | Gets a program parameter definition. | vendor, client, ops |
| Update parameter | PUT | Updates a program parameter definition. | vendor |
| Delete parameter | DELETE | Deletes a program parameter definition. | vendor |
View Program Parameter Group operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create parameter group | POST | Creates a new parameter group for a program. | vendor |
| List parameter groups | GET | Lists all parameter groups for a program based on filter criteria. | vendor, client, ops |
| Get parameter group by id | GET | Gets a parameter group by id for a program. | vendor, client, ops |
| Update parameter group | PUT | Updates a parameter group for a program. | vendor |
| Delete parameter group | DELETE | Deletes a parameter group from a program. | vendor |
View Program Document operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create document | POST | Creates a new document. | vendor |
| List documents | GET | Lists all documents based on filter criteria. | vendor, client, ops |
| Get document by id | GET | Gets a document by id. | vendor, client, ops |
| Update document | PUT | Updates a document. | vendor |
| Delete document | DELETE | Removes a document. | vendor |
| Publish document | POST | Publishes a document. | vendor |
| Unpublish document | POST | Unpublishes a document. | vendor |
View Program Media operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create program media | POST | Creates new media for a program. | vendor |
| List program media | GET | Gets a list of media for a program. | vendor, client, ops |
| Get program media by id | GET | Gets an item of media for a program. | vendor, client, ops |
| Update program media | PUT | Updates an item of media for a program. | vendor |
| Publish program media | POST | Publishes an item of media for a program. | vendor |
| Unpublish program media | POST | Unpublishes an item of media for a program. | vendor |
| Delete program media | DELETE | Deletes an item of media for a program. | vendor |
View Program Terms operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create terms | POST | Creates terms for a program. | vendor |
| List terms | GET | Gets a list of all terms for a program. | vendor, client, ops |
| Get terms by id | GET | Gets terms for a program by id. | vendor, client, ops |
| Update terms | PUT | Updates terms for a program. | vendor |
| Delete terms | DELETE | Deletes terms for a program. | vendor |
| Publish terms | POST | Publishes terms for a program. | vendor |
| Unpublish terms | POST | Unpublishes terms for a program. | vendor |
View Program Terms Variant operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create variant | POST | Creates a variant for terms. | vendor |
| List variants | GET | Gets a list of all variants for terms. | vendor, client, ops |
| Get variant by id | GET | Gets a variant for terms by id. | vendor, client, ops |
| Update variant | PUT | Updates a variant for terms for a program. | vendor |
| Delete variant | DELETE | Deletes a variant for terms. | vendor |
| Publish variant | POST | Publishes a variant for terms. | vendor |
| Unpublish variant | POST | Unpublishes a variant for terms. | vendor |
View Program Template operations
| Operation | Method | Description | Access |
|---|---|---|---|
| Create program template | POST | Creates a template for a program. | vendor |
| List program templates | GET | Gets a list of templates for a program. | vendor, client, ops |
| Get program template by id | GET | Gets a template for a program. | vendor, client, ops |
| Update program template | PUT | Updates a template for a program. | vendor |
| Delete program template | DELETE | Deletes a template for a program. | vendor |