Bundles
A Bundle is a declaration of the ZIS resources that make up your integration, such as Flows, Action definitions, and JobSpecs.
JSON format
Bundles are represented as JSON objects with the following properties:
Name | Type | Read-only | Mandatory | Description |
---|---|---|---|---|
description | string | true | false | The description of the Bundle |
name | string | false | true | The name of the Bundle |
resources | object | true | true | A collection of ZIS resources |
zis_template_version | string | false | true | The ZIS Bundle template version. Allowed value of "2019-10-14". |
Upload or Update Bundle
POST /api/services/zis/registry/{integration}/bundles
Uploads a new bundle or updates an existing bundle to the ZIS Registry.
Authentication
You can authorize requests using basic authentication or an API token.
Allowed for
- Admins
Deleting a bundle
You can't delete a bundle. To disable an integration, uninstall its JobSpec. See the Uninstall JobSpec endpoint.
Parameters
Name | Type | In | Required | Description |
---|---|---|---|---|
integration | string | Path | true | The name of the integration. integration can be up to 64 characters long. It can only include lower-case letters (a-z), numbers, dash (-), and underscore (_) characters |
Example body
{
"description": "this is an example bundle",
"name": "example bundle",
"resources": {
"example_flow": {
"properties": {
"definition": {
"StartAt": "HelloWorld",
"States": {
"HelloWorld": {
"End": true,
"Result": "Hello World!",
"ResultPath": "$.messages",
"Type": "Pass"
}
}
},
"name": "my_flow"
},
"type": "ZIS::Flow"
},
"example_job_spec": {
"properties": {
"event_source": "support",
"event_type": "ticket.TicketCreated",
"flow_name": "zis:example:flow:my_flow",
"name": "my_job_Spec"
},
"type": "ZIS::JobSpec"
}
},
"zis_template_version": "2019-10-14"
}
Using cURL
curl https://{subdomain}.zendesk.com/api/services/zis/registry/{integration}/bundles \
-u {email_address}:{password} \
-X POST \
-H "Content-Type: application/json" \
-d @bundle.json
Example response(s)
200 OK
Status 200 OK
400 Bad Request
Status 400 Bad Request
{
"errors": [
{
"code": "1010",
"detail": "error message",
"status": "400"
}
],
"message": "Unauthorized"
}
401 Unauthorized
Status 401 Unauthorized
{
"errors": [
{
"code": "1001",
"detail": "error message",
"status": "401"
}
],
"message": "Unauthorized"
}
500 Internal Server Error
Status 500 Internal Server Error
{
"errors": [
{
"code": "1050",
"detail": "error message",
"status": "500"
}
],
"message": "Server Error"
}