Releases
Retrieve all releases.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Query Parameters
Filter by project ID or name.
Filter to releases promoted to this channel. Defaults to production.
^[a-z][a-z0-9-]*$1 <= length <= 63"false"Value in
- "true"
- "false"
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Optional fields to include: project, rollout
Search releases by commit message, branch, SHA, or release ID
length <= 256Filter by git branch (commitRef)
length <= 256Filter releases created after this date (ISO 8601)
date-timeFilter releases created before this date (ISO 8601)
date-timeMaximum number of items to return per page
1 <= value <= 10020Cursor for pagination - omit for first page
Response Body
application/json
application/json
curl -X GET "https://example.com/v1/releases?project=my-project"{ "items": [ { "id": "rel_WbhQgksrawSKIpEN0NAssHX9", "projectId": "string", "version": "string", "gitMetadata": { "commitSha": "dc36199b2234c6586ebe05ec94078a895c707e29", "commitMessage": "add method to measure Interaction to Next Paint (INP) (#36490)", "commitRef": "main", "commitDate": "2026-03-16T12:00:00Z", "dirty": true, "remoteUrl": "https://github.com/alienplatform/alien", "commitAuthorName": "John Doe", "commitAuthorEmail": "john@example.com", "commitAuthorLogin": "johndoe", "commitAuthorAvatarUrl": "https://github.com/johndoe.png", "provider": { "type": "github", "org": "string", "repo": "string" } }, "createdAt": "2019-08-24T14:15:22Z", "stack": { "aws": null, "gcp": null, "azure": null, "kubernetes": null, "machines": null, "local": null, "test": null }, "setupFingerprints": { "property1": { "target": "string", "fingerprint": "string", "version": 1 }, "property2": { "target": "string", "fingerprint": "string", "version": 1 } }, "rootDirectory": "string", "createdByUserId": "string", "workspaceId": "string", "currentChannels": [ "string" ], "commitUrl": "http://example.com", "project": { "id": "string", "name": "string" }, "rollout": { "updatedCount": 0, "pendingCount": 0, "avgDurationMs": 0 }, "createdBy": { "id": "string", "name": "string", "email": "string", "image": "string" } } ], "nextCursor": "string"}Create a new release.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/releases" \ -H "Content-Type: application/json" \ -d '{ "project": "string" }'{ "id": "rel_WbhQgksrawSKIpEN0NAssHX9", "projectId": "string", "version": "string", "gitMetadata": { "commitSha": "dc36199b2234c6586ebe05ec94078a895c707e29", "commitMessage": "add method to measure Interaction to Next Paint (INP) (#36490)", "commitRef": "main", "commitDate": "2026-03-16T12:00:00Z", "dirty": true, "remoteUrl": "https://github.com/alienplatform/alien", "commitAuthorName": "John Doe", "commitAuthorEmail": "john@example.com", "commitAuthorLogin": "johndoe", "commitAuthorAvatarUrl": "https://github.com/johndoe.png", "provider": { "type": "github", "org": "string", "repo": "string" } }, "createdAt": "2019-08-24T14:15:22Z", "stack": { "aws": null, "gcp": null, "azure": null, "kubernetes": null, "machines": null, "local": null, "test": null }, "setupFingerprints": { "property1": { "target": "string", "fingerprint": "string", "version": 1 }, "property2": { "target": "string", "fingerprint": "string", "version": 1 } }, "rootDirectory": "string", "createdByUserId": "string", "workspaceId": "string"}List distinct git branches across releases. Used for filter dropdowns.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Filter by project ID or name.
Search branches by name (case-insensitive contains)
length <= 256Maximum number of branches to return
1 <= value <= 10050Response Body
application/json
application/json
curl -X GET "https://example.com/v1/releases/branches?project=my-project"{ "items": [ "string" ]}List distinct commit authors across releases. Used for filter dropdowns.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Filter by project ID or name.
Search authors by login or name (case-insensitive contains)
length <= 256Maximum number of authors to return
1 <= value <= 10050Response Body
application/json
application/json
curl -X GET "https://example.com/v1/releases/authors?project=my-project"{ "items": [ { "login": "string", "name": "string", "avatarUrl": "http://example.com" } ]}Retrieve a release by ID.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Path Parameters
Unique identifier for the release.
rel_[0-9a-zA-Z]{28}$Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Optional fields to include: project, rollout
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/releases/rel_WbhQgksrawSKIpEN0NAssHX9"{ "id": "rel_WbhQgksrawSKIpEN0NAssHX9", "projectId": "string", "version": "string", "gitMetadata": { "commitSha": "dc36199b2234c6586ebe05ec94078a895c707e29", "commitMessage": "add method to measure Interaction to Next Paint (INP) (#36490)", "commitRef": "main", "commitDate": "2026-03-16T12:00:00Z", "dirty": true, "remoteUrl": "https://github.com/alienplatform/alien", "commitAuthorName": "John Doe", "commitAuthorEmail": "john@example.com", "commitAuthorLogin": "johndoe", "commitAuthorAvatarUrl": "https://github.com/johndoe.png", "provider": { "type": "github", "org": "string", "repo": "string" } }, "createdAt": "2019-08-24T14:15:22Z", "stack": { "aws": null, "gcp": null, "azure": null, "kubernetes": null, "machines": null, "local": null, "test": null }, "setupFingerprints": { "property1": { "target": "string", "fingerprint": "string", "version": 1 }, "property2": { "target": "string", "fingerprint": "string", "version": 1 } }, "rootDirectory": "string", "createdByUserId": "string", "workspaceId": "string", "currentChannels": [ "string" ], "commitUrl": "http://example.com", "project": { "id": "string", "name": "string" }, "rollout": { "updatedCount": 0, "pendingCount": 0, "avgDurationMs": 0 }, "createdBy": { "id": "string", "name": "string", "email": "string", "image": "string" }}List the project's deployments with their rollout state relative to this release.
Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Path Parameters
Unique identifier for the release.
rel_[0-9a-zA-Z]{28}$Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Filter deployments by rollout state
Filter by deployment group ID or name
Maximum number of items to return per page
1 <= value <= 10020Cursor for pagination - omit for first page
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/releases/rel_WbhQgksrawSKIpEN0NAssHX9/deployments"{ "items": [ { "id": "dep_0c29fq4a2yjb7kx3smwdgxlc", "name": "string", "status": "pending", "platform": "aws", "environmentInfo": { "accountId": "string", "region": "string", "platform": "aws" }, "deploymentGroup": { "id": "dg_r27ict8c7vcgsumpj90ackf7b", "name": "prod-us-east-1", "externalId": "ext_example_01" }, "currentReleaseId": "rel_WbhQgksrawSKIpEN0NAssHX9", "desiredReleaseId": "rel_WbhQgksrawSKIpEN0NAssHX9", "pinnedReleaseId": "rel_WbhQgksrawSKIpEN0NAssHX9", "lastHeartbeatAt": "2019-08-24T14:15:22Z", "rolloutState": "updated", "releasedAt": "2019-08-24T14:15:22Z", "durationMs": 0, "error": { "code": "string", "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "message": "string", "retryable": false, "source": null } } ], "nextCursor": "string", "stateCounts": { "updated": 0, "updating": 0, "failed": 0, "pending": 0, "pinned-other": 0, "superseded": 0, "on-other": 0 }}Authorization
apiKey API key for authentication, must be provided as a Bearer token. Generate an API key at https://alien.dev/api-keys
In: header
Path Parameters
^[a-z][a-z0-9-]*$1 <= length <= 63Query Parameters
Workspace name. Required for user/session/OAuth requests. Optional for API keys because API keys are workspace-scoped; if provided with an API key, it must match the key's workspace.
^(?!ws[-_])[a-z0-9](-?[a-z0-9])*$4 <= length <= 100Filter by project ID or name.
length <= 100Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/release-channels/string/promote?project=my-project" \ -H "Content-Type: application/json" \ -d '{ "releaseId": "rel_WbhQgksrawSKIpEN0NAssHX9" }'{ "workspaceId": "ws_It13CUaGEhLLAB87simX0", "projectId": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "string", "currentReleaseId": "rel_WbhQgksrawSKIpEN0NAssHX9", "deploymentCount": 0, "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z"}