Update a loyalty program
partner:loyalty:programs:writePartial update: only the fields present in the body are changed.
AuthorizationBearer <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.
externalId*stringExternal loyalty program id.
organizationId?stringExternal 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.
application/json- body
aboutUrl?|"ABOUT PROGRAM" link surfaced on member reads. null clears it.
Additive (B2.2) — omitting it leaves the stored value untouched.
urilength <= 2000cardImage?|nullFull-bleed background for the member wallet's program card, with the
logo wordmark over it. Same all-or-nothing trio as the logo
(loyalty_programs_card_image_check), so send the whole object or null
to clear it; omitting it leaves the stored value untouched.
Configured, never derived: a background borrowed from property media would shift under the partner and give them no say in how their program is presented.
invitationLinkMode?stringWhere a guest opening an unclaimed reservation's claim link ends up, for
stays this program owns: journey (Journey claim page) or custom (this
program's join page in invitation mode). custom is refused unless the
program is active and its join page is published. Decided per click, so a
change applies to links already sent.
"custom""journey"logo?|nullnull clears the logo; an object replaces all three columns at once.
name?string1 <= length <= 200ownerExternalId?stringSee {@link CreateLoyaltyProgramRequest.ownerExternalId}.
length <= 255ownerType?stringRe-scope the program (B1.1). Omitting ownerType leaves the stored scope
untouched — there is no way to clear a scope, because every program has
exactly one.
Re-scoping an ACTIVE program changes which stays credit it, so the Studio should treat it as a configuration change, not a cosmetic edit.
"brand""org""venue"The updated program.
curl -X PATCH 'https://api-prd.cf.journey.com/v1/partner/loyalty/programs/string' \ -H 'Content-Type: application/json' \ -d '{}'