Rules

Get the complete rule configuration

Return rule sets, ACTIVE and SUSPENDED rules, and rule budgets from one consistent read. Pass rule_configuration_version with reorder, move, preview, and rollback requests to reject conflicting edits. Archived rules are excluded.

get/v1/programs/{program_id}/rule-configuration

Request

  • Base URL: https://api.scrip.dev
  • URL: https://api.scrip.dev/v1/programs/{program_id}/rule-configuration
  • Auth: HTTP bearer

Path parameters

program_idstring uuid required

The program's id.

Response

The program's rule sets and rules, and the current rule_configuration_version

program_idstring uuid

Program whose configuration was read.

rule_configuration_versioninteger

Program rule-configuration version. Pass it to version-guarded writes to reject conflicting edits.

Example response

{
  "program_id": "8f14e45f-ceea-4e70-9df8-2a7d1b3c9f01",
  "rule_configuration_version": 4,
  "rule_sets": [
    {
      "rule_set": {
        "created_at": "2027-01-15T10:30:00Z",
        "id": "d4735e3a-265e-4f16-b1a5-4c8e9d6f0a04",
        "key": "holiday-promo",
        "name": "Holiday Promotion",
        "order": 1,
        "program_id": "8f14e45f-ceea-4e70-9df8-2a7d1b3c9f01",
        "rule_configuration_version": 4,
        "updated_at": "2027-01-15T10:30:00Z"
      },
      "rules": [
        {
          "actions": [
            {
              "amount": "${{ event.amount * 10 }}",
              "asset_id": "a3bb189e-8bf9-4c8b-9be0-6b5d2f4e7a02",
              "type": "CREDIT"
            }
          ],
          "active_from": "2027-01-01T00:00:00Z",
          "active_to": "2027-12-31T23:59:59Z",
          "budgets": [
            {
              "asset_id": "a3bb189e-8bf9-4c8b-9be0-6b5d2f4e7a02",
              "consumed": "4500.00",
              "cron_expression": "0 0 1 * *",
              "interval": "720h",
              "limit": "10000.00",
              "next_reset_at": "2027-12-31T23:59:59Z",
              "schedule_type": "CRON",
              "scope": "PROGRAM"
            }
          ],
          "condition": "event.type == 'purchase' && event.amount > 0",
          "created_at": "2027-01-15T10:30:00Z",
          "deleted_at": "2027-01-15T10:30:00Z",
          "description": "Awards 10 points per dollar spent",
          "id": "c9f0f895-fb98-4b39-9f86-1e5a0d3e2b03",
          "name": "Purchase Reward",
          "order": 1,
          "program_id": "8f14e45f-ceea-4e70-9df8-2a7d1b3c9f01",
          "rule_configuration_version": 4,
          "rule_set_id": "d4735e3a-265e-4f16-b1a5-4c8e9d6f0a04",
          "status": "ACTIVE",
          "updated_at": "2027-01-15T10:30:00Z",
          "warnings": [
            {
              "code": "unknown_state_key",
              "key": "purchaseCnt",
              "kind": "counter",
              "message": "unknown counter \"purchaseCnt\" on participant: no rule in this program writes it; did you mean \"purchase_count\"?",
              "scope": "participant",
              "suggestion": "purchase_count"
            }
          ]
        }
      ]
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.