Gunsmith API Service
Digital work order management for gunsmith services
🔧 Service Overview
The Gunsmith API enables seamless digital work order creation and management for firearm servicing. Streamline your gunsmith operations with our comprehensive API that handles customer information, firearm details, and service tracking.
🔑 Prerequisites
This API requires an active subscription to the 2A Commerce Gunsmith Work Order Tool.
- All service options are configured within the Gunsmith Work Order Tool
- Created work orders are automatically sent to your tool dashboard
- Manage and track all submissions through the web interface
📝 API Workflow
- Step 1: Fetch available service options, manufacturers, and calibers
- Step 2: Collect customer and firearm information
- Step 3: Submit the work order with selected services
Get Service Options
Retrieve all available service types, firearm manufacturers, types, and calibers for work order creation.
Endpoint
/services/gunsmith/work-order/options
💡 Pro Tip: Call this endpoint first to populate dropdown menus in your application with valid options. These options are managed through your Gunsmith Work Order Tool dashboard.
Example Response
{ "status": "ok", "data": { "labors": [ { "id": 1, "name": "General Service", "description": null }, { "id": 2, "name": "Firearm Personalization", "description": null }, { "id": 3, "name": "Firearm Safety Inspection", "description": null } ], "firearm": { "types": ["Handgun", "Rifle", "Shotgun", "Other"], "manufacturers": ["Glock", "Smith & Wesson", "Ruger", "Sig Sauer", "Other"], "calibers": [".22 LR", ".22 WMR", "9mm", ".45 ACP", ".223 Rem", "Other"] } } }
Response Fields
- labors: Array of available gunsmith services with ID and name
- firearm.types: Valid firearm type options
- firearm.manufacturers: Supported manufacturer list
- firearm.calibers: Available caliber options
Create Work Order
Submit a new gunsmith work order with customer details, firearm information, and requested services.
Endpoint
/services/gunsmith/work-order
Request Body Structure
customer Customer Information
firstname |
string – Required |
lastname |
string – Required |
email |
email – Required |
phone |
string – Required |
street_address |
string – Required |
city |
string – Required |
state |
string – Required |
zip |
numeric – Required |
firearm Firearm Information
model |
string – Required |
serial_number |
string – Required |
manufacturer |
string – Required (from options) |
type |
string – Required (from options) |
caliber |
string – Required (from options) |
labors Service Selection
Array of service IDs – Required (at least one service must be selected)
Example Request
{ "customer": { "firstname": "John", "lastname": "Doe", "email": "john.doe@email.com", "phone": "555-123-4567", "street_address": "123 Main Street", "city": "Austin", "state": "TX", "zip": "78701" }, "firearm": { "model": "Glock 19 Gen 5", "serial_number": "ABC123456", "manufacturer": "Glock", "type": "Handgun", "caliber": "9mm" }, "labors": ["1", "3"] }
Success Response
{ "status": "ok", "data": { "message": "Work Order successfully created!" } }
✅ Success: The work order has been created and submitted to your Gunsmith Work Order Tool dashboard for processing.
📋 Important Validation Rules
- All fields marked as Required must be provided
- Email must be in valid email format (example@domain.com)
- Manufacturer, type, and caliber must match values from the options endpoint
- At least one labor service ID must be selected
- Zip code must be numeric (5 digits for US zip codes)
🚀 Integration Best Practices
- Configure your service options in the Gunsmith Work Order Tool before API integration
- Always fetch options before displaying the work order form
- Validate inputs client-side to reduce API errors
- Store the options response locally to avoid repeated API calls
- Implement proper error handling for all API responses
- Consider implementing a confirmation step before final submission
- Monitor submitted work orders through your tool dashboard
Need Technical Support?
Our API team is here to help with integration questions and technical issues.
Contact API Support →