Projects API — Agentuity Documentation

Projects API

Full project lifecycle management including deployments, agents, environment variables, and hostnames

Full project lifecycle management including deployments, agents, environment variables, and hostnames.

https://catalyst-usw.agentuity.cloud

Authentication

All requests require a Bearer token. Pass your SDK key in the Authorization header.

HeaderValue
AuthorizationBearer YOUR_SDK_KEY

You can find your SDK key in the Agentuity Console under your project settings.


Project Management

Create Project

Create a new project within an organization.

POST/cli/project
https://catalyst-usw.agentuity.cloud/cli/project

Request Body

Project creation payload.

FieldTypeDescription
namestringthe name of the new project
descriptionstringthe description of the project (optional)
tagsstring[]tags for the project (optional)
orgIdstringthe organization id to create the project in
cloudRegionstringthe cloud region to create the project
domainsstring[]the custom domains for this project (optional)

Response

Returns the created project ID and SDK key.

StatusDescription
201Project created
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
idstringthe unique id for the project
sdkKeystringthe SDK key for the project

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/project' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "my-project",
  "orgId": "org_abc123",
  "cloudRegion": "usw"
}'

List Projects

List all projects accessible to the authenticated user.

GET/cli/project
https://catalyst-usw.agentuity.cloud/cli/project

Parameters

query
NameTypeRequiredDescription
hasDeploymentbooleanNoFilter to projects with deployments
limitnumberNoMax results (default 1000, max 10000)

Response

Returns a list of projects.

StatusDescription
200Projects returned
401Unauthorized — invalid or missing API key

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Project

Retrieve a specific project by ID. The mask and includeProjectKeys query parameters both default to true when omitted.

GET/cli/project/{id}
https://catalyst-usw.agentuity.cloud/cli/project/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID
query
NameTypeRequiredDescription
maskbooleanNoMask secrets (default true)
includeProjectKeysbooleanNoInclude SDK keys (default true)

Response

Returns the project details.

StatusDescription
200Project returned
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Delete Projects

Delete one or more projects by ID.

DELETE/cli/project
https://catalyst-usw.agentuity.cloud/cli/project

Request Body

Project deletion payload.

FieldTypeDescription
idsstring[]Array of project IDs to delete.

Response

Returns array of deleted project IDs.

StatusDescription
200Projects deleted
401Unauthorized — invalid or missing API key

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/cli/project' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "ids": [
    "proj_abc123"
  ]
}'

Check Project Exists

Check if a project with the given name already exists.

GET/cli/project/exists/{name}
https://catalyst-usw.agentuity.cloud/cli/project/exists/{name}

Parameters

path
NameTypeRequiredDescription
namestringYesProject name (URL-encoded)
query
NameTypeRequiredDescription
orgIdstringYesOrganization ID

Response

Returns true (HTTP 409) if exists, false (HTTP 422) if not.

StatusDescription
409Project exists
422Project does not exist
401Unauthorized — invalid or missing API key

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/exists/my-project?orgId=org_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Update Project Region

Update the cloud region for a project.

PATCH/cli/project/{id}
https://catalyst-usw.agentuity.cloud/cli/project/{id}

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID

Request Body

Region update payload.

FieldTypeDescription
cloudRegionstringthe cloud region to update the project to

Response

Returns the updated project.

StatusDescription
200Project updated
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X PATCH 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "cloudRegion": "use"
}'

Environment Variables

Update Env Variables

Update environment variables and secrets for a project.

PUT/cli/project/{id}/env
https://catalyst-usw.agentuity.cloud/cli/project/{id}/env

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID

Request Body

Environment variable update payload.

FieldTypeDescription
envobjectenvironment variables to set/update (optional)
secretsobjectsecrets to set/update (optional)

Response

Returns the updated environment variables.

StatusDescription
200Environment variables updated
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X PUT 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/env' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "env": {
    "DB_HOST": "localhost"
  },
  "secrets": {
    "DB_PASS": "secret"
  }
}'

Delete Env Variables

Delete specific environment variables and secrets from a project.

DELETE/cli/project/{id}/env
https://catalyst-usw.agentuity.cloud/cli/project/{id}/env

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID

Request Body

Environment variable deletion payload.

FieldTypeDescription
envstring[]environment variable keys to delete (optional)
secretsstring[]secret keys to delete (optional)

Response

Empty response on success.

StatusDescription
204Environment variables deleted
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/env' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "env": [
    "OLD_VAR"
  ],
  "secrets": [
    "OLD_SECRET"
  ]
}'

Agents

List Agents

List agents for a project.

GET/cli/agent/{projectId}
https://catalyst-usw.agentuity.cloud/cli/agent/{projectId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
query
NameTypeRequiredDescription
deploymentIdstringNoFilter by deployment ID
orgIdstringNoFilter by organization ID

Response

Returns a list of agents for the project.

StatusDescription
200Agents returned
401Unauthorized — invalid or missing API key
404Project not found

Response Fields

FieldTypeDescription
idstringAgent ID (same as identifier)
namestringAgent name
descriptionstring | nullAgent description
identifierstringAgent identifier
deploymentIdstring | nullDeployment ID
devmodebooleanWhether agent is in development mode
metadataobject | nullAgent metadata
createdAtstringCreation timestamp
updatedAtstringLast update timestamp
evalsobject[]Associated evaluations
evals[].idstringEvaluation ID
evals[].namestringEvaluation name
evals[].descriptionstring | nullEvaluation description
evals[].identifierstring | nullEvaluation identifier
evals[].devmodebooleanWhether evaluation is in development mode
evals[].createdAtstringCreation timestamp
evals[].updatedAtstringLast update timestamp

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/agent/proj_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Agent by Identifier

Retrieve a specific agent by its identifier.

GET/cli/agent/{projectId}
https://catalyst-usw.agentuity.cloud/cli/agent/{projectId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
query
NameTypeRequiredDescription
identifierstringYesAgent identifier

Response

Returns the agent matching the identifier.

StatusDescription
200Agent returned
401Unauthorized — invalid or missing API key
404Agent not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/agent/proj_abc123?identifier=my-agent' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Deployments

List Deployments

List deployments for a project.

GET/cli/project/{projectId}/deployments
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
query
NameTypeRequiredDescription
limitnumberNoMax results (default 10)
orgIdstringNoFilter by organization ID

Response

Returns a list of deployments for the project.

StatusDescription
200Deployments returned
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Deployment

Retrieve a specific deployment by ID.

GET/cli/project/{projectId}/deployments/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments/{deploymentId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
deploymentIdstringYesDeployment ID

Response

Returns the deployment details.

StatusDescription
200Deployment returned
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments/dep_def456' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Delete Deployment

Delete a specific deployment.

DELETE/cli/project/{projectId}/deployments/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments/{deploymentId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
deploymentIdstringYesDeployment ID

Response

Returns confirmation of deletion.

StatusDescription
200Deployment deleted
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X DELETE 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments/dep_def456' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Rollback Deployment

Rollback to a specific deployment version.

POST/cli/project/{projectId}/deployments/{deploymentId}/rollback
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments/{deploymentId}/rollback

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
deploymentIdstringYesDeployment ID

Response

Rolls back to the specified deployment version.

StatusDescription
200Rollback initiated
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments/dep_def456/rollback' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Undeploy Project

Undeploy all active deployments for a project.

POST/cli/project/{projectId}/deployments/undeploy
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments/undeploy

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID

Response

Returns confirmation of undeployment.

StatusDescription
200Project undeployed
401Unauthorized — invalid or missing API key
404Project not found

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments/undeploy' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Deployment Logs

Retrieve logs for a specific deployment.

GET/cli/project/{projectId}/deployments/{deploymentId}/logs
https://catalyst-usw.agentuity.cloud/cli/project/{projectId}/deployments/{deploymentId}/logs

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID
deploymentIdstringYesDeployment ID
query
NameTypeRequiredDescription
limitnumberNoMax results (default 100)

Response

Returns deployment log entries.

StatusDescription
200Logs returned
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/deployments/dep_def456/logs' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Deployment Info

Lightweight deployment lookup — returns ID, project, org, region, state, and active status.

GET/cli/deployment/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/deployment/{deploymentId}

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID

Response

Lightweight deployment lookup — returns ID, project, org, region, state, and active status.

StatusDescription
200Deployment info returned
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/deployment/dep_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Deploy Pipeline

Start Deployment

Start a new deployment for a project.

POST/cli/deploy/2/start/{projectId}
https://catalyst-usw.agentuity.cloud/cli/deploy/2/start/{projectId}

Parameters

path
NameTypeRequiredDescription
projectIdstringYesProject ID

Request Body

Deployment configuration payload.

FieldTypeDescription
resourcesobjectthe resource requirements for your deployed project (optional)
resources.memorystringThe memory requirements
resources.cpustringThe CPU requirements
resources.diskstringThe disk requirements
modeobjectthe provisioning mode for the project (optional)
mode.typestringon-demand or provisioned
mode.idlestringduration in seconds if on-demand (optional)
dependenciesstring[] (optional)
domainsstring[] (optional)

Response

Returns deployment details and upload information.

StatusDescription
201Deployment started
401Unauthorized — invalid or missing API key
404Project not found

Response Fields

FieldTypeDescription
idstringthe unique id for the deployment
orgIdstringthe organization id
publicKeystringthe public key to use for encrypting the deployment
buildLogsStreamURLstringthe URL for streaming build logs (PUT to write, GET to read)

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/deploy/2/start/proj_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "resources": {
    "memory": 512,
    "cpu": 1
  }
}'

Upload Build Metadata

Upload build metadata for a deployment in progress.

PUT/cli/deploy/2/start/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/deploy/2/start/{deploymentId}

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID

Response

Returns pre-signed upload URLs for the deployment archive and assets.

StatusDescription
200Upload URLs returned
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X PUT 'https://catalyst-usw.agentuity.cloud/cli/deploy/2/start/dep_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Complete Deployment

Signal that a deployment upload is complete and ready for activation.

POST/cli/deploy/2/complete/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/deploy/2/complete/{deploymentId}

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID

Response

Returns warmup stream and public URL information.

StatusDescription
200Deployment completed
401Unauthorized — invalid or missing API key
404Deployment not found

Response Fields

FieldTypeDescription
streamIdstringthe stream id for warmup logs (optional)
publicUrlsobjectthe map of public urls
publicUrls.lateststringthe public url for the latest deployment
publicUrls.deploymentstringthe public url for this deployment
publicUrls.customstring[]
publicUrls.vanityDeploymentstring | nullthe vanity url for this deployment (optional)
publicUrls.vanityProjectstring | nullthe vanity url for the latest deployment (optional)

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/deploy/2/complete/dep_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Get Deploy Status

Check the current status of a deployment.

GET/cli/deploy/2/status/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/deploy/2/status/{deploymentId}

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID

Response

Returns the current deployment state.

StatusDescription
200Status returned
401Unauthorized — invalid or missing API key
404Deployment not found

Response Fields

FieldTypeDescription
statestringthe current deployment state

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/deploy/2/status/dep_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Report Deploy Failure

Report a deployment failure with error details.

POST/cli/deploy/2/fail/{deploymentId}
https://catalyst-usw.agentuity.cloud/cli/deploy/2/fail/{deploymentId}

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID

Request Body

Failure report payload.

FieldTypeDescription
errorstring (optional)
diagnosticsobject (optional)
diagnostics.successboolean
diagnostics.errorsobject[]
diagnostics.errors[].typestring
diagnostics.errors[].scopestring
diagnostics.errors[].pathstring (optional)
diagnostics.errors[].linenumber (optional)
diagnostics.errors[].columnnumber (optional)
diagnostics.errors[].messagestring
diagnostics.errors[].codestring (optional)
diagnostics.warningsobject[]
diagnostics.warnings[].typestring
diagnostics.warnings[].scopestring
diagnostics.warnings[].pathstring (optional)
diagnostics.warnings[].linenumber (optional)
diagnostics.warnings[].columnnumber (optional)
diagnostics.warnings[].messagestring
diagnostics.warnings[].codestring (optional)
diagnostics.diagnosticsobject[]
diagnostics.diagnostics[].namestring
diagnostics.diagnostics[].startedAtstring
diagnostics.diagnostics[].completedAtstring
diagnostics.diagnostics[].durationMsnumber
diagnostics.errorstring (optional)

Response

Returns confirmation of failure report.

StatusDescription
200Failure reported
401Unauthorized — invalid or missing API key
404Deployment not found

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/cli/deploy/2/fail/dep_abc123' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "error": "Build failed: TypeScript compilation error"
}'

Hostname

Get Hostname

Get the vanity hostname for a project.

GET/cli/project/{id}/hostname
https://catalyst-usw.agentuity.cloud/cli/project/{id}/hostname

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID

Response

Returns the vanity hostname and URL.

StatusDescription
200Hostname returned
401Unauthorized — invalid or missing API key
404Project not found

Response Fields

FieldTypeDescription
hostnamestring | nullThe vanity hostname for the project, or null if not set.
urlstring | nullThe full URL for the project hostname, or null if not set.

Example

curl -X GET 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/hostname' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY'

Set Hostname

Set a vanity hostname for a project.

PUT/cli/project/{id}/hostname
https://catalyst-usw.agentuity.cloud/cli/project/{id}/hostname

Parameters

path
NameTypeRequiredDescription
idstringYesProject ID

Request Body

Hostname configuration payload.

FieldTypeDescription
projectIdstringthe project id
hostnamestringthe vanity hostname to set

Response

Returns the configured hostname and URL.

StatusDescription
200Hostname set
401Unauthorized — invalid or missing API key
404Project not found

Response Fields

FieldTypeDescription
hostnamestringThe vanity hostname that was set.
urlstringThe full URL for the project hostname.

Example

curl -X PUT 'https://catalyst-usw.agentuity.cloud/cli/project/proj_abc123/hostname' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "hostname": "my-app"
}'

Security

Check for Malware

Scan deployment dependencies for known malware.

POST/security/{deploymentId}/malware-check
https://catalyst-usw.agentuity.cloud/security/{deploymentId}/malware-check

Parameters

path
NameTypeRequiredDescription
deploymentIdstringYesDeployment ID (URL-encoded)

Request Body

Malware scan payload.

FieldTypeDescription
ecosystemstringPackage ecosystem (e.g., `npm`)
packagesobject[]Array of packages to scan, each with name and version
packages[].namestringPackage name (e.g., lodash, express)
packages[].versionstringPackage version (e.g., 4.17.21)

Response

Returns scan results. If action is 'block', the deployment should be blocked.

StatusDescription
200Scan completed
401Unauthorized — invalid or missing API key

Response Fields

FieldTypeDescription
actionstringAction to take based on the scan results (allow or block deployment).
summaryobjectSummary of the malware check scan.
summary.scannednumberTotal number of packages scanned.
summary.flaggednumberNumber of packages flagged as potentially malicious.
findingsobject[]List of malware detection findings.
findings[].namestringName of the flagged package.
findings[].versionstringVersion of the flagged package.
findings[].reasonstringReason why the package was flagged as potentially malicious.
listobjectMetadata about the malware list used, if available.
list.fetchedAtstringISO 8601 timestamp when the malware list was last fetched.
list.countnumberNumber of entries in the malware list.
errorstringError message if the malware check encountered an issue.

Example

curl -X POST 'https://catalyst-usw.agentuity.cloud/security/dep_abc123/malware-check' \
  -H 'Authorization: Bearer $AGENTUITY_SDK_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "ecosystem": "npm",
  "packages": [
    {
      "name": "lodash",
      "version": "4.17.21"
    }
  ]
}'