List value rule sets
Lists the ad account's value rule sets (Meta's /act_X/value_rule_set). A value rule
set adjusts the auction bid up or down for audience segments you value differently;
attach one to an ad set with valueRuleSetId on POST /v1/ads/create or
PUT /v1/ads/ad-sets/{adSetId}.
Rows are returned in the same camelCase shape the PUT body takes, ids included, so a
set round-trips 1:1: the update is a full replace, not a patch, so you GET, mutate
and send the whole thing back.
Limits: 6 rule sets per ad account, 10 rules per set, 4 criteria per rule.
Rule order is semantic. Rules are evaluated in array order and only the FIRST matching rule adjusts the bid for an overlapping audience. The order you send is the order that is stored and returned.
Eligibility: value rule sets apply only to ad sets on the LOWEST_COST_WITHOUT_CAP
(auto-bid) or COST_CAP bid strategies. Meta rejects the rest server-side.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Query Parameters
Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
Meta ad account id (act_).
Rows per page
1 <= value <= 10025Cursor from paging.after of the previous page. Meta does not document paging on this edge; after comes back null when it omits cursors.
Response Body
application/json
application/json
application/json
application/json
{ "adAccountId": "string", "data": [ { "id": "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" ] } ] } ] } ], "paging": { "after": "string" }}Create custom conversion
Provision the Meta custom conversion an ads flow optimises toward, and hand back the `customConversionId` for `promotedObject.customConversionId` on POST /v1/ads/create. Removes the manual "create it in Ads Manager first" step. **Reuse is ours, not Meta's.** Meta's create is not idempotent, so a retried request would otherwise mint a duplicate carrying none of the original's optimisation history. A non-archived conversion with the same `name` on the same `pixelId` is returned instead of created, with `reused: true` and a 200 rather than a 201. `rule` is forwarded verbatim in Meta's own grammar (e.g. `{"url": {"i_contains": "thank-you"}}`); Meta validates it and rejects a malformed one with "A conversion rule is required at creation time".
Create a value rule set
Creates a value rule set on the ad account (Meta's `POST /act_X/value_rule_set`). Attach the returned id to an ad set with `valueRuleSetId` on `POST /v1/ads/create` or `PUT /v1/ads/ad-sets/{adSetId}`. **Rule order is semantic**: rules are evaluated in array order and only the first matching rule adjusts the bid for an overlapping audience. `adjustValue` is an unsigned magnitude in percent; the direction lives in `adjustSign`. `INCREASE` accepts 1-1000, `DECREASE` accepts 1-90. There is no signed field and 0 is out of range. `criteriaValueTypes` is positionally paired with `criteriaValues` (same length, same order). Every type is the literal `"NONE"` except on `LOCATION`, which uses `LOCATION_COUNTRY` / `LOCATION_REGION` / `LOCATION_CITY` / `LOCATION_COMSCORE_MARKET` and may mix them within one criterion. Location values are Targeting-Search keys: a two-letter country code for `LOCATION_COUNTRY`, a numeric key for the rest. `LOCATION_DMA` was replaced by `LOCATION_COMSCORE_MARKET` on 2026-06-22 and rules using DMAs are no longer active, so this API rejects it. `AUDIENCE_LABEL` values (e.g. `HIGH_VALUE`) are applied to a Custom Audience in Ads Manager. There is no API to provision them, so label strings are passed through unvalidated and a typo produces a rule that never fires. Ads Manager turns a rule set read-only (this API stays editable) when a rule uses more than 2 criteria, a custom age range, or the placements `FB_MARKETPLACE`, `FB_SEARCH`, `FB_VIDEO` or `IG_EXPLORE`. Limits: 6 rule sets per ad account, 10 rules per set, 4 criteria per rule. The per-account cap is enforced by Meta, not here.