Update a program
Partially update a program.
name, description, on_unknown_participant, status, or redemption target configuration. Only include the fields you want to change; omitted fields are left unchanged.
Status can be set to ACTIVE, SUSPENDED, or ARCHIVED. A SUSPENDED program preserves all data but stops event processing: event submissions can still be accepted for async validation, then fail with program_inactive. An ARCHIVED program has the same event-processing behavior and is hidden from list results.
While a program is ARCHIVED, you can still update name and description, or reactivate the program by setting status to ACTIVE or SUSPENDED. Behavioral configuration changes are blocked while archived and return 409 with code program_archived. This includes on_unknown_participant, redemption_target_type, and redemption_target_entity_id.
Setting redemption_target_type to LEDGER_ENTITY requires redemption_target_entity_id in the same request. Setting it to SYSTEM_REDEMPTION or SYSTEM_BREAKAGE must omit redemption_target_entity_id and clears any existing reference. Changes only affect redemptions created after the update: existing redemptions and their reversals continue to use the target captured at the time they were created.
Authorizations
API key passed in the X-API-Key header.
Path Parameters
Program ID
Body
Fields to update
Program description
1000"Updated description"
Program name
1 - 255"Updated Program Name"
How to handle events for unregistered participants
CREATE, REJECT "REJECT"
Target ledger entity ID. Required when redemption_target_type is LEDGER_ENTITY; must be omitted for the SYSTEM_* targets.
"550e8400-e29b-41d4-a716-446655440000"
Where redeemed value is posted. One of SYSTEM_REDEMPTION, SYSTEM_BREAKAGE, LEDGER_ENTITY. The paired example shows LEDGER_ENTITY because that is the only target type that pairs with redemption_target_entity_id; SYSTEM_* targets must omit it.
SYSTEM_REDEMPTION, SYSTEM_BREAKAGE, LEDGER_ENTITY "LEDGER_ENTITY"
Lifecycle state
ACTIVE, SUSPENDED, ARCHIVED "SUSPENDED"
Response
Updated program
When the program was created
"2024-01-15T10:30:00Z"
Set when the program is archived
"2024-06-01T00:00:00Z"
Optional program description
"Quarterly sales incentive program"
Program ID
"550e8400-e29b-41d4-a716-446655440000"
Program name
"Q1 Sales Bonus"
How events for unregistered participants are handled
"CREATE"
Target ledger entity ID. Present only when redemption_target_type is LEDGER_ENTITY.
"550e8400-e29b-41d4-a716-446655440002"
Where redeemed value is posted: SYSTEM_REDEMPTION, SYSTEM_BREAKAGE, or LEDGER_ENTITY
"SYSTEM_REDEMPTION"
Lifecycle state
"ACTIVE"
When the program was last modified
"2024-01-15T10:30:00Z"