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"}