List All Tiers

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

List All Tiers

Retrieves all tiers of a loyalty program. If a published tier has an edit in progress, the response includes both versions of that tier: the live version (status LIVE) and the draft. To retrieve a single tier, use the tier query parameter.

Example request

curl -X GET "https://eu.intouch.capillarytech.com/v3/tiers?programId=973" \
  -H "Authorization: Basic <base64-encoded-credentials>"

Prerequisites

  • Authentication: Basic auth or OAuth token with loyalty program read permissions.

Resource information

Pagination supportNo
Batch supportNo

Query parameters

FieldTypeRequiredDescription
programIdintegerRequiredLoyalty program ID to list tiers for.
tierstringOptionalRetrieves a single tier instead of the full list. Pass the tier's slabId (published tiers) or tierUniqueId (drafts). Use this to retrieve a published tier created outside this API by its slabId.
statusstringOptionalNot supported. Sending any value returns HTTP 400 with error 9057.

Example response

{
  "data": {
    "tiers": [
      {
        "slabId": 25216,
        "name": "Bronze",
        "description": "Tier 1",
        "color": "#ff900f",
        "serialNumber": 1,
        "tierStartDate": "2024-12-10T12:53:56Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "upgradeType": "LAZY"
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2024-12-10T12:53:56Z",
          "updatedAt": "2024-12-10T12:53:56Z"
        },
        "customerCount": 350,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY"
      },
      {
        "slabId": 25220,
        "name": "Silver",
        "description": "Tier 2",
        "color": "#C0C0C0",
        "serialNumber": 2,
        "tierStartDate": "2024-12-19T08:39:20Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 5000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2024-12-19T08:39:20Z",
          "updatedAt": "2024-12-19T08:39:20Z"
        },
        "customerCount": 13,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25221,
        "name": "Gold",
        "description": "Tier 3",
        "color": "#FFD700",
        "serialNumber": 3,
        "tierStartDate": "2024-12-19T08:39:53Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 10000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2024-12-19T08:39:53Z",
          "updatedAt": "2024-12-19T08:39:53Z"
        },
        "customerCount": 16,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25222,
        "name": "Sapphire",
        "description": "Tier 4",
        "color": "#198000",
        "serialNumber": 4,
        "tierStartDate": "2024-12-19T08:41:17Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 15000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2024-12-19T08:41:17Z",
          "updatedAt": "2024-12-19T08:41:17Z"
        },
        "customerCount": 3,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25248,
        "name": "Ruby",
        "description": "Tier 5",
        "color": "#d90000",
        "serialNumber": 5,
        "tierStartDate": "2025-02-11T05:13:26Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 20000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2025-02-11T05:13:26Z",
          "updatedAt": "2025-02-11T05:13:26Z"
        },
        "customerCount": 3,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25249,
        "name": "Emerald",
        "description": "Tier 6",
        "color": "#00d946",
        "serialNumber": 6,
        "tierStartDate": "2025-02-11T05:14:10Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 25000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2025-02-11T05:14:10Z",
          "updatedAt": "2025-02-11T05:14:10Z"
        },
        "customerCount": 1,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25250,
        "name": "Amethyst",
        "description": "Tier 7",
        "color": "#8e00d9",
        "serialNumber": 7,
        "tierStartDate": "2025-02-11T05:15:45Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 30000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2025-02-11T05:15:45Z",
          "updatedAt": "2025-02-11T05:15:45Z"
        },
        "customerCount": 8,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25251,
        "name": "Diamond",
        "description": "Tier 8",
        "color": "#b9f2ff",
        "serialNumber": 8,
        "tierStartDate": "2025-02-11T05:16:51Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 50000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "target": "SINGLE",
          "reevaluateOnReturn": false,
          "dailyEnabled": false,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "shouldDowngrade": true,
          "always": false,
          "renewalOrderString": []
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2025-02-11T05:16:51Z",
          "updatedAt": "2025-02-11T05:16:51Z"
        },
        "customerCount": 15,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "startDate": "2026-01-07T00:00:00+00:00",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility",
          "downgradeTo": "SINGLE",
          "shouldDowngrade": true,
          "conditions": {
            "purchase": "-1",
            "numVisits": "-1",
            "points": "-1",
            "tracker": []
          },
          "always": false,
          "renewalOrderString": []
        }
      },
      {
        "slabId": 25602,
        "name": "Platinum",
        "description": "Top-tier membership for highest spenders — updated",
        "color": "#E5E4E2",
        "serialNumber": 9,
        "tierStartDate": "2026-06-10T06:07:29Z",
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 80000,
          "upgradeType": "LAZY"
        },
        "downgrade": {
          "reevaluateOnReturn": false,
          "dailyEnabled": false
        },
        "communicationModeConfig": {
          "upgrade": [],
          "renewal": [],
          "downgrade": [],
          "reminders": []
        },
        "meta": {
          "createdAt": "2026-06-10T06:07:29Z",
          "updatedAt": "2026-06-10T06:07:29Z"
        },
        "customerCount": 0,
        "countRefreshedAt": "2026-06-11T12:34:56Z",
        "status": "LIVE",
        "origin": "LEGACY_SQL_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "isFixedTypeWithoutYear": false,
          "minimumDuration": 0,
          "criteriaType": "Same as eligibility"
        }
      },
      {
        "tierUniqueId": "ut-973-010",
        "objectId": "6a2aab5cb1f2f8016a6598bb",
        "name": "Super Platinum",
        "description": "Premium tier for top spenders",
        "color": "#E5E4E2",
        "serialNumber": 10,
        "eligibility": {
          "kpiType": "CURRENT_POINTS",
          "threshold": 100000,
          "upgradeType": "LAZY"
        },
        "meta": {
          "createdBy": "75237721",
          "createdAt": "2026-06-11T12:34:36Z",
          "updatedBy": "75237721",
          "updatedAt": "2026-06-11T12:34:36Z"
        },
        "status": "DRAFT",
        "origin": "MONGO_ONLY",
        "renewal": {
          "periodType": "SLAB_UPGRADE",
          "periodValue": "12",
          "unit": "NUM_MONTHS",
          "criteriaType": "Same as eligibility"
        }
      }
    ]
  },
  "errors": null,
  "warnings": null
}

Response parameters

FieldTypeDescription
dataobjectObject containing the response payload.
.tiersarrayList of tier entries. Fields with null values are omitted from the response.
..statusstringCurrent stage of the tier lifecycle. LIVE indicates the published version of a tier. Possible values: LIVE, DRAFT, PENDING_APPROVAL, REJECTED, ACTIVE, DELETED, SNAPSHOT, PUBLISH_FAILED.
..originstringIndicates which version of the tier data this entry represents. Possible values: BOTH (published tier that also has a draft), MONGO_ONLY (draft not yet published), LEGACY_SQL_ONLY (tier created outside this API).
..slabIdintegerUnique ID of the published tier. null until the tier is approved and published.
..tierUniqueIdstringUnique ID assigned to a tier created through this API, returned by Create Tier. null for tiers created outside this API.
..objectIdstringUnique ID of this tier record. Use it with Update Tier, Delete Tier, and the approval endpoints. null for tiers created outside this API.
..namestringTier name.
..descriptionstringTier description.
..colorstringDisplay color in hex format.
..serialNumberintegerTier position in the program's tier ladder.
..tierStartDatetimestampDate and time when the tier was published, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone. Present on LIVE entries only.
..eligibilityobjectObject containing the conditions a customer must meet to enter this tier. For published (LIVE) tiers, only kpiType, threshold, and upgradeType are returned.
...kpiTypeenumKPI the threshold is measured against. Possible values: CURRENT_POINTS, CUMULATIVE_POINTS, CUMULATIVE_PURCHASES, TRACKER_VALUE_BASED.
...thresholdnumberKPI value at which a customer upgrades into this tier.
...upgradeTypeenumWhen tier upgrades are evaluated. Possible values: EAGER, DYNAMIC, LAZY.
..renewalobjectObject containing the tier's validity period and renewal settings.
...periodTypeenumDefines when the tier validity period starts. Possible values: FIXED (starts on a fixed date), SLAB_UPGRADE (starts when the customer enters the tier), SLAB_UPGRADE_CYCLIC (restarts each cycle after the upgrade), FIXED_CUSTOMER_REGISTRATION (starts on the customer's registration date).
...periodValuestringTier duration in months, returned as a string.
...unitstringUnit of periodValue. Always NUM_MONTHS.
...startDatetimestampDate when the tier validity period starts, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone.
...endDatetimestampDate when the tier validity period ends (start date plus duration), in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone. Read-only.
...isFixedTypeWithoutYearbooleanWhen true, the validity start date repeats every year on the same day and month.
...renewalWindowTypeenumDefines the period used to evaluate whether a customer keeps the tier at renewal. Possible values: FIXED_DATE_BASED (window measured back from the renewal date), LAST_CALENDAR_YEAR (the previous calendar year), CUSTOM_PERIOD (window set by computationWindowStartValue and computationWindowEndValue).
...computationWindowStartValueintegerNumber of months before the renewal date at which the evaluation window starts.
...computationWindowEndValueintegerNumber of months before the renewal date at which the evaluation window ends.
...minimumDurationintegerMinimum number of months a customer stays in the tier before a downgrade can happen.
...criteriaTypestringRenewal criteria type. Always Same as eligibility.
...downgradeToenumTier the customer moves to on downgrade. Possible values: SINGLE, THRESHOLD, LOWEST.
...shouldDowngradebooleanWhether customers in this tier are downgraded automatically.
...expressionRelationAIRAstringLogical expression that combines the renewal conditions, in disjunctive normal form (DNF): groups of conditions joined with AND, with the groups joined by OR, for example (1 AND 2) OR 3, where each number refers to a condition.
...expressionRelationstringLogical expression that combines the renewal conditions, in the format used by tiers configured outside this API. When both expression fields are returned, this one applies.
...conditionsobjectObject containing the renewal trigger conditions. A value of -1 means the condition is not set.
...alwaysbooleanWhen true, the tier renews unconditionally.
...originalExpressionstringOriginal renewal expression, returned as configured.
...renewalOrderStringstringOrder in which renewal conditions are evaluated, returned as configured.
..downgradeobjectObject containing the tier's downgrade settings. Read-only. Rejected on write requests.
...targetenumTier the customer moves to on downgrade. Possible values: SINGLE, THRESHOLD, LOWEST.
...reevaluateOnReturnbooleanWhether downgrade is re-evaluated when the customer returns.
...dailyEnabledbooleanWhether daily downgrade evaluation is on.
...conditionsobjectObject containing the downgrade conditions, in the same format as the renewal conditions.
...shouldDowngradebooleanWhether customers in this tier are downgraded automatically.
..communicationModeConfigobjectObject containing the communication channels (such as SMS, email, and WhatsApp) used to notify customers about tier events. null on draft entries.
...upgradearrayChannels used to notify customers when they upgrade into this tier.
...renewalarrayChannels used to notify customers when their tier renews. Set at the program level.
...downgradearrayChannels used to notify customers when they are downgraded from this tier. Set at the program level.
...remindersarrayChannels used to send customers a reminder before a downgrade. Set at the program level.
..rejectionCommentstringReviewer's comment. Present only when status is REJECTED. Also available as meta.rejectionComment.
..metaobjectObject containing details of who created, updated, approved, or rejected the tier, and when.
...createdBystringUser or till ID of the person who created the tier.
...createdAttimestampDate and time when the tier was created, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone.
...updatedBystringUser or till ID of the person who last updated the tier.
...updatedAttimestampDate and time when the tier was last updated, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone.
...approvedBystringUser ID of the reviewer who approved the tier.
...approvedAttimestampDate and time when the tier was approved, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone.
...rejectedBystringUser ID of the reviewer who rejected the tier.
...rejectedAttimestampDate and time when the tier was rejected, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone.
...rejectionCommentstringReviewer's comment on rejection.
..customerCountintegerNumber of active customers currently in this tier. null when count data is unavailable.
..countRefreshedAttimestampDate and time when customerCount was last refreshed, in ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ), returned in the server time zone. null when count data is unavailable.
errorsarrayError list. null on success.
warningsarrayWarning list. null on success.

Error and warning codes

CodeError numberTypeDescription
TIER.STATUS_FILTER_NOT_SUPPORTED9057ErrorThe status query parameter was sent. The list endpoint doesn't support status filtering. HTTP 400.
TIER.NOT_FOUND9056ErrorThe tier parameter doesn't match any tier in the program. HTTP 404.
500ErrorThe required programId query parameter is missing. HTTP 500.

Query Params
integer
required
string
Headers
string
string
Responses

400

Validation error, including error 9057 when the unsupported status filter is sent

404

Tier not found (error 9056) when the tier parameter matches nothing

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json