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 rule evaluation results. It is subject to the same brief post-accept visibility window: a freshly accepted event may 404 here until the async consumer materializes 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.
Pass include_skipped=true to include rule evaluations with SKIPPED_ERROR or SKIPPED_TIMEOUT status.
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"
RuleEvaluations lists all rules that were evaluated for this event and their outcomes
Processing status: RECEIVED, PENDING, PROCESSING, COMPLETED, or FAILED
"COMPLETED"
When this event was last updated
"2024-01-15T10:30:00Z"