Skip to main content

Respond to Order Rejections (Information Requests)

While Swyft processes an order, our team may raise a rejection — an information request for corrected or additional information - needed to continue the filing (for example, a business name that is too similar to an existing company). When an order has an open rejection, its reported status becomes Action Required.

You can resolve these rejections programmatically with the rejection-response endpoint.

All rejections need to be solved, in order for the order to go back to the previous state.

Discovering open rejections

Open rejections are surfaced under required_actions.rejections Get order response (and on the order_status_change webhook payload):

"required_actions": {
"rejections": [
{
"id": 220742,
"field": "business_name",
"reason": "Your business name is too similar to another company already in business. Please provide us with a new business name to submit to the state.",
"message": "Use rejection answer EP to answer rejection."
}
]
}

Each rejection's id is a stable, globally-unique identifier — that is the value you pass to the endpoint below.

The field is the actual Data Point related to the original order creation. You need to pass this attribute on your response.

The message field tells you how to resolve the rejection:

messageHow to resolve
Use rejection answer EP to answer rejection.Submit a text reply with the endpoint below.
Upload the requested document via the documents EP to answer this rejection.The rejection asks for a document, not a text answer — the endpoint below will not close it. Resolve it with the Upload order documents endpoint instead, passing this rejection's id as rejection_id — doing so also lets you omit field_key entirely, since the server derives it from the rejection. This message covers two distinct rejection kinds: an ad-hoc file request, and a required document rejection tied to a specific input field. For a required-document rejection you can alternatively upload with field_key set to that field's key and skip rejection_id altogether, since it's satisfied independently of how many other rejections are open. For a file request there's no such key-based alternative — rejection_id is required to resolve it; a plain attachment upload (no field_key, no rejection_id) leaves the file request open.

📝 Bundled orders: For an incorporation/bundle order, the parent order's required_actions.rejections list also includes rejections raised on its child lines. The child orders are never exposed individually, so respond using the parent order's uuid and the rejection id — Swyft routes the answer to the correct underlying line automatically.

Submit a rejection response

POST {baseUrl}/orders/{order_uuid}/rejection
Authorization: Bearer {token}
Content-Type: application/json
{
"order_rejection_id": 220742,
"field": "business_name",
"response": "Bright Harbor Consulting LLC."
}
FieldTypeNotes
order_uuidstring (path)UUID of the order you are tracking (the parent order for a bundle).
order_rejection_idintegerThe id from required_actions.rejections. Must belong to the order or one of its child lines.
responsestringYour reply that resolves the rejection. Max 255 characters.

Success

{
"data": {
"message": "Rejection response submitted successfully",
"order_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"success": true
}

Recording the response closes the rejection: it no longer appears under required_actions.rejections. If ALL pending rejections have been settled the order's reported status moves from Action Required back to In Progress. A order_status_change webhook is emitted for the order's new status.

📝 Note: EIN-specific rejections (the entry with error_code and id: null) are handled separately and are not answerable through this endpoint.

Errors and edge cases

  • 422 Validation: order_rejection_id is missing/unknown, the rejection does not belong to this order (or its child lines), the rejection has already been responded to, or response is empty or longer than 255 characters.
  • 401 / 403: The order is not associated with your partner account.