Projects
Retrieve all projects.
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 <= 100Search projects by name
Optional fields to include: deploymentCount, latestRelease
Maximum 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/projects"{ "items": [ { "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "deploymentCount": 0, "latestRelease": { "id": "rel_WbhQgksrawSKIpEN0NAssHX9", "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" } } ], "nextCursor": "string"}Create a new project.
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
application/json
application/json
application/json
curl -X POST "https://example.com/v1/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "my-app" }'{ "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "githubSetup": { "pullRequestUrl": "http://example.com", "workflowUrl": "http://example.com" }, "gitRepositoryWarning": { "code": "string", "message": "string", "source": null, "retryable": false, "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "requestId": "string" }}Retrieve a project by ID or name.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project"{ "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0"}Update a project.
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
Project ID or name.
length <= 100Query 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 PATCH "https://example.com/v1/projects/my-project" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0"}Delete a project. The project must have no deployments.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/projects/my-project"Retrieve redacted project-level Google Cloud OAuth provider settings.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/gcp-oauth-provider"{ "mode": "alien-managed", "redirectUris": [ "http://example.com" ]}Update project-level Google Cloud OAuth provider settings.
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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/gcp-oauth-provider" \ -H "Content-Type: application/json" \ -d '{ "mode": "alien-managed" }'{ "mode": "alien-managed", "redirectUris": [ "http://example.com" ]}Connect a GitHub repository or Alien template to an existing project and configure its release workflow.
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
Project ID or name.
length <= 100Query 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
application/json
application/json
application/json
curl -X POST "https://example.com/v1/projects/my-project/source" \ -H "Content-Type: application/json" \ -d '{ "mode": "repository", "gitRepository": { "type": "github", "repo": "alien/my-agent" } }'{ "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "githubSetup": { "pullRequestUrl": "http://example.com", "workflowUrl": "http://example.com" }, "gitRepositoryWarning": { "code": "string", "message": "string", "source": null, "retryable": false, "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "requestId": "string" }, "template": { "sourceRepository": "alienplatform/alien", "forkRepository": "string", "templatePath": "examples/customer-models-ts", "resolvedRootDirectory": "string" }}Get the deployment portal domain binding for a project.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/deployment-portal-domain"{ "deploymentPortalEndpoint": { "id": "dend_1bb6gdvm1bs74acqkjstcgv", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "domainId": "dom_469m0agk8luj4s16sakmmpdd", "kind": "deployment_portal", "owner": { "type": "workspace", "id": "string" }, "hostname": "string", "status": "waiting_for_domain", "provider": "string", "providerState": { "property1": null, "property2": null }, "managedDnsRecords": [ { "name": "string", "type": "string", "value": "string", "ttl": 1 } ], "error": { "code": "string", "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "message": "string", "retryable": false, "source": null }, "lockedAt": "2019-08-24T14:15:22Z", "lockedBy": "string", "retryAttempts": 0, "nextStepAfter": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }, "packageEndpoint": { "id": "dend_1bb6gdvm1bs74acqkjstcgv", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "domainId": "dom_469m0agk8luj4s16sakmmpdd", "kind": "deployment_portal", "owner": { "type": "workspace", "id": "string" }, "hostname": "string", "status": "waiting_for_domain", "provider": "string", "providerState": { "property1": null, "property2": null }, "managedDnsRecords": [ { "name": "string", "type": "string", "value": "string", "ttl": 1 } ], "error": { "code": "string", "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "message": "string", "retryable": false, "source": null }, "lockedAt": "2019-08-24T14:15:22Z", "lockedBy": "string", "retryAttempts": 0, "nextStepAfter": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z" }}Create a project by forking alienplatform/alien into your namespace, then configuring GitHub Actions.
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
application/json
application/json
curl -X POST "https://example.com/v1/projects/import-template" \ -H "Content-Type: application/json" \ -d '{ "name": "my-app", "targetNamespace": "string", "templatePath": "examples/customer-models-ts" }'{ "id": "prj_mcytp6z3j91f7tn5ryqsfwtr", "name": "my-app", "gitRepository": { "type": "github", "repo": "alien/my-agent" }, "rootDirectory": "string", "deploymentPortalAppearance": { "avatarUrl": "http://example.com", "preset": "clean", "accentColor": "blue", "title": "string", "subtitle": "string", "supportUrl": "http://example.com", "docsUrl": "http://example.com", "density": "comfortable" }, "packagesConfig": { "cli": { "binaryTargets": [ "windows-x64" ], "displayName": "string", "name": "string", "enabled": true }, "cloudformation": { "enabled": true, "displayName": "string" }, "operatorImage": { "brand": "string", "displayName": "string", "envPrefix": "string", "labelDomain": "string", "name": "string", "enabled": true }, "helm": { "chartName": "string", "description": "string", "enabled": true }, "terraform": { "enabled": true, "displayName": "string" } }, "domainId": "dom_469m0agk8luj4s16sakmmpdd", "defaultManagers": { "aws": "mgr_enxscjrqiiu2lrc672hwwuc5", "gcp": "mgr_enxscjrqiiu2lrc672hwwuc5", "azure": "mgr_enxscjrqiiu2lrc672hwwuc5", "kubernetes": "mgr_enxscjrqiiu2lrc672hwwuc5", "machines": "mgr_enxscjrqiiu2lrc672hwwuc5", "local": "mgr_enxscjrqiiu2lrc672hwwuc5" }, "projectCapabilities": null, "createdAt": "2019-08-24T14:15:22Z", "workspaceId": "ws_It13CUaGEhLLAB87simX0", "githubSetup": { "pullRequestUrl": "http://example.com", "workflowUrl": "http://example.com" }, "gitRepositoryWarning": { "code": "string", "message": "string", "source": null, "retryable": false, "context": null, "hint": "string", "httpStatusCode": 100, "internal": true, "requestId": "string" }, "template": { "sourceRepository": "alienplatform/alien", "forkRepository": "string", "templatePath": "examples/customer-models-ts", "resolvedRootDirectory": "string" }}Get template URLs for deploying setup stacks in this project.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/template-urls"{ "aws": { "templateUrl": "http://example.com", "launchStackUrl": "http://example.com" }}Get the active release stack and portal-visible setup availability for deployment-link configuration.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/deployment-link-setup"{ "activeRelease": { "id": "rel_WbhQgksrawSKIpEN0NAssHX9", "version": "string", "stack": { "aws": null, "gcp": null, "azure": null, "kubernetes": null, "machines": null, "local": null, "test": null } }, "supportedPlatforms": [ "aws" ], "setupItems": [ "deployment" ], "visiblePackageTypes": [ "cli" ], "visibleSetupMethods": [ "cloudformation" ], "setupPackagesStatus": "preparing"}Get the production channel's current release. When deploymentId is provided, returns that deployment's effective release: its pin, or its followed channel's current 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
Project ID or name.
length <= 100Query 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 deployment ID to check for pinned release
Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/active-release"nullPreview which customer model connections a configuration change may affect.
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
Project ID or name.
length <= 100Query 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/projects/my-project/project-capabilities/models/impact" \ -H "Content-Type: application/json" \ -d '{ "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }'{ "connectedCustomers": 0, "affectedCustomers": 0, "verificationNeeded": 0, "affected": [ { "deploymentGroupId": "string", "name": "string", "externalId": "string", "provider": "string", "reason": "provider-no-longer-compatible" } ], "truncated": true}Set the capabilities offered by a Project. Removing a capability prevents new setup without deleting existing customer resources.
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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities" \ -H "Content-Type: application/json" \ -d '{ "enabled": [ "deployments" ] }'{ "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } }}Enable deployments for a Project.
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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities/deployments" \ -H "Content-Type: application/json" \ -d '{ "enabled": true, "methods": [ "framework" ] }'{ "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } }}Get static headers added to AI requests for each provider.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/ai-provider-headers"{ "providers": [ { "provider": "aws-bedrock", "headers": [ { "name": "string", "value": "string" } ] } ]}Replace the static headers added to AI requests for each provider.
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
Project ID or name.
length <= 100Query 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
application/json
application/json
curl -X PUT "https://example.com/v1/projects/my-project/ai-provider-headers" \ -H "Content-Type: application/json" \ -d '{ "providers": [ { "provider": "aws-bedrock", "headers": [ { "name": "string", "value": "string" } ] } ] }'{ "providers": [ { "provider": "aws-bedrock", "headers": [ { "name": "string", "value": "string" } ] } ]}Configure customer-owned model providers without requiring an application 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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities/models" \ -H "Content-Type: application/json" \ -d '{ "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }'{ "projectCapabilities": { "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } } }, "source": { "definitionId": "customer-ai", "definitionVersion": "string", "releaseId": "string" }, "packages": [ { "type": "cloudformation", "status": "pending" } ]}Enable customer-owned application encryption without requiring an application 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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities/keys" \ -H "Content-Type: application/json" \ -d '{ "applicationEncryption": true }'{ "projectCapabilities": { "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } } }, "source": { "definitionId": "customer-ai", "definitionVersion": "string", "releaseId": "string" }, "packages": [ { "type": "cloudformation", "status": "pending" } ]}Enable buckets without requiring a project 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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities/buckets" \ -H "Content-Type: application/json" \ -d '{ "access": "read-write" }'{ "projectCapabilities": { "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } } }, "source": { "definitionId": "customer-ai", "definitionVersion": "string", "releaseId": "string" }, "packages": [ { "type": "cloudformation", "status": "pending" } ]}Enable customer-owned container registries without requiring an application 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
Project ID or name.
length <= 100Query 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
application/json
curl -X PUT "https://example.com/v1/projects/my-project/project-capabilities/registry" \ -H "Content-Type: application/json" \ -d '{ "repositories": [ "string" ], "credentialPolicy": "pull-only" }'{ "projectCapabilities": { "schemaVersion": 1, "capabilities": { "deployments": { "enabled": true, "methods": [ "framework" ] }, "keys": { "enabled": true, "applicationEncryption": true }, "models": { "enabled": true, "allowedProviders": [ "aws-bedrock" ], "requirements": [ { "publicModelId": "string", "clientApis": [ "openai-chat" ], "required": true } ] }, "buckets": { "enabled": true, "access": "read-write" }, "registry": { "enabled": true, "repositories": [ "string" ], "credentialPolicy": "pull-only" } } }, "source": { "definitionId": "customer-ai", "definitionVersion": "string", "releaseId": "string" }, "packages": [ { "type": "cloudformation", "status": "pending" } ]}Get safe, server-derived capability status for a Project.
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
Project ID or name.
length <= 100Query 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 <= 100Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/project-capabilities/overview"{ "generatedAt": "2019-08-24T14:15:22Z", "configurationStatus": "valid", "summary": { "groups": 0, "capabilities": { "models": { "enabled": true, "connected": 0, "settingUp": 0, "needsAttention": 0, "revoked": 0, "notConnected": 0 }, "keys": { "enabled": true, "connected": 0, "settingUp": 0, "needsAttention": 0, "revoked": 0, "notConnected": 0 }, "buckets": { "enabled": true, "connected": 0, "settingUp": 0, "needsAttention": 0, "revoked": 0, "notConnected": 0 }, "registry": { "enabled": true, "connected": 0, "settingUp": 0, "needsAttention": 0, "revoked": 0, "notConnected": 0 } } }, "groups": [ { "deploymentGroupId": "dg_r27ict8c7vcgsumpj90ackf7b", "name": "string", "externalId": "string", "createdAt": "2019-08-24T14:15:22Z", "capabilities": { "models": { "capability": "models", "enabled": true, "state": "not-connected", "deploymentId": "dep_0c29fq4a2yjb7kx3smwdgxlc", "observation": { "provider": "string", "platform": "aws", "resourceId": "string", "location": "string", "account": "string", "observedAt": "2019-08-24T14:15:22Z", "stale": true, "partial": true, "health": "unknown", "lifecycle": "string", "message": "string" }, "modelCoverage": [ { "publicModelId": "string", "required": true, "availability": "available", "blockerCodes": [ "string" ], "accessTest": "verified", "accessObservedAt": "2019-08-24T14:15:22Z" } ], "directProvider": { "provider": "anthropic", "providerEndpoint": "string", "keyFingerprint": "string", "credentialStatus": "pending", "credentialCheckedAt": "2019-08-24T14:15:22Z", "catalogObservedAt": "2019-08-24T14:15:22Z" }, "root": { "state": "pending", "createdAt": "2019-08-24T14:15:22Z" }, "registry": { "repositories": 0, "credentials": 0, "credentialPolicy": "pull-only", "lastVerifiedAt": "2019-08-24T14:15:22Z" } }, "keys": { "capability": "models", "enabled": true, "state": "not-connected", "deploymentId": "dep_0c29fq4a2yjb7kx3smwdgxlc", "observation": { "provider": "string", "platform": "aws", "resourceId": "string", "location": "string", "account": "string", "observedAt": "2019-08-24T14:15:22Z", "stale": true, "partial": true, "health": "unknown", "lifecycle": "string", "message": "string" }, "modelCoverage": [ { "publicModelId": "string", "required": true, "availability": "available", "blockerCodes": [ "string" ], "accessTest": "verified", "accessObservedAt": "2019-08-24T14:15:22Z" } ], "directProvider": { "provider": "anthropic", "providerEndpoint": "string", "keyFingerprint": "string", "credentialStatus": "pending", "credentialCheckedAt": "2019-08-24T14:15:22Z", "catalogObservedAt": "2019-08-24T14:15:22Z" }, "root": { "state": "pending", "createdAt": "2019-08-24T14:15:22Z" }, "registry": { "repositories": 0, "credentials": 0, "credentialPolicy": "pull-only", "lastVerifiedAt": "2019-08-24T14:15:22Z" } }, "buckets": { "capability": "models", "enabled": true, "state": "not-connected", "deploymentId": "dep_0c29fq4a2yjb7kx3smwdgxlc", "observation": { "provider": "string", "platform": "aws", "resourceId": "string", "location": "string", "account": "string", "observedAt": "2019-08-24T14:15:22Z", "stale": true, "partial": true, "health": "unknown", "lifecycle": "string", "message": "string" }, "modelCoverage": [ { "publicModelId": "string", "required": true, "availability": "available", "blockerCodes": [ "string" ], "accessTest": "verified", "accessObservedAt": "2019-08-24T14:15:22Z" } ], "directProvider": { "provider": "anthropic", "providerEndpoint": "string", "keyFingerprint": "string", "credentialStatus": "pending", "credentialCheckedAt": "2019-08-24T14:15:22Z", "catalogObservedAt": "2019-08-24T14:15:22Z" }, "root": { "state": "pending", "createdAt": "2019-08-24T14:15:22Z" }, "registry": { "repositories": 0, "credentials": 0, "credentialPolicy": "pull-only", "lastVerifiedAt": "2019-08-24T14:15:22Z" } }, "registry": { "capability": "models", "enabled": true, "state": "not-connected", "deploymentId": "dep_0c29fq4a2yjb7kx3smwdgxlc", "observation": { "provider": "string", "platform": "aws", "resourceId": "string", "location": "string", "account": "string", "observedAt": "2019-08-24T14:15:22Z", "stale": true, "partial": true, "health": "unknown", "lifecycle": "string", "message": "string" }, "modelCoverage": [ { "publicModelId": "string", "required": true, "availability": "available", "blockerCodes": [ "string" ], "accessTest": "verified", "accessObservedAt": "2019-08-24T14:15:22Z" } ], "directProvider": { "provider": "anthropic", "providerEndpoint": "string", "keyFingerprint": "string", "credentialStatus": "pending", "credentialCheckedAt": "2019-08-24T14:15:22Z", "catalogObservedAt": "2019-08-24T14:15:22Z" }, "root": { "state": "pending", "createdAt": "2019-08-24T14:15:22Z" }, "registry": { "repositories": 0, "credentials": 0, "credentialPolicy": "pull-only", "lastVerifiedAt": "2019-08-24T14:15:22Z" } } } } ]}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
Project ID or name.
length <= 100Query 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 <= 100"24h"Value in
- "24h"
- "7d"
- "30d"
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/ai-metrics"{ "status": "unavailable", "reason": "not-configured"}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
Project ID or name.
length <= 100Query 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 <= 100"24h"Value in
- "24h"
- "7d"
- "30d"
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/projects/my-project/encryption-metrics"{ "status": "unavailable", "reason": "not-configured"}