Skip to main content
An order enters exception status — “stuck” — when something blocks fulfillment. It steps out of the queue and returns to exactly where it was once the blocker clears. It is not cancelled, and its place in line is preserved. Most stuck reasons resolve automatically. If the blocker is missing data, supplying that data is the entire fix; Blend re-evaluates and releases the order without anyone clicking anything.

Find your stuck orders

Reasons that clear themselves

You don’t need to ask for a re-check. Blend re-evaluates these conditions on its own and releases the order. Supplying the data is the action.

Reasons that need a decision

Some exceptions are clinical or commercial judgments rather than missing fields — a possible duplicate order, a refill arriving earlier than the patient’s supply should allow, a product that couldn’t be matched. These are worked by pharmacy staff, and often need a conversation with you. You can have that conversation over the API or in the Blend Dashboard.
In the Blend Dashboard, stuck orders have their own queue with the reason and any staff commentary attached. For non-technical team members that’s the place to work from. Responses posted over the API show up in the same discussion.

Respond to a stuck order

In an order.stuck webhook, id is not the exception. Like every order.* webhook, id identifies the stuck item, and entity_type says what kind of item it is:
  • entity_type: "order": id is the order ID.
  • entity_type: "prescription": id is the prescription ID.
The exception itself is exception_id. Use it to read or respond to the exception. Read the exception and its discussion so far:
{order_id} accepts the order’s UUID, order number, or your external ID. For an order, the list also includes exceptions on the order’s prescriptions. Reply on a specific exception, with the name of the person responding:
first_name and last_name are required, at least 2 characters each. For regulatory purposes, Blend must identify and keep a record of the authorized person behind every response. API credentials are usually shared by a team, so the account alone doesn’t say who that is. Blend appends the name to the end of the response, as [Response from: Charlie Customer]. A response puts the exception back in front of the pharmacy team, including an exception they had set aside to revisit later. It does not resolve the exception; that still happens when Blend clears it or the missing data arrives. When Blend replies, you receive an order.stuck_response webhook. Its id, entity_type, and exception_id mean the same as in order.stuck and have the same values, so id is still the order or prescription, not the exception or the response. The reply itself is in response, with its own response.id. Subscribe to it alongside order.stuck to keep the conversation in your own system.

Get an entity's exceptions

With include_responses=true

Respond to an exception

Reply to Blend

Get an exception

By exception_id

Get orders

status=exception

Get an order's status history

When it stuck and when it cleared

Get prescriptions

Find unmatched prescriptions

Order statuses

What exception means in context