Required permission
Account > GradualRollouts > General > Create
Request body
- {object}Gradual rollout strategy specification
name
stringDisplay name for the gradual rollout strategytype
string requiredType of the gradual rollout strategyone ofcanaryoptions
{object}triggers
{object}Conditions under which a new release will automatically initiate as a gradual rolloutreleaseFromTemplate
boolean | nullAutomatically trigger the rollout strategy when a release is initiated from a templatereleaseFromReleaseFlow
boolean | nullAutomatically trigger the rollout strategy when a release is initiated from a release flowreleaseFromCD
boolean | nullAutomatically trigger the rollout strategy when a release is initiated from a CD pipelinereleaseFromUI
boolean | nullAutomatically trigger the rollout strategy when a release is initiated from the UIreleaseFromApi
boolean | nullAutomatically trigger the rollout strategy when a release is initiated via the APIblockDeploymentOnActiveRollout
boolean | nullWhen enabled, new deployments are blocked while a rollout is in progressdetails
(multiple options: oneOf) requiredStrategy-specific configuration details- {object}Strategy-specific configuration details
canaryStrategy
string requiredStrategy used to split traffic between stable and canary deploymentsone ofpercentage, headerconfig
(multiple options: oneOf) requiredConfiguration for the selected canary strategy- {object}Configuration for the selected canary strategy
canaryPercentage
integer requiredPercentage of traffic to route to the canary deploymentmin0max100stablePercentage
integer requiredPercentage of traffic to route to the stable deploymentmin0max100- {object}Configuration for the selected canary strategy
headerName
string requiredHTTP header name used to identify requests that should be routed to the canary deploymentmin length1headerValue
string requiredHTTP header value that routes matching requests to the canary deploymentmin length1
OR
Response body
- {object}Response object.
data
{object} requiredResult data.id
string requiredIdentifier for the gradual rollout strategyname
string requiredName of the gradual rollout strategytype
string requiredType of the gradual rollout strategyone ofcanaryoptions
{object}triggers
{object}releaseFromTemplate
boolean | nullreleaseFromReleaseFlow
boolean | nullreleaseFromCD
boolean | nullreleaseFromUI
boolean | nullreleaseFromApi
boolean | nullblockDeploymentOnActiveRollout
boolean | nulldetails
{object} requiredcanaryStrategy
string requiredone ofpercentage, headerconfig
(multiple options: oneOf)- {object}
canaryPercentage
integer requiredmin0max100stablePercentage
integer requiredmin0max100- {object}
headerName
string requiredmin length1headerValue
string requiredmin length1
OR
PUT /v1/gradual-rollout-strategies
PUT /v1/teams/{teamId}/gradual-rollout-strategies
Example request
curl --header "Content-Type: application/json" \
--header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
--request PUT \
--data '{"name":"my-canary-rollout","type":"canary","options":{"triggers":{"releaseFromTemplate":true,"releaseFromReleaseFlow":true,"releaseFromCD":true,"releaseFromUI":true,"releaseFromApi":true},"blockDeploymentOnActiveRollout":true},"details":{"canaryStrategy":"percentage","config":{"canaryPercentage":20,"stablePercentage":80}}}' \
https://api.northflank.com/v1/gradual-rollout-strategiesExample response
200 OK
JSON
{
"data": {
"id": "example-identifier",
"name": "example-name",
"type": "canary"
}
}