Skip to content

Start Deployment

POST
/api/v1/deployments/
curl --request POST \
--url https://example.com/api/v1/deployments/ \
--header 'Content-Type: application/json' \
--data '{ "environment_id": "example", "git_branch": "example", "git_commit_sha": "example", "initiated_by": "example", "deployment_name": "example", "allow_parallel": false, "external_run_id": "example", "external_url": "example", "deployment_tool": "github_actions", "bundle_name": "example" }'

Start tracking a deployment (Root POST).

IDEMPOTENCY & LOCKING:

  • Same Commit + Active Status -> 409 Conflict (Deployment already in progress)
  • Same Commit + Terminated (Failed/Cancelled) -> Reuse ID & Restart (Set to in_progress)
  • Same Commit + Success -> Reuse ID (Skip stage work)
  • New Commit -> Create New Deployment
Media typeapplication/json
DeploymentStartRequest

Start tracking a deployment triggered by CI/CD.

object
environment_id
required
Environment Id
string
git_branch
required
Git Branch
string
git_commit_sha
required
Git Commit Sha
string
initiated_by
Any of:
string
deployment_name
Any of:
string
allow_parallel
Allow Parallel
boolean
external_run_id
Any of:
string
external_url
Any of:
string
deployment_tool
Deployment Tool
string
default: github_actions
bundle_name
Any of:
string

Successful Response

Media typeapplication/json
DeploymentResponse

Deployment response.

object
id
required
Id
string
deployment_name
Any of:
string
environment_id
required
Environment Id
string
git_branch
required
Git Branch
string
git_commit_sha
required
Git Commit Sha
string
status
required
Status
string
job_run_id
required
Any of:
string
created_at
required
Created At
string
started_at
required
Any of:
string
completed_at
required
Any of:
string
initiated_by
Any of:
string
error_message
Any of:
string
Examplegenerated
{
"id": "example",
"deployment_name": "example",
"environment_id": "example",
"git_branch": "example",
"git_commit_sha": "example",
"status": "example",
"job_run_id": "example",
"created_at": "example",
"started_at": "example",
"completed_at": "example",
"initiated_by": "example",
"error_message": "example"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}