Skip to main content

Targeting Rules API

All endpoints require Authorization: Bearer <token>.

Base path: /api/projects/{project_id}/environments/{env_id}/flags/{flag_id}/rules

Create a rule

POST .../rules

Request

{
"rule_type": "email_domain",
"rule_value": "@yourcompany.com",
"priority": 10
}
FieldTypeRequiredDescription
rule_typestringYesuser_id, user_email, or email_domain
rule_valuestringYesValue to match against. For email_domain, include the @ prefix.
priorityintYesPositive integer. Higher = evaluated first.

Response 201 Created

{
"id": "rule_01abc...",
"flag_id": "flag_01abc...",
"rule_type": "email_domain",
"rule_value": "@yourcompany.com",
"priority": 10,
"enabled": true,
"created_at": "2026-05-22T10:00:00Z"
}

List rules

GET .../rules

Returns all rules for the flag, ordered by priority descending.

Response 200 OK — array of rule objects.


Get a rule

GET .../rules/{rule_id}

Response 200 OK — single rule object.


Update a rule

PUT .../rules/{rule_id}

Request

{
"rule_value": "@newdomain.com",
"priority": 20,
"enabled": false
}

Send only the fields to change. Setting enabled: false deactivates the rule without deleting it.

Response 200 OK — updated rule object.


Delete a rule

DELETE .../rules/{rule_id}

Response 204 No Content