Recover
Support codes
A support code is the short, stable code shown on a receipt that names where an event stopped — authentication, validation, workflow readiness, or the Shopify Flow handoff. Use it to decide what FlowRelay can prove and what the next safe action is, and quote it instead of pasting private request details.
Read the code before acting #
A FlowRelay support code explains the boundary where the event stopped. Use it to choose whether the sender, endpoint, Shopify Flow setup, FlowRelay processing, or support should own the next step.
Canonical support-code catalog #
This table is contract-checked against the current public Shopify Flow support-code set. Private future-edition codes are intentionally excluded from the public Shopify Flow documentation.
| Code | Stage | Meaning | Retry class | Next safe action | Related guide |
|---|---|---|---|---|---|
| FLR_ENDPOINT_UNKNOWN | Readiness | The sender URL does not map to an active endpoint. | Configuration fix | Correct the endpoint URL, then send a fresh event from the sender. | /setup/endpoints/ |
| FLR_ENDPOINT_DELETED | Readiness | The sender URL belongs to a deleted endpoint. | Configuration fix | Create a replacement endpoint, update the sender, then send a fresh event. | /setup/endpoints/ |
| FLR_AUTH_HEADER_MISSING | Authentication | The request omitted the endpoint's configured authentication header. | Configuration fix | Correct the sender header name, then send a fresh event. | /setup/authentication/ |
| FLR_AUTH_FAILED | Authentication | The configured static secret or HMAC signature did not verify. | Configuration fix | Correct the sender secret, mode, or exact-body signing input, then send a fresh event. | /setup/authentication/ |
| FLR_PAYLOAD_INVALID_JSON | Validation | The request body was not valid JSON. | Sender retry | Correct the JSON and send a fresh event from the sender. | /setup/event-types-and-payloads/ |
| FLR_PAYLOAD_TOO_LARGE | Validation | The request body exceeded the 256 KB v1 limit. | Sender retry | Reduce the JSON payload and send a fresh event from the sender. | /setup/event-types-and-payloads/ |
| FLR_MAPPING_REQUIRED_VALUE_MISSING | Validation | A configured path did not resolve to a required value. | Configuration fix | Correct the sender payload or endpoint mapping, then preview replay only if the event is retained. | /setup/trigger-variants-and-event-mapping/ |
| FLR_MAPPING_INVALID_RESOURCE_ID | Validation | A native or related-resource identifier could not be normalized safely. | Configuration fix | Correct the trigger variant or identifier path, then preview replay if the event is retained. | /setup/trigger-variants-and-event-mapping/ |
| FLR_NO_ENABLED_WORKFLOW | Readiness | No matching enabled Shopify Flow workflow was known for the trigger variant. | Replay candidate | Enable the matching workflow, verify Source and Event type conditions, then preview replay. | /setup/shopify-flow-trigger/ |
| FLR_DUPLICATE_SUPPRESSED | Validation | The same external event ID was already accepted for this endpoint inside the dedupe window. | Manual review | Open the linked first receipt; replay only when a second Shopify Flow run is intentional. | /recover/duplicates-and-idempotency/ |
| FLR_FLOW_HANDOFF_FAILED | Handoff | Shopify Flow rejected the normalized trigger handoff. | Replay candidate | Correct the trigger or mapped fields, inspect diagnostics, then preview replay if safe. | /recover/replay/ |
| FLR_SHOPIFY_SESSION_UNAVAILABLE | Handoff | FlowRelay could not access the Shopify Admin context needed for handoff. | Configuration fix | Reopen FlowRelay from Shopify Admin; contact support before replay if the problem repeats. | /recover/support-signals/ |
| FLR_SHOPIFY_SCOPE_MISSING | Handoff | The native-reference trigger lacks its required optional Shopify scope. | Configuration fix | Have an authorized admin grant the optional scope, then preview replay. | /setup/permissions-and-data-access/ |
| FLR_SHOPIFY_HANDOFF_THROTTLED | Handoff | Shopify asked FlowRelay to slow the handoff. | Wait/backoff | Wait for FlowRelay's paced retry; do not replay while processing remains active. | /recover/retries-replay-and-resend/ |
| FLR_SHOPIFY_HANDOFF_UNAVAILABLE | Handoff | Shopify was temporarily unavailable during handoff. | Wait/backoff | Wait for FlowRelay's retry and check the terminal receipt before considering replay. | /recover/retries-replay-and-resend/ |
| FLR_SHOPIFY_HANDOFF_AMBIGUOUS | Handoff | FlowRelay could not confirm whether Shopify received the handoff. | Manual review | Check Shopify Flow activity and diagnostics before any replay; a second handoff may duplicate downstream actions. | /recover/replay/ |
| FLR_PLATFORM_CONTEXT_MISMATCH | Authorization | The grant and requested FlowRelay resource belong to different platform contexts. | Non-retryable | Use a grant and FlowRelay surface for the same platform context as the resource. | /agent-access/availability-and-refusals/ |
| FLR_PLAN_LIMIT_REACHED | Capacity | The current plan or paid-plan grace no longer permits the requested intake or action. | Wait/backoff | Wait for reset or use the human billing handoff; agents must not approve charges. | /operate/usage-limits/ |
| FLR_REPLAY_NOT_AVAILABLE | Replay | The receipt has no retained material that FlowRelay can replay. | Sender retry | Send a fresh event from the source system instead of reconstructing private payload data. | /recover/replay/ |
| FLR_DIAGNOSTICS_UNAUTHORIZED | Diagnostics | The current actor is not allowed to create a diagnostics share for this store. | Non-retryable | Ask an authorized store admin or scoped operator to create the share. | /recover/diagnostics/ |
| FLR_DIAGNOSTICS_FAILED | Diagnostics | FlowRelay could not create or retrieve the redacted diagnostics snapshot. | Wait/backoff | Retry once, then contact support with the visible redacted summary if it still fails. | /recover/diagnostics/ |
Escalate safely #
Escalate with the support code, receipt ID, and diagnostics share. Do not share endpoint secrets, authentication headers, HMAC values, tokens, raw event bodies, customer records, Shopify sessions, store passwords, or database URLs.
Decision guide
Start with the receipt, then choose the lowest-risk recovery path.
You are investigating one event
Open its receipt and find the literal FlowRelay support code.
You have the support code
Read the failure fact FlowRelay can prove from that code.
The code names a next safe action
Follow that action before replaying or changing endpoint configuration.
A partner or support team needs evidence
Create and approve a redacted diagnostics share.
The code requires authority outside the current grant
Stop and escalate to an authorized human.
Delivered means FlowRelay handed the trigger to Shopify Flow. It does not mean downstream Shopify Flow branches, app calls, fulfillment changes, emails, or later systems completed.
FlowRelay