---
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`

<Info>

<Badge color="gray">Documentation in progress</Badge>

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

</Info>

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 — Unique identifier of the card definition whose point balance is tracked.
  - `point_earned` TierStructurePointEarned — Points earned tracking settings.
    - `card_definition_id` string — Unique 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_RETENTION' | '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, nullable, required — Last update timestamp (ISO 8601), or `null` if never updated.
  - `object` 'tier_structure', 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-loyalty-v2-api.md) · [All operations](https://skmtc.net/voucherifyio/apis/voucherify-loyalty-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/voucherifyio/voucherify-loyalty-v2-api/revisions/69be73b5cff0/schema)
