Skip to main content
PATCH
/
v1
/
programs
/
{id}
Update a program
curl --request PATCH \
  --url https://api.scrip.dev/v1/programs/{id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "description": "Updated description",
  "name": "Updated Program Name",
  "on_unknown_participant": "REJECT",
  "redemption_target_entity_id": "550e8400-e29b-41d4-a716-446655440000",
  "redemption_target_type": "LEDGER_ENTITY",
  "status": "SUSPENDED"
}
'
{
  "created_at": "2024-01-15T10:30:00Z",
  "deleted_at": "2023-11-07T05:31:56Z",
  "description": "Quarterly sales incentive program",
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Q1 Sales Bonus",
  "on_unknown_participant": "CREATE",
  "redemption_target_entity_id": "<string>",
  "redemption_target_type": "SYSTEM_REDEMPTION",
  "status": "ACTIVE",
  "updated_at": "2024-01-15T10:30:00Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.scrip.dev/llms.txt

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

Updates a program’s name, description, on_unknown_participant, status, or redemption_target_type. 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 rejects new incoming events but preserves all data. An ARCHIVED program also rejects events and is hidden from list results. Both can be moved back to ACTIVE at any time. 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.
For usage patterns and examples, see the Programs guide. For redemption target options, see Redemption Targets.

Authorizations

X-API-Key
string
header
required

API key passed in the X-API-Key header.

Path Parameters

id
string<uuid>
required

Program ID

Body

application/json

Fields to update

description
string

Program description

Maximum string length: 1000
Example:

"Updated description"

name
string

Program name

Required string length: 1 - 255
Example:

"Updated Program Name"

on_unknown_participant
enum<string>

How to handle events for unregistered participants

Available options:
CREATE,
REJECT
Example:

"REJECT"

redemption_target_entity_id
string<uuid>

Target ledger entity ID. Required when redemption_target_type is LEDGER_ENTITY; must be omitted for the SYSTEM_* targets.

Example:

"550e8400-e29b-41d4-a716-446655440000"

redemption_target_type
enum<string>

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.

Available options:
SYSTEM_REDEMPTION,
SYSTEM_BREAKAGE,
LEDGER_ENTITY
Example:

"LEDGER_ENTITY"

status
enum<string>

Lifecycle state

Available options:
ACTIVE,
SUSPENDED,
ARCHIVED
Example:

"SUSPENDED"

Response

Updated program

created_at
string<date-time>

When the program was created

Example:

"2024-01-15T10:30:00Z"

deleted_at
string<date-time>

Set when the program is archived

description
string

Optional program description

Example:

"Quarterly sales incentive program"

id
string<uuid>

Program ID

Example:

"550e8400-e29b-41d4-a716-446655440000"

name
string

Program name

Example:

"Q1 Sales Bonus"

on_unknown_participant
string

How events for unregistered participants are handled

Example:

"CREATE"

redemption_target_entity_id
string

Target ledger entity ID. Present only when redemption_target_type is LEDGER_ENTITY.

redemption_target_type
string

Where redeemed value is posted: SYSTEM_REDEMPTION, SYSTEM_BREAKAGE, or LEDGER_ENTITY

Example:

"SYSTEM_REDEMPTION"

status
string

Lifecycle state

Example:

"ACTIVE"

updated_at
string<date-time>

When the program was last modified

Example:

"2024-01-15T10:30:00Z"