Skip to main content
PUT
/
v2
/
loyalties
/
tier-structures
/
{tierStructureId}
Update tier structure
curl --request PUT \
  --url {protocol}://{host}/v2/loyalties/tier-structures/{tierStructureId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-App-Id: <api-key>' \
  --header 'X-App-Token: <api-key>' \
  --data '
{
  "name": "<string>",
  "point_balance": {
    "card_definition_id": "<string>"
  },
  "point_earned": {
    "card_definition_id": "<string>",
    "period": {
      "value": 2
    }
  },
  "expiration": {
    "fixed_duration": {
      "period": {
        "value": 2
      }
    },
    "calendar_expiration": {
      "calendar_dates": [
        {
          "day": 16,
          "month": 6
        }
      ]
    },
    "sliding_expiration": {
      "period": {
        "value": 2
      },
      "earning_activity": true,
      "spending_activity": true,
      "custom_activity": true,
      "custom_activity_types": [
        "<string>"
      ]
    }
  },
  "downgrade": {
    "grace_period": {
      "value": 2,
      "round_up": true
    }
  },
  "metadata": {}
}
'
{
  "id": "<string>",
  "name": "<string>",
  "expiration": {
    "fixed_duration": {
      "period": {
        "value": 123
      }
    },
    "calendar_expiration": {
      "calendar_dates": [
        {
          "day": 16,
          "month": 6
        }
      ]
    },
    "sliding_expiration": {
      "earning_activity": true,
      "spending_activity": true,
      "custom_activity": true,
      "custom_activity_types": [
        "<string>"
      ],
      "period": {
        "value": 123
      }
    }
  },
  "downgrade": {
    "grace_period": {
      "value": 123,
      "round_up": true
    }
  },
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "object": "<string>",
  "point_balance": {
    "card_definition_id": "<string>"
  },
  "point_earned": {
    "card_definition_id": "<string>",
    "period": {
      "value": 123
    }
  }
}
{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>"
}
{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>"
}
{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>"
}
{
"code": 123,
"key": "<string>",
"message": "<string>",
"details": "<string>",
"request_id": "<string>"
}

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.

Pattern: ^lts_[a-f0-9]+$

Body

application/json

Request body for updating a tier structure. All properties are optional; no additional properties are allowed. When the tier structure is not in DRAFT status, only name and metadata may be updated.

name
string

Display name of the tier structure.

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

Tier qualification tracking model. If provided, the matching tracking settings object (point_balance or point_earned) becomes required.

Available options:
POINT_BALANCE,
POINT_EARNED
point_balance
object | null

Point balance tracking settings. Required (non-null) when type is provided as POINT_BALANCE; must be null when type is provided as POINT_EARNED.

point_earned
object | null

Points earned tracking settings. Required (non-null) when type is provided as POINT_EARNED; must be null when type is provided as POINT_BALANCE.

expiration
object | null

Tier membership expiration settings.

downgrade
object | null

Downgrade behavior applied when tier membership expires.

metadata
object | null

Free-form key/value object holding custom attributes.

Response

The updated tier structure.

Tier structure resource.

id
string
required

Unique tier structure identifier.

Pattern: ^lts_[a-f0-9]+$
name
string
required

Display name of the tier structure.

type
enum<string>
required

Tier qualification tracking model.

Available options:
POINT_BALANCE,
POINT_EARNED
expiration
object
required

Tier membership expiration settings.

downgrade
object
required

Downgrade behavior applied when tier membership expires.

metadata
object
required

Free-form key/value object holding custom attributes. Defaults to {}.

status
enum<string>
required

Current lifecycle status of the tier structure.

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

Creation timestamp (ISO 8601).

updated_at
string<date-time> | null
required

Last update timestamp (ISO 8601), or null if never updated.

object
string
required

Object type discriminator. Always tier_structure.

Allowed value: "tier_structure"
point_balance
object

Point balance tracking settings. Present only when type is POINT_BALANCE; omitted otherwise.

point_earned
object

Points earned tracking settings. Present only when type is POINT_EARNED; omitted otherwise.

Last modified on July 10, 2026