Get event by idempotency key
Look up an event by its idempotency key and program ID.
idempotency_key and program_id. Both are required as query parameters because idempotency keys are scoped per program.
This is the preferred lookup method when you have the key you used at ingestion time but not the event ID. It reads the same store and returns the same event object as the get-by-ID endpoint, including processing status and recorded rule-evaluation outcomes. It is subject to the same brief post-accept visibility window: a freshly accepted event may 404 here until Scrip finishes recording it. Poll until it resolves. An event that was rejected during async processing resolves as status FAILED with an error_code, not as a 404.
The evaluation trace has the same sparse-row behavior as the get-by-ID endpoint. Pass include_skipped=true to include rows with exact status SKIPPED_ERROR or SKIPPED_TIMEOUT.
Authorizations
API key passed in the X-API-Key header.
Query Parameters
Program ID
Idempotency key
Include skipped rule evaluations (SKIPPED_ERROR, SKIPPED_TIMEOUT)
Response
Event details with rule executions
When this event was created
"2024-01-15T10:30:00Z"
Machine-readable failure code for a terminal FAILED event, when one is available (e.g. program_not_found, participant_suspended, participant_inactive). NULL when the event did not fail or the failure carried no stable code.
"program_not_found"
Error details if the event failed during processing
"rule condition evaluation failed"
Original event data payload
When the event occurred (from the ingestion request)
"2024-01-15T10:30:00Z"
Event type: EXTERNAL (API-ingested) or SYSTEM (internally generated)
"EXTERNAL"
Your system's identifier for the participant (the value provided at ingestion)
"user_abc123"
Unique identifier for this event
"550e8400-e29b-41d4-a716-446655440000"
Client-provided unique key for deduplication
"order-12345-completed"
Participant UUID, resolved from external_id if one was provided at ingestion
"550e8400-e29b-41d4-a716-446655440002"
When the event finished processing (null while pending or processing)
"2024-01-15T10:30:02Z"
Program this event belongs to
"550e8400-e29b-41d4-a716-446655440001"
When Scrip received the event
"2024-01-15T10:30:01Z"
Reward recipient UUID, if different from the triggering participant
"550e8400-e29b-41d4-a716-446655440003"
Recorded rule-evaluation rows for this event. Rules whose conditions cleanly evaluate to false are not recorded; later rules in the same set after a successful stop_after_match are not evaluated or recorded. SKIPPED_ERROR and SKIPPED_TIMEOUT rows are omitted unless include_skipped=true.
Processing status: PENDING, PROCESSING, COMPLETED, or FAILED
"COMPLETED"
When this event was last updated
"2024-01-15T10:30:00Z"