Layers

Create layer

POST
/api/v2/projects/{projectKey}/layers

Create a layer. Experiments running in the same layer are granted mutually-exclusive traffic.

Authorization

ApiKey read, write
Authorization<token>

In: header

Scope: read, write

Path Parameters

projectKey*string

The project key

Formatstring

Request Body

application/json

key*string

Unique identifier for the layer

name*string

Layer name

description*string

The checkout flow for the application

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v2/projects/string/layers" \  -H "Content-Type: application/json" \  -d '{    "key": "checkout-flow",    "name": "Checkout Flow",    "description": "string"  }'
{  "key": "checkout-flow",  "name": "Checkout Flow",  "description": "The checkout flow for the application",  "createdAt": 0,  "randomizationUnit": "user",  "environments": {    "property1": {      "reservations": [        {          "experimentKey": "checkout-flow-experiment",          "flagKey": "checkout-flow-flag",          "reservationPercent": 20        }      ]    },    "property2": {      "reservations": [        {          "experimentKey": "checkout-flow-experiment",          "flagKey": "checkout-flow-flag",          "reservationPercent": 20        }      ]    }  }}

Get layers GET

Get a collection of all layers for a project

Update layer PATCH

Update a layer by adding, changing, or removing traffic reservations for experiments, or by changing layer name or description. Updating a layer uses the semantic patch format. To make a semantic patch request, you must append `domain-model=launchdarkly.semanticpatch` to your `Content-Type` header. To learn more, read [Updates using semantic patch](https://launchdarkly.com/docs/api#updates-using-semantic-patch). ### Instructions Semantic patch requests support the following `kind` instructions for updating layers. <details> <summary>Click to expand instructions for <strong>updating layers</strong></summary> #### updateName Updates the layer name. ##### Parameters - `name`: The new layer name. Here's an example: ```json { "instructions": [{ "kind": "updateName", "name": "New name" }] } ``` #### updateDescription Updates the layer description. ##### Parameters - `description`: The new description. Here's an example: ```json { "instructions": [{ "kind": "updateDescription", "description": "New description" }] } ``` #### updateExperimentReservation Adds or updates a traffic reservation for an experiment in a layer. ##### Parameters - `experimentKey`: The key of the experiment whose reservation you are adding to or updating in the layer. - `reservationPercent`: The amount of traffic in the layer to reserve. Must be an integer. Zero is allowed until iteration start. Here's an example: ```json { "environmentKey": "production", "instructions": [{ "kind": "updateExperimentReservation", "experimentKey": "exp-key", "reservationPercent": 10 }] } ``` #### removeExperiment Removes a traffic reservation for an experiment from a layer. ##### Parameters - `experimentKey`: The key of the experiment whose reservation you want to remove from the layer. Here's an example: ```json { "environmentKey": "production", "instructions": [{ "kind": "removeExperiment", "experimentKey": "exp-key" }] } ``` </details>