Skip to main content
PUT
/
v2
/
loyalties
/
tier-structures
/
{id}
Update Tier Structure
curl --request PUT \
  --url https://api.voucherify.io/v2/loyalties/tier-structures/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-App-Id: <api-key>' \
  --header 'X-App-Token: <api-key>' \
  --data '
{
  "name": "<string>",
  "type": "POINT_BALANCE",
  "card_definition_id": "<string>",
  "point_earned": {
    "period": {
      "value": 2,
      "unit": "HOUR"
    },
    "type": "IMMEDIATELY"
  },
  "expiration": {
    "type": "NO_EXPIRATION",
    "rolling_expiration": {
      "period": {
        "value": 2,
        "unit": "DAY"
      }
    },
    "calendar_expiration": {
      "calendar_dates": [
        {
          "day": 16,
          "month": 6
        }
      ]
    },
    "sliding_expiration": {
      "period": {
        "value": 2,
        "unit": "DAY"
      },
      "earning_activity": true,
      "spending_activity": true,
      "custom_activity": true,
      "custom_activity_types": [
        "<string>"
      ]
    }
  },
  "downgrade": {
    "type": "MULTI_LEVEL",
    "grace_period": {
      "value": 2,
      "unit": "DAY",
      "round_up": true
    }
  },
  "metadata": {}
}
'
{
  "id": "<string>",
  "name": "<string>",
  "type": "POINT_BALANCE",
  "card_definition_id": "<string>",
  "metadata": {},
  "status": "DRAFT",
  "created_at": "2023-11-07T05:31:56Z",
  "object": "tier_structure",
  "point_earned": {
    "period": {
      "value": 2,
      "unit": "HOUR"
    },
    "type": "IMMEDIATELY"
  },
  "expiration": {
    "type": "NO_EXPIRATION",
    "rolling_expiration": {
      "period": {
        "value": 2,
        "unit": "DAY"
      }
    },
    "calendar_expiration": {
      "calendar_dates": [
        {
          "day": 16,
          "month": 6
        }
      ]
    },
    "sliding_expiration": {
      "earning_activity": true,
      "spending_activity": true,
      "custom_activity": true,
      "period": {
        "value": 2,
        "unit": "DAY"
      },
      "custom_activity_types": [
        "<string>"
      ]
    }
  },
  "downgrade": {
    "type": "MULTI_LEVEL",
    "grace_period": {
      "value": 2,
      "unit": "DAY",
      "round_up": true
    }
  },
  "updated_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

X-App-Id
string
header
required
X-App-Token
string
header
required

Path Parameters

id
string
required

Unique tier structure identifier.

Body

application/json

All fields optional. When not in DRAFT status, only name and metadata may be updated.

name
string

Display name.

Required string length: 1 - 200
type
enum<string>

Tiering model type.

Available options:
POINT_BALANCE,
POINT_EARNED
card_definition_id
string

ID of an existing card definition to link.

point_earned
object

Required when type changes to POINT_EARNED. Must be null when type is POINT_BALANCE.

expiration
object

Expiration settings.

downgrade
object

Downgrade settings.

metadata
object

Custom key-value metadata.

Response

Updated tier structure

A tier structure resource as returned by the API.

id
string
required

Unique tier structure identifier.

name
string
required

Display name.

Maximum string length: 200
type
enum<string>
required

Tiering model type.

Available options:
POINT_BALANCE,
POINT_EARNED
card_definition_id
string
required

ID of the linked card definition.

metadata
object
required

Custom key-value metadata.

status
enum<string>
required

Current lifecycle status.

Available options:
DRAFT,
ACTIVE,
INACTIVE,
DELETED
created_at
string<date-time>
required

ISO 8601 creation timestamp.

object
enum<string>
required

Object type discriminator.

Available options:
tier_structure
point_earned
object

Point-earned tracking configuration. Present when type is POINT_EARNED.

expiration
object

Tier qualification expiration settings.

downgrade
object

Downgrade behaviour settings.

updated_at
string<date-time> | null

ISO 8601 last-update timestamp.

Last modified on May 11, 2026