Error Response Format
message field is human-readable and safe to surface in logs. Never rely on its exact wording in code — use statusCode for branching logic.
HTTP Status Codes
Common Errors and Fixes
401 Unauthorized
Authorization header is missing, the token has expired, or it is malformed.
Fix: Ensure every request includes Authorization: Bearer <your_token>. Contact support@9squid.com if your token has expired.
403 Forbidden
409 Conflict — Draft Deal Already Exists
PATCH /originator/loans/:dealId to regenerate the upload URL for the existing draft, or DELETE it and start fresh.
413 Payload Too Large
Fix: Ensure your loan tape file is under the platform’s size limit. For large datasets use the Bulk Loan Upload workflow which handles chunked multi-deal submission.429 Too Many Requests
429 with a Retry-After header indicating how many seconds to wait.
Fix: Back off for the duration specified in
Retry-After before retrying. See the retry strategy below.
Retry Strategy
Not all errors are worth retrying. Follow this decision tree:Exponential Backoff Example
Validating Before You Send
Most400 errors can be avoided by validating locally first:
- Loan type must be one of:
Auto,Personal,Mortgage,Student,Business,Credit Card - File format must be
text/csvorapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet - Required fields are documented per endpoint in the API Reference
- deal_id and file_name in the complete step must exactly match what was returned in the initiate step
Support
Before reporting an error, check status.9squid.com to see if it corresponds to an ongoing incident. If you encounter a500 error or an undocumented error message, contact support@9squid.com with:
- The full request (endpoint, headers, body — redact your token)
- The full response body
- A timestamp of when the error occurred