Releases (beta)

This feature is in beta

To use this feature, pass in a header including the LD-API-Version key with value set to beta. Use this header with each call. To learn more, read Beta resources.

Resources that are in beta are still undergoing testing and development. They may change without notice, including becoming backwards incompatible.

Release pipelines track the progression of a feature flag across a series of phases, where each phase consists of one or more environments. When you add a flag to a release pipeline, you create a "release" to track that flag's progress through the pipeline. To learn more, read Release pipelines.

With the releases API, you can view and update the active releases for a given flag.

With the related release pipelines API, you can view, create, and delete release pipelines.

Get release for flag

Get currently active release for a flag

Request
path Parameters
projectKey
required
string <string>

The project key

flagKey
required
string <string>

The flag key

Responses
200

Release response

404

Invalid resource identifier

get/api/v2/flags/{projectKey}/{flagKey}/release
Request samples
Response samples
application/json
{
  • "_links": {
    },
  • "name": "Example release pipeline",
  • "releasePipelineKey": "example-release-pipeline",
  • "releasePipelineDescription": "Our release pipeline for typical testing and deployment",
  • "phases": [
    ],
  • "_version": 1,
  • "_releaseVariationId": "string",
  • "_canceledAt": 0
}

Patch release for flag

This endpoint is only available for releases that are part of a legacy release pipeline. Releases for new release pipelines should use the Update phase status for release endpoint. To learn more about migrating from legacy release pipelines to fully automated release pipelines, read the Release pipeline migration guide.

Update currently active release for a flag. Updating releases requires the JSON patch format. To learn more, read Updates.

You can only use this endpoint to mark a release phase complete or incomplete. To indicate which phase to update, use the array index in the path. For example, to mark the first phase of a release as complete, use the following request body:

  [
    {
      "op": "replace",
      "path": "/phase/0/complete",
      "value": true
    }
  ]
Request
path Parameters
projectKey
required
string <string>

The project key

flagKey
required
string <string>

The flag key

Request Body schema: application/json
required
Array
op
required
string

The type of operation to perform

path
required
string

A JSON Pointer string specifying the part of the document to operate on

value
any

A JSON value used in "add", "replace", and "test" operations

Responses
200

Release response

400

Invalid request

401

Invalid access token

403

Forbidden

404

Invalid resource identifier

429

Rate limited

patch/api/v2/flags/{projectKey}/{flagKey}/release
Request samples
application/json
[
  • {
    }
]
Response samples
application/json
{
  • "_links": {
    },
  • "name": "Example release pipeline",
  • "releasePipelineKey": "example-release-pipeline",
  • "releasePipelineDescription": "Our release pipeline for typical testing and deployment",
  • "phases": [
    ],
  • "_version": 1,
  • "_releaseVariationId": "string",
  • "_canceledAt": 0
}

Delete a release for flag

Deletes a release from a flag

Request
path Parameters
projectKey
required
string <string>

The project key

flagKey
required
string <string>

The flag key

Responses
204

Action succeeded

403

Forbidden

404

Invalid resource identifier

delete/api/v2/flags/{projectKey}/{flagKey}/release
Request samples
Response samples
application/json
{
  • "code": "forbidden",
  • "message": "Forbidden. Access to the requested resource was denied."
}

Create a new release for flag

Creates a release by adding a flag to a release pipeline

Request
path Parameters
projectKey
required
string <string>

The project key

flagKey
required
string <string>

The flag key

Request Body schema: application/json
required
releaseVariationId
string

The variation id to release to across all phases

releasePipelineKey
required
string

The key of the release pipeline to attach the flag to

Responses
200

Release response

400

Invalid request

401

Invalid access token

404

Invalid resource identifier

429

Rate limit exceeded

put/api/v2/projects/{projectKey}/flags/{flagKey}/release
Request samples
application/json
{
  • "releaseVariationId": "string",
  • "releasePipelineKey": "string"
}
Response samples
application/json
{
  • "_links": {
    },
  • "name": "Example release pipeline",
  • "releasePipelineKey": "example-release-pipeline",
  • "releasePipelineDescription": "Our release pipeline for typical testing and deployment",
  • "phases": [
    ],
  • "_version": 1,
  • "_releaseVariationId": "string",
  • "_canceledAt": 0
}

Update phase status for release

Updates the execution status of a phase of a release

Request
path Parameters
projectKey
required
string <string>

The project key

flagKey
required
string <string>

The flag key

phaseId
required
string <string>

The phase ID

Request Body schema: application/json
required
status
string (PhaseStatus)
Array of objects (ReleaserAudienceConfigInput)

Extra configuration for audiences required upon phase initialization.

Responses
200

Action succeeded

400

Invalid request

401

Invalid access token

404

release or phase not found

429

Rate limit exceeded

put/api/v2/projects/{projectKey}/flags/{flagKey}/release/phases/{phaseId}
Request samples
application/json
{
  • "status": "string",
  • "audiences": [
    ]
}
Response samples
application/json
{
  • "_links": {
    },
  • "name": "Example release pipeline",
  • "releasePipelineKey": "example-release-pipeline",
  • "releasePipelineDescription": "Our release pipeline for typical testing and deployment",
  • "phases": [
    ],
  • "_version": 1,
  • "_releaseVariationId": "string",
  • "_canceledAt": 0
}