Deployments

post

Create a new deployment or start activity for existing deployment

🔒 Requires the create:deployment permission

Authorizations
Body
deploymentSlugstringRequired

The deployment slug for creating or targeting existing deployment

blueprintstringOptional

The blueprint/package name, e.g. @bluebricks/postgres

versionstringOptional

The package version e.g. 1.2.3

Example: 1.2.3
forcebooleanOptional

Force deployment without approval

validateOnlybooleanOptional

Validate deployment creation without execution

Default: false
planOnlybooleanOptional

Plan the deployment without executing

Default: false
driftDetectionbooleanOptional

Enable drift detection for the deployment

Default: false
envstringOptional

Target environment for deployment

Responses
200

Created deployment and task details or validation result

application/json
Responseone of

Created deployment and task details or validation result

or
post
/api/v1/deployment/create
POST /api/v1/deployment/create HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 191

{
  "deploymentSlug": "text",
  "blueprint": "text",
  "version": "1.2.3",
  "force": true,
  "validateOnly": false,
  "planOnly": false,
  "driftDetection": false,
  "env": "text",
  "props": {
    "password": "$postgres.prodPass"
  }
}
{
  "deployment": "text",
  "activity_id": "123e4567-e89b-12d3-a456-426614174000",
  "task": "123e4567-e89b-12d3-a456-426614174000"
}
get

Return deployment information

🔒 Requires the read:deployment permission

Authorizations
Path parameters
deploymentIdOrSlugstringRequired

The deployment's ID or slug e.g. f27d96be-c486-4075-a926-0ee96775119e or my-deployment

Query parameters
parse_typestring · enumOptional

The parsing type to fetch e.g. state

Default: planPossible values:
Responses
200

Deployment details

application/json
Responseone of

Deployment details

or
get
/api/v1/deployment/{deploymentIdOrSlug}
GET /api/v1/deployment/{deploymentIdOrSlug} HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "driftMetadata": {
    "unchanged": 1,
    "add": 1,
    "change": 1,
    "destroy": 1
  },
  "plannedMetadata": {
    "unchanged": 1,
    "add": 1,
    "change": 1,
    "destroy": 1
  },
  "outputMetadata": {
    "unchanged": 1,
    "add": 1,
    "change": 1,
    "destroy": 1
  },
  "costMetadata": {
    "totalFrom": 1,
    "totalTo": 1,
    "totalMargin": 1
  },
  "plannedResourcesMetadata": {
    "unchanged": 1,
    "add": 1,
    "change": 1,
    "destroy": 1
  },
  "stateMetadata": {
    "managed": 1,
    "unmanaged": 1
  },
  "deployment": "123e4567-e89b-12d3-a456-426614174000",
  "task": "123e4567-e89b-12d3-a456-426614174000",
  "parent": null,
  "name": "text",
  "version": "text",
  "type": "blueprint",
  "uniqueId": null,
  "stage": "pending",
  "is_archived": true,
  "created": "2025-11-11T15:09:38.560Z",
  "outdated_package": true,
  "timestamp": "2025-11-11T15:09:38.560Z",
  "errors": null,
  "plan_file_url": null,
  "state_file_url": null,
  "iac_type": "terraform",
  "parsed": {
    "type": "plan",
    "data": {
      "driftMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "plannedMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "outputMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "costMetadata": {
        "totalFrom": 1,
        "totalTo": 1,
        "totalMargin": 1
      },
      "plannedResourcesMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "outputs": {
        "ANY_ADDITIONAL_PROPERTY": "[Circular Reference]"
      },
      "resources": {
        "ANY_ADDITIONAL_PROPERTY": "[Circular Reference]"
      }
    }
  }
}
get

Return deployment properties

🔒 Requires the read:deployment permission

Authorizations
Path parameters
deploymentIdOrSlugstringRequired

The deployment's ID or slug e.g. f27d96be-c486-4075-a926-0ee96775119e or my-deployment

Responses
200

Deployment props

application/json
get
/api/v1/deployment/{deploymentIdOrSlug}/props
GET /api/v1/deployment/{deploymentIdOrSlug}/props HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "activity_id": "text",
  "slug": null,
  "updated": "text",
  "package": "text",
  "version": "text",
  "env": "text",
  "props": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}
get

Return deployment image

🔒 Requires the read:deployment permission

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Query parameters
formatstring · enumOptional

Image format

Default: pngPossible values:
Responses
200

Deployment image

image/png
Responsestring · binary

Deployment image, describing the deployment

get
/api/v1/deployment/{deploymentId}/image
GET /api/v1/deployment/{deploymentId}/image HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
binary
post

Approve deployment plan

🔒 Requires the update:deployment permission

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Responses
200

Deployment approval details

application/json
post
/api/v1/deployment/{deploymentId}/approve
POST /api/v1/deployment/{deploymentId}/approve HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "deployment": "123e4567-e89b-12d3-a456-426614174000",
  "parent": null,
  "type": "blueprint",
  "stage": "pending"
}
get

Get a deployment plan

🔒 Requires the read:deployment-plan permission

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Query parameters
formatstring · enumOptional

Plan format

Default: jsonPossible values:
Responses
200

Plan downloaded successfully

Responsestring · binary

Deployment plan file in JSON format

get
/api/v1/deployment/{deploymentId}/plan
GET /api/v1/deployment/{deploymentId}/plan HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
binary
post

Parse a deployment plan

🔒 Requires the read:deployment-plan permission

Authorizations
Body
plan_filestring · binaryRequired

A plan file

Example: plan_file=@path/to/tfplan.json
Responses
200

Plan generated successfully

application/json
post
/api/v1/deployment/plan
POST /api/v1/deployment/plan HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 46

{
  "plan_file": "plan_file=@path/to/tfplan.json"
}
{
  "name": "text",
  "deployment": "123e4567-e89b-12d3-a456-426614174000",
  "parsed": {
    "data": {
      "driftMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "plannedMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "outputMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "costMetadata": {
        "totalFrom": 1,
        "totalTo": 1,
        "totalMargin": 1
      },
      "plannedResourcesMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "outputs": {
        "ANY_ADDITIONAL_PROPERTY": {
          "type": "empty",
          "action": "unchanged",
          "state": null,
          "desired": null,
          "planned": null,
          "actual": null,
          "force_replace": true
        }
      },
      "resources": {
        "ANY_ADDITIONAL_PROPERTY": null
      }
    }
  }
}
get

Get a deployment state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Responses
200

State retrieved successfully

application/json
Responsestring · binary

Deployment state file in JSON format

get
/api/v1/deployment/{deploymentId}/state
GET /api/v1/deployment/{deploymentId}/state HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
binary
put

Set deployment alias

🔒 Requires the update:deployment permission

Authorizations
Path parameters
outputIdstring · uuidRequired

The deployment output's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Body
aliasstringRequired

The deployment output alias e.g. my_output

Example: my-my_output
Responses
200

Deployment alias updated successfully

application/json
put
/api/v1/deployment/outputs/{outputId}/set-alias
PUT /api/v1/deployment/outputs/{outputId}/set-alias HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "alias": "my-my_output"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "alias": "my-my_output"
}
get

Return list of deployment outputs for a deployment

🔒 Requires the read:deployment permission

Authorizations
Path parameters
deploymentSlugstringRequired

The deployment's slug e.g. my-deployment

Query parameters
sortstring · enumOptional

Specifies the attribute by which the returned list should be sorted ' + 'e.g. key

Default: updatedPossible values:
offsetnumberOptional

Results offset to allow pagination e.g. 10

Default: 0Example: 10
orderstringOptional

Specifies the order - ascending or descending - by which the returned list should be sorted e.g. ASC

limitnumber · min: 3 · max: 1000Optional

Results limit to allow pagination, e.g. 50

Default: 20Example: 10
filterstringOptional

Structure: [key1=value1,key2=value2&value3]

searchstringOptional

Enables searching within the list for deployment outputs key that match a particular query e.g. my_output

Responses
200

Paginated information of filtered deployment outputs

application/json
get
/api/v1/deployment/{deploymentSlug}/outputs
GET /api/v1/deployment/{deploymentSlug}/outputs HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "total": 1,
  "list": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "deployment_slug": "text",
      "package_id": "123e4567-e89b-12d3-a456-426614174000",
      "alias": null,
      "key": "bucket_name",
      "type": "string",
      "value": "my-bucket",
      "is_sensitive": true,
      "is_hidden": true,
      "is_destroyed": true,
      "created_at": "2025-11-11T15:09:38.560Z",
      "updated_at": null
    }
  ],
  "filters": {
    "deployment_slugs": [
      [
        "deployment-slug-1",
        "deployment-slug-2"
      ]
    ]
  },
  "metadata": {
    "packages": [
      [
        "package-id-1",
        "package-id-2"
      ]
    ]
  }
}
get

Return deployment manifest

🔒 Requires the read:deployment permission

Authorizations
Path parameters
deploymentIdOrSlugstringRequired

The deployment's ID or slug e.g. f27d96be-c486-4075-a926-0ee96775119e or my-deployment

Responses
200

Deployment manifest in YAML format

application/yaml
Responsestring

YAML manifest for the deployment

get
/api/v1/deployment/{deploymentIdOrSlug}/manifest
GET /api/v1/deployment/{deploymentIdOrSlug}/manifest HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
text
get

Return deployments information by environment

🔒 Requires the read:deployment permission

Authorizations
Query parameters
environmentIdstring · uuidOptional

The environment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Example: f27d96be-c486-4075-a926-0ee96775119e
querystringOptional
sortstring · enumOptional

Specifies the attribute by which the returned list should be sorted ' + 'e.g. name

Default: timestampPossible values:
typestring · enumOptional

Specifies the type of deployments list to be returned, either activities or deployments

Default: activitiesPossible values:
offsetnumberOptional

Results offset to allow pagination e.g. 10

Default: 0Example: 10
orderstringOptional

Specifies the order - ascending or descending - by which the returned list should be sorted e.g. ASC

limitnumber · min: 3 · max: 1000Optional

Results limit to allow pagination, e.g. 50

Default: 20Example: 10
filterstringOptional

Structure: [key1=value1,key2=value2&value3]

expandbooleanOptional

If true, return detailed graph information. If false, return basic information

latestbooleanOptional

If true, return unique latest deployments only

searchstringOptional

Enables searching within the list for deployment names that match a particular query e.g. my_app

archivedbooleanOptional

Also includes archived props

Responses
200

Paginated information of filtered deployments for an environment

application/json
get
/api/v1/deployments
GET /api/v1/deployments HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "total": 1,
  "stats": {
    "live": 1,
    "drafts": 1
  },
  "list": [
    {
      "driftMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "plannedMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "outputMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "costMetadata": {
        "totalFrom": 1,
        "totalTo": 1,
        "totalMargin": 1
      },
      "plannedResourcesMetadata": {
        "unchanged": 1,
        "add": 1,
        "change": 1,
        "destroy": 1
      },
      "stateMetadata": {
        "managed": 1,
        "unmanaged": 1
      },
      "deployment": "123e4567-e89b-12d3-a456-426614174000",
      "task": "123e4567-e89b-12d3-a456-426614174000",
      "parent": null,
      "name": "text",
      "version": "text",
      "type": "blueprint",
      "uniqueId": null,
      "stage": "pending",
      "is_archived": true,
      "created": "2025-11-11T15:09:38.560Z",
      "outdated_package": true,
      "timestamp": "2025-11-11T15:09:38.560Z",
      "errors": null,
      "user": {
        "id": "prov0|1234567890",
        "name": "John Doe",
        "nickname": "JD",
        "picture": "https://example.com/profile.jpg"
      },
      "reviewed_by": {
        "id": "prov0|1234567890",
        "name": "John Doe",
        "nickname": "JD",
        "picture": "https://example.com/profile.jpg",
        "action": "approve",
        "timestamp": "2025-11-11T15:09:38.560Z"
      },
      "slug": null,
      "origin_state_location": null,
      "environment": {
        "id": "f27d96be-c486-4075-a926-0ee96775119e",
        "slug": "production-europe",
        "name": "Production Europe",
        "color": "#0000ff",
        "allow_pre_release": false,
        "is_default": true,
        "is_active": true,
        "is_deleted": true,
        "created": "2025-11-11T15:09:38.560Z",
        "users": [
          {
            "id": "prov0|1234567890",
            "name": "John Doe",
            "email": "[email protected]",
            "nickname": "JD",
            "picture": "https://example.com/profile.jpg",
            "roles": [
              {
                "id": "rol_abCdeFghIjklMnmP",
                "name": "Admin",
                "description": "Role for managing Admin permissions"
              }
            ]
          }
        ],
        "cloud_account": {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "name": "Production Europe",
          "provider": "aws",
          "slug": "production-europe",
          "is_active": true,
          "is_deleted": false,
          "created": "2025-11-11T15:09:38.560Z",
          "cloud_account": "123456789012",
          "assume_role_arn": "arn:aws:iam::123456789012:role/Bluebricks-Setup-BluebricksReadOnlyRole-123abc456DEF",
          "external_id": "abcdef-ghijklm",
          "cloud_config": {
            "service_account_email": "sa@project_id.iam.gserviceaccount.com",
            "scopes": "https://www.googleapis.com/auth/cloud-platform",
            "cluster_name": "text",
            "service_account_namespace": "text",
            "service_account_name": "text",
            "cluster_oidc_url": "https://example.com",
            "ANY_ADDITIONAL_PROPERTY": "anything"
          },
          "is_primary": true,
          "profile": "secrets-manager"
        }
      },
      "is_latest": true,
      "is_uninstall": true,
      "is_plan_only": true,
      "drift_detection": true,
      "children": [
        {
          "driftMetadata": {
            "unchanged": 1,
            "add": 1,
            "change": 1,
            "destroy": 1
          },
          "plannedMetadata": {
            "unchanged": 1,
            "add": 1,
            "change": 1,
            "destroy": 1
          },
          "outputMetadata": {
            "unchanged": 1,
            "add": 1,
            "change": 1,
            "destroy": 1
          },
          "costMetadata": {
            "totalFrom": 1,
            "totalTo": 1,
            "totalMargin": 1
          },
          "plannedResourcesMetadata": {
            "unchanged": 1,
            "add": 1,
            "change": 1,
            "destroy": 1
          },
          "stateMetadata": {
            "managed": 1,
            "unmanaged": 1
          },
          "deployment": "123e4567-e89b-12d3-a456-426614174000",
          "task": "123e4567-e89b-12d3-a456-426614174000",
          "parent": null,
          "name": "text",
          "version": "text",
          "type": "blueprint",
          "uniqueId": null,
          "stage": "pending",
          "is_archived": true,
          "created": "2025-11-11T15:09:38.560Z",
          "outdated_package": true,
          "timestamp": "2025-11-11T15:09:38.560Z",
          "errors": null,
          "plan_file_url": null,
          "state_file_url": null,
          "iac_type": "terraform",
          "parsed": "[Circular Reference]"
        }
      ]
    }
  ]
}
get

Return deployments filters

🔒 Requires the read:deployment permission

Authorizations
Query parameters
typestring · enumOptional

Will return a specific list with type of available filters if provided, otherwise returns all results

Possible values:
archivedbooleanOptional

If true, shows only archived deployments. if false, shows only non-archived deployments

Default: false
Responses
200

Deployments filters

application/json
get
/api/v1/deployments/filters
GET /api/v1/deployments/filters HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "deployments_filters": {
    "slugs": [
      "slug1",
      "slug2"
    ],
    "stages": [
      "plan_approved",
      "completed"
    ],
    "blueprints": [
      "blueprint1",
      "blueprint2"
    ],
    "environments": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "name",
        "slug": "slug",
        "color": "color"
      }
    ],
    "users": [
      {
        "id": "prov0|1234567890",
        "name": "John Doe",
        "nickname": "JD",
        "picture": "https://example.com/profile.jpg"
      }
    ],
    "types": [
      "is_plan_only"
    ],
    "iac_types": [
      "terraform"
    ]
  }
}
get

Return list of deployment outputs

🔒 Requires the read:deployment permission

Authorizations
Query parameters
sortstring · enumOptional

Specifies the attribute by which the returned list should be sorted ' + 'e.g. key

Default: updatedPossible values:
offsetnumberOptional

Results offset to allow pagination e.g. 10

Default: 0Example: 10
orderstringOptional

Specifies the order - ascending or descending - by which the returned list should be sorted e.g. ASC

limitnumber · min: 3 · max: 1000Optional

Results limit to allow pagination, e.g. 50

Default: 20Example: 10
filterstringOptional

Structure: [key1=value1,key2=value2&value3]

searchstringOptional

Enables searching within the list for deployment outputs key that match a particular query e.g. my_output

Responses
200

Paginated information of filtered deployment outputs

application/json
get
/api/v1/deployments/outputs
GET /api/v1/deployments/outputs HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "total": 1,
  "list": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "deployment_slug": "text",
      "package_id": "123e4567-e89b-12d3-a456-426614174000",
      "alias": null,
      "key": "bucket_name",
      "type": "string",
      "value": "my-bucket",
      "is_sensitive": true,
      "is_hidden": true,
      "is_destroyed": true,
      "created_at": "2025-11-11T15:09:38.560Z",
      "updated_at": null
    }
  ],
  "filters": {
    "deployment_slugs": [
      [
        "deployment-slug-1",
        "deployment-slug-2"
      ]
    ]
  },
  "metadata": {
    "packages": [
      [
        "package-id-1",
        "package-id-2"
      ]
    ]
  }
}
post

Get deployments plans

🔒 Requires the read:deployment permission

Authorizations
Body
deploymentsstring · uuid[]Required

List of deployment IDs, e.g. ["123e4567-e89b-12d3-a456-426614174000", "456e4567-e89b-12d3-a456-426614174000"]

Example: ["123e4567-e89b-12d3-a456-426614174000","456e4567-e89b-12d3-a456-426614174000"]
Responses
200

Plans downloaded successfully

text/markdown
Responsestring · binary

Deployments plans file in Markdown format

post
/api/v1/deployments/plans
POST /api/v1/deployments/plans HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 95

{
  "deployments": [
    "123e4567-e89b-12d3-a456-426614174000",
    "456e4567-e89b-12d3-a456-426614174000"
  ]
}
binary
get

Get deployment logs

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Responses
200

Deployment logs retrieved successfully.

application/json
get
/api/v1/deployments/{deploymentId}/logs
GET /api/v1/deployments/{deploymentId}/logs HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Accept: */*
{
  "deployments_logs": {
    "25cd0bd6-d09b-4924-abfb-41768d111fe7": {
      "name": "my-package",
      "version": "1.0.0",
      "stage": "completed",
      "type": "artifact",
      "parent": "25cd0bd6-d09b-4924-abfb-41768d111fe8",
      "uniqueId": "unique-id",
      "created_at": "2024-01-01T00:00:00Z",
      "logs": "Deployment logs content"
    }
  }
}
post

Append deployment logs

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Body
logsstringRequired

Deployment logs

Responses
200

Logs stored successfully.

application/json
post
/api/v1/deployments/{deploymentId}/logs
POST /api/v1/deployments/{deploymentId}/logs HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "logs": "text"
}
{
  "message": "Logs stored successfully."
}
post

Approve multiple deployments

🔒 Requires the update:deployment permission

Authorizations
Bodystring · uuid[]
string · uuid[]Optional

List of deployment IDs, e.g. ["123e4567-e89b-12d3-a456-426614174000", "456e4567-e89b-12d3-a456-426614174000"]

Example: ["123e4567-e89b-12d3-a456-426614174000","456e4567-e89b-12d3-a456-426614174000"]
Responses
200

Deployment approval details

application/json
post
/api/v1/deployments/approve
POST /api/v1/deployments/approve HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 79

[
  "123e4567-e89b-12d3-a456-426614174000",
  "456e4567-e89b-12d3-a456-426614174000"
]
[
  {
    "deployment": "123e4567-e89b-12d3-a456-426614174000",
    "parent": null,
    "type": "blueprint",
    "stage": "pending"
  }
]
post

Cancel multiple deployments

🔒 Requires the update:deployment permission

Authorizations
Bodystring · uuid[]
string · uuid[]Optional

List of deployment IDs, e.g. ["123e4567-e89b-12d3-a456-426614174000", "456e4567-e89b-12d3-a456-426614174000"]

Example: ["123e4567-e89b-12d3-a456-426614174000","456e4567-e89b-12d3-a456-426614174000"]
Responses
200

Deployment canceled successfully

application/json
post
/api/v1/deployments/cancel
POST /api/v1/deployments/cancel HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 79

[
  "123e4567-e89b-12d3-a456-426614174000",
  "456e4567-e89b-12d3-a456-426614174000"
]
[
  {
    "deployment": "123e4567-e89b-12d3-a456-426614174000",
    "parent": null,
    "type": "blueprint",
    "stage": "canceled"
  }
]
post

Archive multiple deployments

🔒 Requires the update:deployment permission

Authorizations
Bodystring[]
string[]Optional

List of deployment slugs, e.g. ["test-deployment", "my-deployment"]

Example: ["test-deployment","my-deployment"]
Responses
200

Deployment archived / unarchived successfully

application/json
post
/api/v1/deployments/archive
POST /api/v1/deployments/archive HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35

[
  "test-deployment",
  "my-deployment"
]
[
  {
    "deployment": "text",
    "archived": true
  }
]
post

Unarchive multiple deployments

🔒 Requires the update:deployment permission

Authorizations
Bodystring[]
string[]Optional

List of deployment slugs, e.g. ["test-deployment", "my-deployment"]

Example: ["test-deployment","my-deployment"]
Responses
200

Deployment archived / unarchived successfully

application/json
post
/api/v1/deployments/unarchive
POST /api/v1/deployments/unarchive HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 35

[
  "test-deployment",
  "my-deployment"
]
[
  {
    "deployment": "text",
    "archived": true
  }
]
post

Upload deployment related files (one at a time) to cloud storage

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Body
plan_filestring · binaryOptional

A plan file

Example: plan_file=@path/to.tfplan
state_filestring · binaryOptional

A state file

Example: state_file=@path/to.tfstate
Responses
200

Uploaded files URLs

application/json
post
/api/v1/deployments/{deploymentId}/files
POST /api/v1/deployments/{deploymentId}/files HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: multipart/form-data
Accept: */*
Content-Length: 84

{
  "plan_file": "plan_file=@path/to.tfplan",
  "state_file": "state_file=@path/to.tfstate"
}
{
  "planUrl": "s3://bucket/path/to/plan_file",
  "stateUrl": "s3://bucket/path/to/state_file"
}
post

Get statuses for the requested Deployment IDs

🔒 Requires the read:deployment permission

Authorizations
Body
deploymentsstring · uuid[]Required

List of deployment IDs, e.g. ["123e4567-e89b-12d3-a456-426614174000", "456e4567-e89b-12d3-a456-426614174000"]

Example: ["123e4567-e89b-12d3-a456-426614174000","456e4567-e89b-12d3-a456-426614174000"]
Responses
200

Deployments status

application/json
post
/api/v1/deployments/status
POST /api/v1/deployments/status HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 95

{
  "deployments": [
    "123e4567-e89b-12d3-a456-426614174000",
    "456e4567-e89b-12d3-a456-426614174000"
  ]
}
[
  {
    "deployment": "123e4567-e89b-12d3-a456-426614174000",
    "type": "blueprint",
    "name": "text",
    "version": "text",
    "stage": "pending",
    "errors": null,
    "created": "2025-11-11T15:09:38.560Z",
    "updated": null,
    "completed": null,
    "statusTimestamps": {
      "pending": "2025-11-11T15:09:38.560Z",
      "planning": "2025-11-11T15:09:38.560Z",
      "no_change": "2025-11-11T15:09:38.560Z",
      "planned": "2025-11-11T15:09:38.560Z",
      "plan_approved": "2025-11-11T15:09:38.560Z",
      "installing": "2025-11-11T15:09:38.560Z",
      "completed": "2025-11-11T15:09:38.560Z",
      "canceled": "2025-11-11T15:09:38.560Z",
      "error": "2025-11-11T15:09:38.560Z"
    }
  }
]
post

Update deployment stage and files

Authorizations
Path parameters
deploymentIdstring · uuidRequired

The deployment's ID e.g. f27d96be-c486-4075-a926-0ee96775119e

Body
one ofOptional
or
or
or
or
or
Responses
200

Updated deployment details

application/json
post
/api/v1/deployments/{deploymentId}
POST /api/v1/deployments/{deploymentId} HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "action": "planning",
  "payload": {}
}
{
  "guid": "123e4567-e89b-12d3-a456-426614174000",
  "parent": null,
  "taskId": "123e4567-e89b-12d3-a456-426614174000",
  "depend": null,
  "stage": "pending",
  "type": "blueprint",
  "plan_file": null,
  "state_file": null,
  "origin_state_location": null,
  "slug": null,
  "package": {
    "qualified_name": "text",
    "url": null,
    "version": "text",
    "uniqueId": "text"
  }
}
get

Return deployment remote state config

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired

The deployment's ID or slug e.g. f27d96be-c486-4075-a926-0ee96775119e or my-deployment

packageUniqueIdstringRequired

Unique package ID

Example: package-id-1
Responses
200

Deployment remote state config

application/json
get
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/config
GET /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/config HTTP/1.1
Host: api.bluebricks.co
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "terraform_backend_config": {
    "terraform": {
      "backend": {
        "http": {
          "address": "https://api.bluebricks.co/api/v1/deployments/<deployment_id>/<package_unique_id>/state",
          "lock_address": "https://api.bluebricks.co/api/v1/deployments/<deployment_id>/<package_unique_id>/state/lock",
          "unlock_address": "https://api.bluebricks.co/api/v1/deployments/<deployment_id>/<package_unique_id>/state/lock",
          "username": "25cd0bd6-d09b-4924-abfb-41768d111fe7",
          "password": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30"
        }
      }
    },
    "variables": null
  }
}
get

Return deployment remote state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired
packageUniqueIdstringRequired
Query parameters
iac_typestring · enumOptional

IaC type of the remote state

Default: terraformPossible values:
Responses
200

Deployment remote state

application/json
get
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state
GET /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
post

Set deployment remote state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired
packageUniqueIdstringRequired
Query parameters
IDstringOptional

Lock ID

iac_typestring · enumOptional

IaC type of the remote state

Default: terraformPossible values:
Body

Remote state

Other propertiesanyOptional
Responses
200

Deployment remote state set successfully

application/json
Responseany

Deployment remote state set successfully

post
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state
POST /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

No content

delete

Delete deployment remote state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired
packageUniqueIdstringRequired
Query parameters
IDstringOptional

Lock ID

iac_typestring · enumOptional

IaC type of the remote state

Default: terraformPossible values:
Responses
200

Deployment remote state deleted successfully

application/json
Responseany

Deployment remote state deleted successfully

delete
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state
DELETE /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/state HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Accept: */*

No content

lock

Lock deployment remote state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired
packageUniqueIdstringRequired
Query parameters
iac_typestring · enumOptional

IaC type of the remote state

Default: terraformPossible values:
Body

Remote state lock details

Other propertiesanyOptional
Responses
200

Deployment remote state locked successfully

application/json
lock
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/lock
LOCK /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/lock HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
unlock

Unlock deployment remote state

🔒 Requires the update:deployment permission

Authorizations
Path parameters
originDeploymentIdstringRequired
packageUniqueIdstringRequired
Query parameters
iac_typestring · enumOptional

IaC type of the remote state

Default: terraformPossible values:
Body

Remote state lock details

Other propertiesanyOptional
Responses
200

Deployment remote state unlocked successfully

application/json
Responseany

Deployment remote state unlocked successfully

unlock
/api/v1/deployments/{originDeploymentId}/{packageUniqueId}/lock
UNLOCK /api/v1/deployments/{originDeploymentId}/{packageUniqueId}/lock HTTP/1.1
Host: api.bluebricks.co
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

No content

Last updated

Was this helpful?