---
title: "POST /campaigns/{campaign_id}/rules"
method: POST
path: "/campaigns/{campaign_id}/rules"
---

# POST /campaigns/{campaign_id}/rules

`POST /campaigns/{campaign_id}/rules`

## Path parameters

- `campaign_id` string, required

## Request body

- object
  - `rules` object[], required — Array of rule objects
    - `rule_type` string, required — Type of rule (see [Rule Types Reference](/reference/communications-campaigns#rule-types-reference))
    - `values` string[] — Array of string values for comparison. Not required for `UNIQUE_BY_USER`.
    - `conditional` string — Comparison operator. Not required for `USER_COMMS_PER_DAY` or `UNIQUE_BY_USER`. See [Conditional Operators Reference](/reference/communications-campaigns#conditional-operators-reference).
    - `metadata_key` string — Required when `rule_type` is `METADATA`. The metadata field name to evaluate.

## Response `201`

Created

- object
  - `data` object[]
    - `id` string
    - `rule_type` string
    - `values` string[]
    - `conditional` string
    - `metadata_key` string, nullable
    - `status` string
    - `created_at` string
    - `updated_at` string

---

[API](https://skmtc.net/y/apis/ai-caller.md) · [All operations](https://skmtc.net/y/apis/ai-caller/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/y/ai-caller/revisions/05b629819b49/schema)
