p202 rotator rule-create

Add a routing rule to a redirector/rotator (criteria + redirect targets)

Writessupports --staged
All commands

01Run it

Replace the <placeholders> with your own values, or use the builder below.

p202 rotator rule-create <rotator_id> --rule-name <rule_name>

02What you get

Pick the shape you need. People get a table. Add --json, --csv or --ndjson for scripts, or -q for ids only. An AI agent gets compact JSON without asking. All output formats

03Build your command

Pick values and the command line writes itself, quoted and ready to paste.

p202 rotator rule-create

Set flags below; the command updates as you type.

04Flags

8 flags, plus the global flags every command takes.

FlagWhat it does
--countrystringSugar: ISO country code (e.g. US) -> a country is criterion; avoids hand-writing --criteria-json
--criteria-jsonstringCriteria JSON array, e.g. [{"type":"country","statement":"is","value":"United States(US)"}]
--idempotency-keystringRetry-safe create: the server records the response under this key and replays it on a retry with the same key and payload instead of creating a duplicate
--redirect-campaignstringSugar: redirect to this campaign id at full weight; avoids hand-writing --redirects-json
--redirects-jsonstringRedirects JSON array, e.g. [{"redirect_campaign":"90008","weight":"100","name":"A"}]
--rule-namestringrequiredRule name (required)
--splitteststringEnable split test: 0, 1
01
--statusstringRule status: 1 active (the default), 0 created paused: 0, 1
01

05For agents

Running this from an agent

  • Read the same facts as JSON: p202 commands rotator rule-create --json.
  • With AI_AGENT, CLAUDECODE or another agent variable set, output is compact JSON and errors arrive on stderr as a JSON envelope with a hint.
  • Exit codes: 0 ok, 1 bad input, 2 auth, 3 network, 4 server error, 5 partial failure.
  • This command writes. Add --staged to record it as a proposal a person applies with p202 change apply.
p202 commands rotator rule-create --json
{
  "path": "p202 rotator rule-create",
  "use": "rule-create <rotator_id>",
  "short": "Add a routing rule to a redirector/rotator (criteria + redirect targets)",
  "runnable": true,
  "flags": [
    {
      "name": "country",
      "type": "string",
      "default": "",
      "usage": "Sugar: ISO country code (e.g. US) -> a country `is` criterion; avoids hand-writing --criteria-json",
      "required": false
    },
    {
      "name": "criteria-json",
      "type": "string",
      "default": "",
      "usage": "Criteria JSON array, e.g. [{\"type\":\"country\",\"statement\":\"is\",\"value\":\"United States(US)\"}]",
      "required": false
    },
    {
      "name": "idempotency-key",
      "type": "string",
      "default": "",
      "usage": "Retry-safe create: the server records the response under this key and replays it on a retry with the same key and payload instead of creating a duplicate",
      "required": false
    },
    {
      "name": "redirect-campaign",
      "type": "string",
      "default": "",
      "usage": "Sugar: redirect to this campaign id at full weight; avoids hand-writing --redirects-json",
      "required": false
    },
    {
      "name": "redirects-json",
      "type": "string",
      "default": "",
      "usage": "Redirects JSON array, e.g. [{\"redirect_campaign\":\"90008\",\"weight\":\"100\",\"name\":\"A\"}]",
      "required": false
    },
    {
      "name": "rule-name",
      "type": "string",
      "default": "",
      "usage": "Rule name (required)",
      "required": true
    },
    {
      "name": "splittest",
      "type": "string",
      "default": "",
      "usage": "Enable split test: 0, 1",
      "allowed_values": [
        "0",
        "1"
      ],
      "required": false
    },
    {
      "name": "status",
      "type": "string",
      "default": "",
      "usage": "Rule status: 1 active (the default), 0 created paused: 0, 1",
      "allowed_values": [
        "0",
        "1"
      ],
      "required": false
    }
  ]
}