---
title: "Activate tier structure"
method: POST
path: "/v2/loyalties/tier-structures/{tierStructureId}/activate"
tags: ["Tier Structures"]
---

# Activate tier structure

`POST /v2/loyalties/tier-structures/{tierStructureId}/activate`

<Warning>

<Badge color="yellow">BETA endpoint</Badge>

This is a work-in-progress documentation of a BETA endpoint. The parameters, fields, request and response bodies, and other data may subject to change. If you want to share feedback or improvements, contact [Voucherify support](https://www.voucherify.io/contact-support) or your Technical Account Manager.

</Warning>

Moves the tier structure to the `ACTIVE` status. Allowed state transitions:
`DRAFT` -> `ACTIVE` and `INACTIVE` -> `ACTIVE`. No request body.

## Path parameters

- `id` string, required

## Response `200`

The activated tier structure.

- TierStructure — Tier structure resource.
  - `id` string, required — Unique tier structure identifier.
  - `name` string, required — Display name of the tier structure.
  - `type` 'POINT_BALANCE' | 'POINT_EARNED', required — Tier qualification tracking model.
  - `point_balance` TierStructurePointBalance — Point balance tracking settings.
    - `card_definition_id` string — Identifier of the card definition whose point balance is tracked.
  - `point_earned` TierStructurePointEarned — Points earned tracking settings.
    - `card_definition_id` string — Identifier of the card definition whose earned points are tracked.
    - `period` TierStructurePointEarnedPeriod — Points earned tracking period.
      - `value` integer — Length of the tracking period, expressed in `unit` units.
      - `unit` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR' — Unit of the tracking period.
    - `type` 'IMMEDIATELY' | 'NEXT_TRACKING_PERIOD' — When a tier change resulting from earned points takes effect.
  - `expiration` TierStructureExpiration, required — Tier membership expiration settings. Only the sub-object matching `type` is present; the others are omitted.
    - `type` 'NO_EXPIRATION' | 'SLIDING_EXPIRATION' | 'FIXED_DURATION' | 'CALENDAR_EXPIRATION' — Expiration model for tier membership.
    - `fixed_duration` TierStructureExpirationFixedDuration — Fixed duration expiration settings.
      - `period` TierStructureExpirationPeriod — Expiration period. The same shape is used for fixed duration and sliding expiration periods.
        - `value` integer — Length of the period, expressed in `unit` units.
        - `unit` 'DAY' | 'MONTH' | 'YEAR' — Unit of the period.
    - `calendar_expiration` TierStructureExpirationCalendarExpiration — Calendar expiration settings.
      - `calendar_dates` TierStructureExpirationCalendarDate[] — Calendar dates on which tier membership expires.
        - `day` integer — Day of the month (1-31).
        - `month` integer — Month of the year (1-12).
    - `sliding_expiration` TierStructureExpirationSlidingExpiration — Sliding expiration settings.
      - `earning_activity` boolean — Whether point earning activity extends the tier membership.
      - `spending_activity` boolean — Whether point spending activity extends the tier membership.
      - `custom_activity` boolean — Whether custom activities extend the tier membership.
      - `custom_activity_types` string[] — Custom activity type names that extend the tier membership.
      - `period` TierStructureExpirationPeriod — Expiration period. The same shape is used for fixed duration and sliding expiration periods.
        - `value` integer — Length of the period, expressed in `unit` units.
        - `unit` 'DAY' | 'MONTH' | 'YEAR' — Unit of the period.
  - `downgrade` TierStructureDowngrade, required — Downgrade settings.
    - `type` 'MULTI_LEVEL' | 'SINGLE_LEVEL' | 'NO_DOWNGRADE' — Downgrade model.
    - `grace_period` TierStructureDowngradeGracePeriod — Downgrade grace period.
      - `value` integer — Length of the grace period, expressed in `unit` units.
      - `unit` 'DAY' | 'MONTH' | 'YEAR' — Unit of the grace period.
      - `round_up` boolean — Whether the grace period end is rounded up to the end of the unit.
  - `metadata` object, required — Free-form key/value object holding custom attributes. Defaults to `{}`.
  - `status` 'DRAFT' | 'ACTIVE' | 'INACTIVE' | 'DELETED', required — Current lifecycle status of the tier structure.
  - `created_at` string, date-time, required — Creation timestamp (ISO 8601).
  - `updated_at` string, date-time, required — Last update timestamp (ISO 8601), or null if never updated.
  - `object` string, required — Object type discriminator. Always `tier_structure`.

## Other responses

- `400` — Validation error - request body or query parameters failed validation, or the operation is not allowed in the current resource state.
- `404` — Resource not found.
- `409` — Conflict - e.g. duplicate resource or invalid state transition.
- `500` — Internal server error.

---

[API](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-api-async-actions/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-api-async-actions/versions/4982266e0494/schema)
