Skip to main content
Every resource in the Scrip API is listed below with its key fields and relationships. For a higher-level walkthrough, see Core Concepts. All resources are identified by a UUID 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 default set.
  • 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 HELD balance.
  • Lots track individual credits within a participant’s balance. They only exist for assets using LOT inventory 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 own external_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 by idempotency_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-key default 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 its rule_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 from AVAILABLE 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.
See the Transfers guide for usage patterns. Browse the Transfers endpoints.

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 using LOT 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.