Deployments
Deployments let the user schedule a job to deploy the contents of their workspace repository to their workspace in Meltano Cloud.
This can be done manually or via a GitHub repository webhook:
- Payload URL:
https://app.meltano.com/api/workspaces/<workspace_id>/deployments/github-webhook - Content type:
application/json - Secret: "Deployment Secret" from workspace settings in Meltano Cloud
Requests
Deploy your workspace repository
POST /api/workspaces/{workspaces-id}/deployments
Deploys the workspace {workspace-id}.
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.meltano.com:443/api/workspaces/c0ef1e81-46fd-4ca3-8b33-e3a7cb1878a0/deployments' -i -X POST \
-H 'Content-Type: application/json'
import requests
url = "https://app.meltano.com:443/api/workspaces/c0ef1e81-46fd-4ca3-8b33-e3a7cb1878a0/deployments"
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("POST", url, headers=headers)
print(response.text.encode('utf8'))
Response
202 Accepted
Job with HAL links.
{
"id" : "050c4ea4-d87d-4724-aced-797db79f9019",
"created" : "2026-09-02T10:01:44.212308",
"type" : "WORKSPACE_DEPLOY",
"maxAttempts" : 0,
"attempt" : 0,
"status" : "QUEUED",
"_embedded" : {
"profile" : {
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
}
}
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/jobs/050c4ea4-d87d-4724-aced-797db79f9019"
},
"delete job" : {
"href" : "https://app.meltano.com/api/jobs/050c4ea4-d87d-4724-aced-797db79f9019",
"type" : "DELETE"
},
"logs" : {
"href" : "https://app.meltano.com/api/jobs/050c4ea4-d87d-4724-aced-797db79f9019/logs?sequence=0",
"type" : "GET"
},
"withdraw job" : {
"href" : "https://app.meltano.com/api/jobs/050c4ea4-d87d-4724-aced-797db79f9019/stopped",
"type" : "PUT"
}
}
}
GitHub webhook workspace deployment
POST /api/workspaces/{workspaces-id}/deployments/github-webhook
Receives POST requests from GitHub and starts a workspace deploy job.
Examples
- cURL
- Python (requests)
curl -H "Authorization: Bearer $ACCESS_TOKEN" 'https://app.meltano.com:443/api/workspaces/c0ef1e81-46fd-4ca3-8b33-e3a7cb1878a0/deployments/github-webhook' -i -X POST \
-H 'X-Hub-Signature: sha1=3606f9d9cd0110e32223885f16d9d33cd2071f69' \
-H 'Content-Type: application/json' \
-d '{ }'
import requests
url = "https://app.meltano.com:443/api/workspaces/c0ef1e81-46fd-4ca3-8b33-e3a7cb1878a0/deployments/github-webhook"
data = { }
headers = {
'Authorization': ACCESS_TOKEN
}
response = requests.request("POST", url, headers=headers, data=data)
print(response.text.encode('utf8'))
Response
202 Accepted
Job with HAL links.
{
"id" : "2aec37aa-0250-4bf4-a1ff-9c84dfe9bcd7",
"created" : "2026-09-02T10:01:44.726811",
"type" : "WORKSPACE_DEPLOY",
"maxAttempts" : 0,
"attempt" : 0,
"status" : "QUEUED",
"_embedded" : {
"profile" : {
"id" : "auth0|6a21dc7aa1db2e036a222942",
"name" : "sit+prod@meltano.com",
"handle" : "@sit+prod",
"email" : "sit+prod@meltano.com",
"workingAccount" : {
"company" : "SIT Account - DO NOT CHANGE",
"id" : "auth0|6a21dc7aa1db2e036a222942"
}
}
},
"_links" : {
"self" : {
"href" : "https://app.meltano.com/api/jobs/2aec37aa-0250-4bf4-a1ff-9c84dfe9bcd7"
},
"delete job" : {
"href" : "https://app.meltano.com/api/jobs/2aec37aa-0250-4bf4-a1ff-9c84dfe9bcd7",
"type" : "DELETE"
},
"logs" : {
"href" : "https://app.meltano.com/api/jobs/2aec37aa-0250-4bf4-a1ff-9c84dfe9bcd7/logs?sequence=0",
"type" : "GET"
},
"withdraw job" : {
"href" : "https://app.meltano.com/api/jobs/2aec37aa-0250-4bf4-a1ff-9c84dfe9bcd7/stopped",
"type" : "PUT"
}
}
}