Admin API
The MESA Admin API allows you to programmatically interact with MESA. All requests must include your API key which can be found in My Account > Credentials.
{url}
https://api.getmesa.com/v1
{uuid}
Your store’s unique identifier: {{uuid}}.myshopify.com
Workflows
Returns a list of automations for a store, sorted by most recently created first.
{{api_key}}
{"automations":[{"uuid":"my-store","created_by":"","key":"etsy_order_send_to_google_sheets","name":"Send Etsy orders to Google Sheets","version":"1.0.0","template":"etsy/order/send_to_google_sheets","description":"Consolidate your Etsy orders in Google Sheets for real-time tracking and improved order management. This template will automatically send Etsy order details to a Google Sheets spreadsheet when a customer completes an order on Etsy.","video":"","is_premium":false,"tags":[],"source":"","destination":"","enabled":false,"did_complete":false,"logging":true,"debug":false,"setup":"incomplete","seconds":135,"notifications":{"enabled":false,"emails":["[email protected]"]},"_id":"65f1fdbbb54ac273e806026b","created_at":"Mar 13 2020","updated_at":"Mar 13 2024"}]}
GET /admin/{uuid}/automations.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 776
{
"automations": [
{
"uuid": "my-store",
"created_by": "",
"key": "etsy_order_send_to_google_sheets",
"name": "Send Etsy orders to Google Sheets",
"version": "1.0.0",
"template": "etsy/order/send_to_google_sheets",
"description": "Consolidate your Etsy orders in Google Sheets for real-time tracking and improved order management. This template will automatically send Etsy order details to a Google Sheets spreadsheet when a customer completes an order on Etsy.",
"video": "",
"is_premium": false,
"tags": [],
"source": "",
"destination": "",
"enabled": false,
"did_complete": false,
"logging": true,
"debug": false,
"setup": "incomplete",
"seconds": 135,
"notifications": {
"enabled": false,
"emails": [
"[email protected]"
]
},
"_id": "65f1fdbbb54ac273e806026b",
"created_at": "Mar 13 2020",
"updated_at": "Mar 13 2024"
}
]
}
Successful response
No content
{{api_key}}
application/json
GET /admin/{uuid}/automations/{automation_key}.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Updates the Inputs, Outputs, Credentials and Storage for an automation. Updating scripts requires separate calls to the Script POST endpoing for each script.
{{api_key}}
{"key":"","name":"","config":{"inputs":[],"outputs":[],"secrets":[],"storage":[],"files":[],"overwrite":false}}
POST /admin/{uuid}/automations.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 111
{
"key": "",
"name": "",
"config": {
"inputs": [],
"outputs": [],
"secrets": [],
"storage": [],
"files": [],
"overwrite": false
}
}
Successful response
No content
new_workflow_1
{{api_key}}
DELETE /admin/{uuid}/automations/{automation_key}.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Credentials
Returns a list of all Credential names. Credential values are not available via the Admin API.
{{api_key}}
GET /admin/{uuid}/{automation_key}/credentials.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
new_workflow_1
{{api_key}}
{"secret":{"key":"mysecret","value":"myvalue"}}
POST /admin/{uuid}/{automation_key}/credentials.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 47
{
"secret": {
"key": "mysecret",
"value": "myvalue"
}
}
Successful response
No content
new_workflow_1
{{api_key}}
{"secret":{"value":"myvalue"}}
PUT /admin/{uuid}/{automation_key}/credentials/{credential_key}.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 30
{
"secret": {
"value": "myvalue"
}
}
Successful response
No content
new_workflow_1
googlesheets_1
{{api_key}}
DELETE /admin/{uuid}/{automation_key}/credentials/{credential_key}.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Storage
Note: Storage has been deprecated in favor of Data by MESA. Returns a list of all Storage item names. To get a Storage value, call GET {{url}}/admin/{{uuid}}/storage/{{storage_name}}.json
new_workflow_1
{{api_key}}
GET /admin/{uuid}/{automation_key}/storage.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Note: Storage has been deprecated in favor of Data by MESA. Value parameter can be a string, an object, an array, or a boolean value.
new_workflow_1
{{api_key}}
{"storage":{"key":"{{storage_key}}","value":{"mykey":"myvalue"}}}
POST /admin/{uuid}/{automation_key}/storage.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 65
{
"storage": {
"key": "{{storage_key}}",
"value": {
"mykey": "myvalue"
}
}
}
Successful response
No content
Note: Storage has been deprecated in favor of Data by MESA.
new_workflow_1
storage_1
{{api_key}}
GET /admin/{uuid}/{automation_key}/storage/{storage_key}.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Note: Storage has been deprecated in favor of Data by MESA. Value parameter can be a string, an object, an array, or a boolean value.
new_workflow_1
storage_1
{{api_key}}
{"storage":{"value":"mynewstringvalue"}}
PUT /admin/{uuid}/{automation_key}/storage/{storage_key}.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 40
{
"storage": {
"value": "mynewstringvalue"
}
}
Successful response
No content
Note: Storage has been deprecated in favor of Data by MESA. Delete a Storage item.
new_workflow_1
storage_1
{{api_key}}
DELETE /admin/{uuid}/{automation_key}/storage/{storage_key}.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Scripts
Returns a list of all Scripts, including the Script code.
{{api_key}}
GET /admin/{uuid}/{automation_key}/scripts.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
new_workflow_1
{{api_key}}
{"script":{"filename":"myscript.js","code":"// Javascript goes here"}}
POST /admin/{uuid}/{automation_key}/scripts.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 70
{
"script": {
"filename": "myscript.js",
"code": "// Javascript goes here"
}
}
Successful response
No content
Testing
Trigger a test with a specific that is passed as the payload
body parameter. To test an actual payload, consider running a test in the UI and replaying the task with POST replay.json
.
new_workflow_1
shopify_1
{{api_key}}
{"payload":{}}
POST /admin/{uuid}/{automation_key}/triggers/{trigger_key}/test.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 14
{
"payload": {}
}
Successful response
No content
Tasks
Restart the execution of the workflow from a specific task. Data from all steps previous to this task in the original workflow run will be available.
To find the Task ID, click on a step in the Activity List > Request Details, and copy the last ID hash from the URL
65f3459357ca4e809608c8fb
{{api_key}}
POST /admin/{uuid}/tasks/{task_id}/replay.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Templates
{{api_key}}
{"template":"shoppad/mesa-templates/tests/kitchen-sink","force":true}
POST /admin/{uuid}/templates/install.json HTTP/1.1
Host: {{url}}
Content-Type: application/json
Accept: */*
Content-Length: 69
{
"template": "shoppad/mesa-templates/tests/kitchen-sink",
"force": true
}
Successful response
No content
Logs
Returns a list of the most recent 50 log entries.
{{api_key}}
GET /admin/{uuid}/logs.json HTTP/1.1
Host: {{url}}
Accept: */*
Successful response
No content
Last updated
Was this helpful?