Docs
Error codes
title: "Error Codes"
Error Codes
The Profile Scoring API uses standard HTTP status codes. Every error response includes a JSON body with an error field and a human-readable message.
400 Bad Request
The uploaded file is missing required columns or is not valid CSV.
{
"error": "missing_columns",
"missing": ["INCOME", "EDUCATION"],
"message": "Required columns missing from upload. Provide either collapsed names (AGE_GROUP, SEX, ...) or raw ABS names (AGE5P, SEXP, ...)"
}
How to fix: Check that your CSV has all nine profiling variables plus an id column. Column names are case-insensitive. See Data Format for the full list.
401 Unauthorized
The API key is missing, malformed, or revoked.
{
"error": "unauthorized",
"message": "Missing or invalid API key. Generate one at /account/api."
}
How to fix: Include Authorization: Bearer ask_live_<your_key> in the request header. If the key was recently revoked, generate a new one from Account > API Keys.
402 Payment Required
Your account does not have enough credits to process the file.
{
"error": "insufficient_credits",
"credits_required": 100,
"credits_available": 12,
"message": "Not enough credits to process this request"
}
How to fix: Purchase a credit bundle from Account > Billing, or reduce the file size. Scoring costs 1 credit per 100 rows, rounded up.
413 Payload Too Large
The uploaded file exceeds the 100 MB size limit.
{
"error": "file_too_large",
"max_size_mb": 100
}
How to fix: Split your file into smaller chunks. Each chunk can be up to 100 MB or 1,000,000 rows.
429 Too Many Requests
You have exceeded the rate limit for your account tier.
{
"error": "rate_limit_exceeded",
"retry_after_seconds": 60
}
How to fix: Wait the number of seconds specified in retry_after_seconds, then retry. Free accounts are limited to 10 requests per hour. Paid accounts get 100 requests per hour. If you are hitting the limit regularly, consider batching smaller files into fewer, larger uploads.
500 Internal Server Error
Something went wrong on our side during scoring.
{
"error": "scoring_failed",
"job_id": "score_20260525_xyz789",
"message": "Scoring engine failed. Contact support with this job_id."
}
How to fix: This is not caused by your input. Retry the request. If it fails again, contact support at support@ausynth.com and include the job_id from the response.
503 Service Unavailable
The scoring service is temporarily down for maintenance.
{
"error": "service_unavailable",
"message": "The scoring service is temporarily unavailable. Please try again shortly."
}
How to fix: Wait a few minutes and retry. Planned maintenance windows are announced on the status page.
Data quality warnings (not errors)
Invalid values in your data do not cause errors. They are mapped to Not stated, the row is scored, and the response includes a data_quality object listing what was flagged:
{
"data_quality": {
"rows_with_invalid_values": 2,
"invalid_value_details": [
{"row": 12, "id": "CUST_1012", "field": "INCOME", "value": "$5K-$10K", "mapped_to": "Not stated"},
{"row": 38, "id": "CUST_1038", "field": "AGE_GROUP", "value": "thirty", "mapped_to": "Not stated"}
]
}
}
This is informational, not an error. The invalid_value_details array is capped at 100 entries. Use it to improve your data mapping for future uploads.