id assigned by Scrip. Many also carry an external identifier or human-readable key for integration with your system.
Entity Overview
Relationships
- An Organization is the top-level tenant. Programs, Assets, Participants, and Groups all belong to an organization. API keys are scoped to an organization.
- A Program belongs to an Organization, contains Rule Sets and Rules, links to Assets, and scopes Participants.
- An Asset exists at the organization level and can be linked to multiple Programs. Each program maintains independent wallet balances for prefunded assets.
- A Participant exists at the organization level and can participate across multiple Programs. Participants can be members of one or more Groups.
- Events are sent to a Program for a specific Participant. The event triggers rule evaluation against that participant’s state.
- A Rule Set belongs to a Program. Every program has an automatic
defaultset. - Rules belong to one Rule Set in their Program and produce Journal Entries when their actions fire.
- Redemptions, Transfers, and balance adjustments all produce Journal Entries in the double-entry ledger. A pending Redemption has one Reservation that claims value in the participant’s
HELDbalance. - Lots track individual credits within a participant’s balance. They only exist for assets using
LOTinventory mode. - Tier Types belong to a Program. Participants progress through tier levels based on counter qualification or explicit rule actions.
- Automations are scoped to a Program and generate Events on a schedule, at a specific time, or in response to participant state changes.
- Webhook Endpoints belong to an Organization. When domain events occur (balance changes, redemptions, tier transitions), matching endpoints receive signed HTTP notifications via Webhook Deliveries.
Organization
The top-level tenant in Scrip. Every other resource (programs, assets, participants, groups) belongs to an organization. API keys are scoped to an organization. Organizations are managed through the Scrip dashboard, not the API.Key Fields
Status Values
Program
The top-level container within an organization that holds rule sets and rules, links to assets, and scopes participants. Most teams create one program per use case.Key Fields
Status Values
Enrollment Policy
See the Programs guide for usage patterns. Browse the Programs endpoints.
Asset
Defines the unit of value participants earn and spend. Three immutable settings control behavior: inventory mode, issuance policy, and scale.Key Fields
Inventory Mode
Issuance Policy
See the Asset Configuration guide for usage patterns. Browse the Assets endpoints.
Participant
A user in your system, identified by your ownexternal_id. Carries profile information and state (tags, counters, attributes, tiers) that rules read and write.
Participants exist at the organization level and hold one enrollment per program they participate in. Enrollment is separate from the participant’s own status: it is created automatically when a participant’s first event reaches a program, and an inactive enrollment is reactivated automatically by the next event. There is no direct enrollment management API.
Key Fields
The list endpoint returns a slim response (
id, external_id, status, profile fields, timestamps). The detail endpoint returns all fields above in a single call.
Identifiers
Status Values
See the Participants guide for usage patterns. Browse the Participants endpoints.
Group
A collection of participants that shares a wallet and state. Groups exist at the organization level and can participate across programs.Key Fields
Member Roles
See the Groups guide for usage patterns. Browse the Groups endpoints.
Event
A signal from your application that triggers rule evaluation. Events are processed asynchronously and deduplicated byidempotency_key per program.
Key Fields
Status Values
See the Event Processing guide for usage patterns. Browse the Events endpoints.
Rule set
A program-owned group that controls execution priority and scopes local rule ordering. Every program has an immutable-keydefault set. All sets with applicable ACTIVE rules participate in evaluation.
Key fields
Scrip numbers set positions 1..N with no gaps. Rule sets do not have statuses, delete operations, or archive operations. Every applicable
ACTIVE rule across all sets participates.
See the Rule sets guide for assignment and execution behavior. See Managing rule configuration for version-guarded changes and rollback. Browse the Rule sets endpoints.
Rule configuration revision
An immutable record of one version of a program’s complete rule configuration: its rule sets, rules, positions, statuses, actions, and budgets. A revision is created for each effective configuration change and addressed by itsrule_configuration_version.
Key fields
See History. Browse the revision endpoints.
Rule
A CEL condition paired with a list of actions inside a rule set. Scrip evaluates applicable rules by rule-set position, then by local rule position. Matching rules execute their actions sequentially in that order within the same transaction.Key Fields
Status Values
See the Writing Rules guide for usage patterns. Browse the Rules endpoints.
Each event evaluation records the execution-time
rule_set_id and rule_history_id. This preserves the set identity and rule version used even if the rule moves or changes later.
Automation
Generates events on a schedule, at a specific time, or in response to participant state changes. Scoped to a program.Key Fields
Status Values
Automation statuses are lowercase, unlike other resources which use uppercase.
See the Automations guide for usage patterns. Browse the Automations endpoints.
Tier Type
Defines a ranked progression track (e.g., Silver / Gold / Platinum) with ordered levels. Participants advance based on counter qualification or explicit rule actions.Key Fields
Level Fields
See the Tiers guide for usage patterns. Browse the Tiers endpoints.
Reward
A catalog item that participants can redeem with their balance. Scoped to a program and priced in a linked asset.Key Fields
Status Values
See the Rewards Catalog guide for usage patterns. Browse the Rewards endpoints.
Redemption
A record of a participant spending balance, either as an amount redemption or a catalog item purchase. A redemption can capture immediately or authorize value for later fulfillment.Key Fields
Status Values
Reservation lifecycle
Authorization creates a reservation and moves the exact amount fromAVAILABLE to HELD. Its ledger state moves from ACTIVE to CAPTURED,
RELEASED, or EXPIRED.
For LOT assets, the reservation identifies the selected HELD lots. Those
lots retain expiration, maturity, and issuer lineage. For SIMPLE assets, the
reservation claims part of the aggregate HELD balance. Capture is full-only in
both modes.
Reserved LOT value can expire. Failure and cancellation release only the live
remainder and do not recreate value that reached breakage.
See the Redemption lifecycle guide for usage patterns. Browse the Redemptions endpoints.
Transfer
An atomic movement of funds from one participant or group to one or more recipients. Zero-sum: the source is debited by the total credited to all recipients.Key Fields
Exactly one source identifier is required per transfer. The three source fields (
source_external_id, source_participant_id, source_group_id) are mutually exclusive.Journal Entry
An immutable double-entry ledger record. Every balance change (credits, debits, holds, releases, forfeits, redemptions, transfers) produces a journal entry with postings that sum to zero.Key Fields
Posting Fields
See the Ledger guide for usage patterns. Browse the Reporting endpoints.
Lot
An individual credit with its own balance, expiration, vesting date, and issuer lineage. Only exists for assets usingLOT inventory mode. When funds are debited, the oldest eligible lots are spent first.
Key Fields
Status Values
Lots credited with a future
matures_at land in DEFERRED and automatically transition to AVAILABLE when the maturity date passes. DEFERRED is read-only and cannot be targeted by rules or API writes.
See the Lots & Expiration guide for usage patterns. Browse the Participant lots endpoint.
Webhook Endpoint
A registered URL that receives signed HTTP notifications when domain events occur. Endpoints are scoped to an organization and filter events by type.Key Fields
Status Values
See the Webhooks guide for usage patterns. Browse the Webhooks endpoints.
Webhook Delivery
A record of a delivery attempt from a webhook event to a specific endpoint. Tracks attempt count, response details, and retry scheduling.Key Fields
Status Values
See the Webhooks guide for usage patterns. Browse the Webhooks endpoints.