Journey Docs
Partner API ExplorerLoyaltyTiers

Bind a benefit to a tier

Required scopepartner:loyalty:benefits:write
PUT
/v1/partner/loyalty/programs/{programExternalId}/tiers/{tierExternalId}/entitlements/{benefitExternalId}

Entitles members of this tier to the benefit. Idempotent: re-binding an already-bound benefit succeeds.

Authorization

headerAuthorizationBearer <token>

WorkOS access token (JWT) for a user who is a member of the partner organization. The organization the request is scoped to is taken from the token, not from a header or query parameter.

Only a JWT is accepted in this header. A Journey jny_ API key sent as a bearer token is rejected with 401 Invalid or expired token; send it in X-API-Key instead.

WorkOS organization API keys are not accepted yet.

Path Parameters

benefitExternalId*string

External benefit id.

programExternalId*string

External id of the loyalty program that owns the tier ladder.

tierExternalId*string

External tier id.

Query Parameters

organizationId?string

External organization id (HXP UUID or WorkOS organization id). Only Journey superadmin callers may set it; for a partner credential the organization is taken from the credential and this parameter is ignored.

Request Body

application/json
  1. body
countOverride?|
Range0 <= value
enabled?boolean

Stage a benefit live at some tiers before others. Defaults to true.

memberDescriptionOverride?|
Lengthlength <= 2000
memberRedeemInstructionsOverride?|
Lengthlength <= 2000
ordinal?|

Display order of this benefit within the tier.

Range0 <= value
partnerTermsOverride?|
Lengthlength <= 2000
rateCodeOverride?|

This tier's negotiated booking rate code, overriding the definition's. The whole point of the field: one "Member rate" benefit, a different code at each tier. null falls back to the definition's rateCode.

Length1 <= length <= 64
valueOverride?|

Numeric string (matches the AlloyDB numeric column).

Response Body

The resulting entitlement.

curl -X PUT 'https://api-prd.cf.journey.com/v1/partner/loyalty/programs/string/tiers/string/entitlements/string' \  -H 'Content-Type: application/json' \  -d '{}'
Empty