Developers

Assets API

The Assets API allows you to upload assets using our public api.

Images and Files

List contents (available from 26.1)

This will list the items and folders at the specified location.

GET /assets/resources/list

Optional: ?folder={folderName}

Response

[
  {
    "name": "Files and Resources",
    "isFolder": true
  },
  {
    "name": "Images",
    "isFolder": true
  },
  {
    "name": "logo.png",
    "isFolder": false,
    "referenced": true
  }
]

Uploading a resource

Uploading a new resource. This operation will fail if the item already exists in the given location.

POST /assets/resources -F "file=@image.png"

Optional: -F "folder=Campaigns/Images"

Updating a resource

Updating a resource. This operation will either create or update the item if it exists in the given location.

PUT /assets/resources -F "file=@image.png" -F "folder=Campaigns/Images"

Deleting a resource (available from version 26.1)

Deleting a resource. This operation will delete the item if it exists in the given location. The operation will fail if the item is referenced.

DELETE /assets/resources -F "file=images/Campaigns/image.png"

Extensions

Uploading an extension

Uploading a new resource. This operation will fail if the item already exists in the given location.

POST /assets/extensions -F "file=@extension.js" -F "type=step"

Optional: -F "folder=Automations"

Types must be one of the following:

Updating an extension

Updating a resource. This operation updates the item if it exists in the given location. Please note, the operation will fail if the item does not exist at the given location.

PUT /assets/extensions -F "file=@extension.js" -F "folder=Automations"

Templates

List contents (available from 26.1)

This will list the items and folders at the specified location.

GET /assets/templates/list

Optional: ?folder={folderName}

[
   {
    "name": "Transactional",
    "isFolder": true,
    "referenced": false
  },
  {
    "name": "default.html",
    "isFolder": false,
    "referenced": false
  }
]

Uploading a template

Uploading a new template. This operation will fail if the item already exists in the given location.

POST /assets/templates -F "file=@template.html"

Optional: -F "folder=email/automations"

Updating a template

Updating a template. This operation will either create or update the item if it exists in the given location.

PUT /assets/templates -F "file=@template.html" -F "folder=email/automations"

Committing a template (available from 26.1)

Committing a template. This operation will commit the item if it exists in the given location.

POST /assets/templates/:commit -F "file=@template.html" -F "folder=email/automations"

Contextual Schemas

Uploading a schema

Uploading a new schema. This operation will fail if the item already exists in the given location.

POST /assets/contexts -F "file=@schema.json"

Updating a schema

Updating a schema. This operation will either create or update the item if it exists in the given location.

PUT /assets/contexts -F "file=@schema.json"

Webapps

Uploading a webapp

Uploading a new webapp. This operation will fail if the item already exists in the given location.

A .zip archive must passed as the file form value. Please note – the name of the webapp will be the folder name, not the name of the .zip archive.

webapp
 - index.jsp
 - receipt.jsp
 - style.css
 - images
   - logo.png
POST /assets/webapps -F "file=@webapp.zip"

Updating a webapp

Updating a webapp. This operation will either create or update the item if it exists in the given location.

PUT /assets/webapps -F "file=@webapp.zip"