Standalone Service Example
Standalone services follow a multi-step fulfillment flow in which baseline information is collected at order creation, and additional requirements may be identified during processing.
This example uses the EIN application to illustrate the typical lifecycle. Other standalone services follow the same pattern, with service-specific requirements and statuses.
The following list summarizes the steps to submit a Standalone order.
| Step | Method | Endpoint |
|---|---|---|
| 1. Get Service Configuration and Catalog information | GET | /service-carts/{service} |
| 2. Get Business Classification Data | GET | /business-classifications |
| 3. Create order | POST | /orders |
| 4. Get order information (optional) | GET | /orders/{order_uuid} |
| 5. Receive and respond Information Requests and Order Rejections over Webhooks |
1. Get Service Configuration and Catalog informationโ
Calling this endpoint will return the service configuration and catalog information for the Standalone order. Important information includes:
-
input_fields: The input fields that are required to create the Standalone order. You can build your front end dynamically based on this information.๐ Note: The
input_fieldsresponse provides the baseline required fields for order creation. Additional requirements may be identified during processing and surfaced through follow-up actions. -
catalog: The list of products that are available for the Standalone order.
GET {baseUrl}/service-carts/ein?state=TX&business_type=LLC
Authorization: Bearer {token}
Abbreviated success payload:
{
"success": true,
"data": {
"name": "EIN Application",
"slug": "ein",
"description": "Federal Employer Identification Number (EIN) application.",
"input_fields": [
{
"name": "Entity legal name",
"key": "business_data.name",
"type": "string",
"description": "Legal name for IRS records",
"required": true,
"validation_rules": ["required", "string", "max:255"]
},
{
"name": "Formation state",
"key": "business_data.formation_state",
"type": "enum",
"description": "State of formation or principal business (two-letter code)",
"required": true,
"validation_rules": ["required", "size:2", "exists:states,abbr"]
},
{
"name": "NAICS category",
"key": "business_data.category",
"type": "string",
"description": "Business Classification Category (NAICS) numeric code",
"required": true,
"validation_rules": ["required"]
}
],
"catalog": [
{
"sku": "SF_EIN_EXAMPLE_SG_0",
"name": "EIN Application",
"item_type": "product",
"has_gov_fee": false,
"price": 79,
"package": false
}
]
}
}
2. Get Business Classification Dataโ
Calling this endpoint will return the business classification data for the Standalone order. You will be required to provide a NAICS code from this list to create the order data in the next step.
GET {baseUrl}/business-classifications?q=agriculture
Authorization: Bearer {token}
{
"success": true,
"data": [
{
"id": 1,
"naics": "111111",
"description": "Agriculture, forestry, fishing and hunting",
"cd_code": "07324d4e-3f71-48f0-a846-723e029c94e7"
}
]
}
3. Create orderโ
Calling this endpoint will create the Standalone order whose status can be either Created or Under Review (status = "Created" or status = "Under Review"). Orders with Created status are just placeholders and do not represent valid orders that need to be processed by SwyftFilings. However, orders with Under Review status are valid orders that are ready to be processed by SwyftFilings.
Make sure to store the order uuid returned in the response to use it in the next steps.
โ ๏ธ Important: If an order is submitted after creation (status = "Under Review"), this will trigger the order processing, so after this point SwyftFilings will start processing the order and you will receive updates via Webhook according to your integration setup.
POST {baseUrl}/orders
Authorization: Bearer {token}
Content-Type: application/json
{
"service": "ein",
"email": "[email protected]",
"first_name": "Chris",
"last_name": "Lee",
"phone_number": "5554443333",
"consent_sms": false,
"business_data": {
"name": "Acme Holdings LLC",
"type": "LLC",
"formation_state": "WY",
"category": "541211",
"address": "30 N Gould St",
"city": "Sheridan",
"state": "WY",
"zip": "82801"
}
}
Abbreviated response:
{
"success": true,
"data": {
"message": "Order created successfully",
"order_uuid": "d4e5f6a7-b8c9-0123-def0-234567890123"
}
}
4. Get order information (optional)โ
Calling this endpoint will return the order information. You can use this information to display the order details to the user or your internal systems.
GET {baseUrl}/orders/d4e5f6a7-b8c9-0123-def0-234567890123
Authorization: Bearer {token}
Abbreviated response:
{
"success": true,
"data": {
"id": 1,
"uuid": "d4e5f6a7-b8c9-0123-def0-234567890123",
"service": "ein",
"status": "In Progress",
"business_data": {
"name": "Acme Holdings LLC",
"type": "LLC",
"formation_state": "WY"
},
"managers_data": [],
"order_items": [
{ "submitted_at": "2026-07-01", "type": "sale", "items": ["SF_EIN_EXAMPLE_SG_0"] }
],
"required_actions": {
"rejections": [],
"questionnaires": [],
"alerts": []
},
"documents": []
}
}
5. Receive and respond Information Request over Webhooksโ
After the order is submitted, you may receive information requests and Order Rejections from the Agent, while fulfiling the order. These requests need to be replied with the correct or added information.
Partners can:
- provide any requested information or corrections
- respond to follow-up requirements
Processing continues once all required information is received.
๐งช Testing in Sandbox? You don't have to wait on real fulfillment to test these transitions โ see Self-Service Order Status Change to cancel, complete, or open a rejection on your own test orders.