Feature flags

Update expiring context targets on feature flag

PATCH
/api/v2/flags/{projectKey}/{featureFlagKey}/expiring-targets/{environmentKey}

Schedule a context for removal from individual targeting on a feature flag. The flag must already individually target the context.

You can add, update, or remove a scheduled removal date. You can only schedule a context for removal on a single variation per flag.

Updating an expiring target 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.

Instructions

Semantic patch requests support the following kind instructions for updating expiring targets.

addExpiringTarget

Adds a date and time that LaunchDarkly will remove the context from the flag's individual targeting.

Parameters
  • value: The time, in Unix milliseconds, when LaunchDarkly should remove the context from individual targeting for this flag
  • variationId: ID of a variation on the flag
  • contextKey: The context key for the context to remove from individual targeting
  • contextKind: The kind of context represented by the contextKey

Here's an example:

{  "instructions": [{    "kind": "addExpiringTarget",    "value": 1754006460000,    "variationId": "4254742c-71ae-411f-a992-43b18a51afe0",    "contextKey": "user-key-123abc",    "contextKind": "user"  }]}

updateExpiringTarget

Updates the date and time that LaunchDarkly will remove the context from the flag's individual targeting

Parameters
  • value: The time, in Unix milliseconds, when LaunchDarkly should remove the context from individual targeting for this flag
  • variationId: ID of a variation on the flag
  • contextKey: The context key for the context to remove from individual targeting
  • contextKind: The kind of context represented by the contextKey
  • version: (Optional) The version of the expiring target to update. If included, update will fail if version doesn't match current version of the expiring target.

Here's an example:

{  "instructions": [{    "kind": "updateExpiringTarget",    "value": 1754006460000,    "variationId": "4254742c-71ae-411f-a992-43b18a51afe0",    "contextKey": "user-key-123abc",    "contextKind": "user"  }]}

removeExpiringTarget

Removes the scheduled removal of the context from the flag's individual targeting. The context will remain part of the flag's individual targeting until you explicitly remove it, or until you schedule another removal.

Parameters
  • variationId: ID of a variation on the flag
  • contextKey: The context key for the context to remove from individual targeting
  • contextKind: The kind of context represented by the contextKey

Here's an example:

{  "instructions": [{    "kind": "removeExpiringTarget",    "variationId": "4254742c-71ae-411f-a992-43b18a51afe0",    "contextKey": "user-key-123abc",    "contextKind": "user"  }]}

Authorization

ApiKey read, write
Authorization<token>

In: header

Scope: read, write

Path Parameters

projectKey*string

The project key

Formatstring
environmentKey*string

The environment key

Formatstring
featureFlagKey*string

The feature flag key

Formatstring

Request Body

application/json

comment?string

Optional comment describing the change

instructions*array<>

The instructions to perform when updating

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/v2/flags/string/string/expiring-targets/string" \  -H "Content-Type: application/json" \  -d '{    "instructions": [      {        "kind": "addExpireUserTargetDate",        "userKey": "sandy",        "value": 1686412800000,        "variationId": "ce12d345-a1b2-4fb5-a123-ab123d4d5f5d"      }    ]  }'
{  "items": [    {      "_id": "12ab3c45de678910abc12345",      "_version": 1,      "expirationDate": "1672358400000",      "contextKind": "user",      "contextKey": "context-key-123abc",      "targetType": "included",      "variationId": "cc4332e2-bd4d-4fe0-b509-dfd2caf8dd73",      "_resourceId": {        "environmentKey": "environment-key-123abc",        "flagKey": "string",        "key": "segment-key-123abc",        "kind": "segment",        "projectKey": "project-key-123abc"      }    }  ],  "_links": {    "property1": {      "href": "string",      "type": "string"    },    "property2": {      "href": "string",      "type": "string"    }  },  "totalInstructions": 0,  "successfulInstructions": 0,  "failedInstructions": 0,  "errors": [    {      "instructionIndex": 1,      "message": "example error message"    }  ]}