Replace a value rule set
THIS IS A FULL REPLACE, NOT A PATCH. Meta's update is declarative: the body you send becomes the rule set.
GET /v1/ads/value-rule-sets/{valueRuleSetId}FIRST.- Keep a rule or criterion by echoing its
id. - Create one by including the object WITHOUT an
id. - Delete one by OMITTING it from the array. There is no warning and no undo.
name and rules are both required for exactly this reason: a partial body would
silently destroy every rule left out.
Rule order is semantic: the array order you send is the evaluation order, and only the first matching rule adjusts the bid for an overlapping audience.
Existing rule sets created elsewhere may contain LOCATION_DMA criteria. Those went
inert on 2026-06-22 and are rejected here; migrate them to LOCATION_COMSCORE_MARKET.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Platform value rule set id.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
{ "valueRuleSetId": "string", "name": "string", "rules": [ { "id": "string", "name": "string", "adjustSign": "INCREASE", "adjustValue": 1, "status": "string", "criteria": [ { "id": "string", "criteriaType": "AGE", "operator": "CONTAINS", "criteriaValues": [ "string" ], "criteriaValueTypes": [ "string" ] } ] } ], "message": "string"}Read a value rule set
Reads one value rule set including every nested rule id and criterion id. This is step one of any edit: `PUT` is a full replace, so you need the ids before you can keep the objects you are not changing. Meta's own read returns `GENDER` values lowercase (`"male"`) while writes require `"MALE"`. Values are passed through untouched, so never case-compare a stored rule against a fetched one.
Delete a value rule set
Deletes the rule set (Meta's `POST /{value-rule-set-id}/delete_rule_set`, a custom action edge rather than an HTTP DELETE on its side). Ad sets pointing at it are not modified here; detach them first with `valueRulesApplied: false` on `PUT /v1/ads/ad-sets/{adSetId}`.