Release policies (beta)
Create a release policy
Create a new release policy for the specified project.
Authorization
ApiKey read, writeAuthorization<token>
In: header
Scope: read, write
Path Parameters
projectKey*string
The project key
Header Parameters
LD-API-Version*"beta"
Version of the endpoint.
Value in
- "beta"
Request Body
application/json
Release policy to create
scope?
releaseMethod*ReleaseMethod
The release method for this policy
Value in
- "guarded-release"
- "immediate-release"
- "progressive-release"
guardedReleaseConfig?
Configuration for guarded releases
progressiveReleaseConfig?
Configuration for progressive releases
name*string
The name of the release policy
Length
length <= 256key*string
The human-readable key of the release policy
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/v2/projects/default/release-policies" \ -H "LD-API-Version: beta" \ -H "Content-Type: application/json" \ -d '{ "releaseMethod": "guarded-release", "scope": { "environmentKeys": [ "production", "staging" ], "flagTagKeys": [ "frontend", "backend" ], "viewKeys": [ "feature-a", "team-a" ] }, "progressiveReleaseConfig": { "rolloutContextKindKey": "user", "stages": [ { "allocation": 25000, "durationMillis": 60000 }, { "allocation": 25000, "durationMillis": 60000 } ] }, "name": "Production Release", "guardedReleaseConfig": { "metricKeys": [ "http-errors", "latency" ], "rolloutContextKindKey": "user", "metricGroupKeys": [ "frontend-metrics", "backend-metrics" ], "minSampleSize": 100, "stages": [ { "allocation": 25000, "durationMillis": 60000 }, { "allocation": 25000, "durationMillis": 60000 } ], "rollbackOnRegression": true }, "key": "production-release" }'{ "releaseMethod": "guarded-release", "_access": { "allowed": [ { "reason": { "role_name": "role_name", "notActions": [ null, null ], "notResources": [ "notResources", "notResources" ], "effect": "allow", "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "actions": [ "*" ] }, "action": "action" }, { "reason": { "role_name": "role_name", "notActions": [ null, null ], "notResources": [ "notResources", "notResources" ], "effect": "allow", "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "actions": [ "*" ] }, "action": "action" } ], "denied": [ { "reason": { "role_name": "role_name", "notActions": [ null, null ], "notResources": [ "notResources", "notResources" ], "effect": "allow", "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "actions": [ "*" ] }, "action": "action" }, { "reason": { "role_name": "role_name", "notActions": [ null, null ], "notResources": [ "notResources", "notResources" ], "effect": "allow", "resources": [ "proj/*:env/*;qa_*:/flag/*" ], "actions": [ "*" ] }, "action": "action" } ] }, "scope": { "environmentKeys": [ "production", "staging" ], "flagTagKeys": [ "frontend", "backend" ], "viewKeys": [ "feature-a", "team-a" ] }, "progressiveReleaseConfig": { "rolloutContextKindKey": "user", "stages": [ { "allocation": 25000, "durationMillis": 60000 }, { "allocation": 25000, "durationMillis": 60000 } ] }, "name": "Production Release", "rank": 1, "_id": "550e8400-e29b-41d4-a716-446655440000", "guardedReleaseConfig": { "metricKeys": [ "http-errors", "latency" ], "rolloutContextKindKey": "user", "metricGroupKeys": [ "frontend-metrics", "backend-metrics" ], "minSampleSize": 100, "stages": [ { "allocation": 25000, "durationMillis": 60000 }, { "allocation": 25000, "durationMillis": 60000 } ], "rollbackOnRegression": true }, "key": "production-release"}