// Getting Started
DOC
Introduction
What the Jaws Deploy REST API is for, and how the docs are organized.
DOC
Authentication
How service accounts authenticate against the REST API.
GET
/api/me
Return the service account the request authenticated as, and the organization it belongs to.
DOC
Errors and validation
How error responses are shaped and how to read them.
DOC
Workspace, projects, environments
How the core resource graph fits together when calling the API.
DOC
Package types and naming
Supported package formats and the filename convention.
// Releases
GET
/api/release
Page through a project's releases, newest first, with the notes and metadata of each one.
GET
/api/release/details
Read one release with the snapshot it will deploy - packages, steps, variables and lifecycle phases.
POST
/api/release
Snapshot package versions and the current deployment plan into a new release.
POST
/api/release/deploy
Run an existing release against one or more environments.
POST
/api/release/promote
Promote the latest (or a specific) version of a project to one or more environments.
// Deployments
GET
/api/deployment/list
Page through the deployments of a workspace, a project or a single release - and poll for what has changed.
GET
/api/deployment
Fetch live status and logs for a running or completed deployment.
GET
/api/deployment/targets
Find out which machines and cloud targets each step of a deployment matched, and which of them actually ran it.
POST
/api/deployment/cancel
Cancel a queued or running deployment.
// Package Store
POST
/api/packagestore/package
Push a build artifact into the workspace feed.
POST
/api/packagestore/package/negotiate
Request a pre-authorized direct-to-storage upload URL for a package.
POST
/api/packagestore/package/confirm
Promote a directly uploaded package into the workspace feed.
DELETE
/api/packagestore/package
Remove one version of a package from the workspace feed.
// Workspaces
// Projects
GET
/api/project
List the projects visible to the service account in a workspace.
POST
/api/project
Create a new project in a workspace.
POST
/api/project/clone
Clone an existing project into the same workspace.
PUT
/api/project
Update project name and description.
DELETE
/api/project
Soft-delete a project.
GET
/api/project/script-modules
See which script modules are imported into a project.
PUT
/api/project/script-modules
Set the full list of script modules imported by a project.
POST
/api/project/script-module
Import a single workspace script module into a project.
DELETE
/api/project/script-module
Remove a single script module assignment from a project.
GET
/api/project/steps
List the ordered deployment steps for a project.
// Project Channels
GET
/api/project/channels
List the channels (release tracks) defined on a project, including their version rules.
POST
/api/project/channel
Create a new channel for a project, optionally gating which release and package versions it accepts.
PUT
/api/project/channel
Update a channel's name, description, lifecycle binding, default flag, or version rules.
DELETE
/api/project/channel
Delete a project channel.
// Project Variables
GET
/api/project/workspace-variables
List workspace-level variables currently imported into a project.
PUT
/api/project/workspace-variables
Set the full list of workspace variables imported into a project.
POST
/api/project/workspace-variable
Import a single workspace variable into a project.
DELETE
/api/project/workspace-variable
Remove a workspace variable import from a project.
POST
/api/project/variable
Create a project-scoped variable.
PUT
/api/project/variable
Update a project variable's name, description, or type.
DELETE
/api/project/variable
Soft-delete a project variable and all of its values.
POST
/api/project/variable/value
Add a scoped value for a project variable.
PUT
/api/project/variable/value
Update a scoped value on a project variable.
// Project Steps
POST
/api/project/step
Append a new step to a project's deployment plan.
POST
/api/project/step/clone
Copy an existing step into the same or another project.
PUT
/api/project/step
Update step name, scope, run mode, parallelism, error handling, and properties.
DELETE
/api/project/step
Remove a step from a project.
PUT
/api/project/steps/order
Replace the order of a project's steps in one call.
// Rolling Groups
GET
/api/project/rolling-groups
List a project's rolling groups with their settings and member step ids.
POST
/api/project/rolling-group
Group a consecutive run of steps so one machine completes all of them before the next begins.
PUT
/api/project/rolling-group
Change a group's own settings. Membership is not changed here.
DELETE
/api/project/rolling-group
Dissolve a group while keeping its steps in the project.
PUT
/api/project/step/rolling-group
Move one step into a group, or out of the group it is in.
// Environments
GET
/api/environment
List the deployment environments in a workspace, and whether each one is accepting deployments.
POST
/api/environment
Create a new deployment environment in a workspace.
PUT
/api/environment
Rename an environment, restyle it, reorder it, or take it out of service.
DELETE
/api/environment
Soft-delete an environment.
// Machines
GET
/api/machine
List the machines in a workspace with the environments each one is assigned to.
GET
/api/machine/environments
Return the environments one machine is currently assigned to.
PUT
/api/machine/environments
Set the complete list of environments a machine is assigned to.
POST
/api/machine/environment
Add one environment to a machine, leaving its other assignments alone.
DELETE
/api/machine/environment
Remove one environment from a machine, leaving its other assignments alone.
PUT
/api/machine/tags
Set the complete list of tags a machine carries.
PUT
/api/machine/tenants
Set which tenants a machine serves.
POST
/api/machine/tag
Add one tag to a machine, leaving its other tags alone.
DELETE
/api/machine/tag
Remove one tag from a machine, leaving its other tags alone.
// Lifecycles
GET
/api/lifecycle
List the release lifecycles defined in a workspace.
GET
/api/lifecycle/details
Retrieve one lifecycle by ID.
POST
/api/lifecycle
Create a new release lifecycle.
PUT
/api/lifecycle
Update a lifecycle's name, description, or phase list.
DELETE
/api/lifecycle
Delete a lifecycle.
POST
/api/lifecycle/phase
Append a phase to a lifecycle.
PUT
/api/lifecycle/phase
Update name, requirements, or environments of a phase.
DELETE
/api/lifecycle/phase
Remove a phase from a lifecycle.
PUT
/api/lifecycle/phase/environment
Attach an environment to a phase or change its trigger mode.
DELETE
/api/lifecycle/phase/environment
Remove an environment from a phase.
// Feeds
// Cloud Accounts
// Step Templates
GET
/api/step-template
List the step templates in a workspace.
GET
/api/step-template/details
Retrieve one complete step template by ID or name.
POST
/api/step-template
Define a new reusable step template.
PUT
/api/step-template
Update a step template's name, script, properties, or run modes.
DELETE
/api/step-template
Soft-delete a step template.
// Script Modules
// Tags
// Workspace Variables
GET
/api/workspace-variable
List the variables defined at the workspace level.
POST
/api/workspace-variable
Create a new variable at the workspace level.
PUT
/api/workspace-variable
Update workspace variable metadata.
DELETE
/api/workspace-variable
Soft-delete a workspace variable.
POST
/api/workspace-variable/value
Add a scoped value to a workspace variable.
PUT
/api/workspace-variable/value
Update a scoped value on a workspace variable.
DELETE
/api/workspace-variable/value
Soft-delete a workspace variable value.
// Tenant Variables
GET
/api/project/tenant-variable-templates
List the variables a project asks each tenant to fill in.
POST
/api/project/tenant-variable-template
Add a variable a project asks each tenant to fill in.
PUT
/api/project/tenant-variable-template
Change a tenant variable's name, type, default or description.
DELETE
/api/project/tenant-variable-template
Delete a tenant variable from a project.
GET
/api/tenant/variables
Get the values a tenant gave a project's tenant variables, or its workspace tenant variables, and which required ones are missing.
PUT
/api/tenant/variables
Set or remove values of a project's tenant variables, or of the workspace tenant variables, for one tenant.
// Tenants
GET
/api/tenant
List the tenants in a workspace.
GET
/api/tenant/details
Retrieve one tenant by ID.
POST
/api/tenant
Add a new tenant to a workspace.
PUT
/api/tenant
Change a tenant's name, description or tags.
POST
/api/tenant/archive
Archive a tenant so it no longer counts towards the plan limit.
POST
/api/tenant/restore
Bring an archived tenant back.
DELETE
/api/tenant
Delete a tenant.
GET
/api/tenant/projects
List the projects a tenant is connected to, with the environments it can use for each.
POST
/api/tenant/project
Connect a tenant to a project and choose the environments it can be deployed to.
PUT
/api/tenant/project
Replace the environments a tenant can be deployed to for one connected project.
DELETE
/api/tenant/project
Disconnect a tenant from a project.
GET
/api/project/tenants
List the tenants connected to a project, with their environments and missing values.
POST
/api/project/tenants
Connect many tenants to a project at once - by ID, by tag, or both - with the same environments.
// Workspace Tenant Variables
GET
/api/workspace/tenant-variable-templates
List the tenant variables defined once for the workspace, and the projects that use each one.
POST
/api/workspace/tenant-variable-template
Add a tenant variable to the workspace, for projects to use.
PUT
/api/workspace/tenant-variable-template
Change a workspace tenant variable, for every project that uses it.
DELETE
/api/workspace/tenant-variable-template
Delete a workspace tenant variable that no project uses.
GET
/api/project/workspace-tenant-variables
List the workspace tenant variables a project uses.
POST
/api/project/workspace-tenant-variables
Make a project use workspace tenant variables, so its deployments get each tenant's shared value.
DELETE
/api/project/workspace-tenant-variable
The project stops getting a workspace tenant variable.