Skip to main content

HTTP status codes

CodeMeaning
200Request processed. Check the status field — a lead can be accepted or rejected at this level.
400Malformed request — missing required fields or invalid values. See details for field-level errors.
401API Key missing or invalid.
422Semantically invalid data — consents not accepted, product not found, etc.
500Internal server error. Contact TECHEA support if this persists.

Error response body

{
  "error": "validation_error",
  "message": "Request body validation failed",
  "details": [
    { "field": "product_data.loan_amount", "issue": "must be between 500 and 75000" }
  ]
}
The details array is only populated on 400 responses.

Rejection reasons

A 200 response with status: rejected includes a rejection_reason:
ReasonDescription
customer_already_existsA customer with this email is already in the system
duplicate_submissionThis customer was submitted too recently
eligibility_failedCustomer does not meet eligibility criteria
age_restrictionCustomer’s age is outside the accepted range
income_insufficientCustomer’s declared income is below the minimum threshold
geographic_restrictionCustomer’s location is not supported
no_matching_advertisersNo active advertisers match this customer’s profile
consents_missingRequired consents (terms, privacy_policy) were not accepted
invalid_productProduct not found or not active
blacklistedCustomer is on the internal blacklist
fraud_suspectedFraud signals detected in the submission
A rejected response is a valid business outcome, not an API error — the HTTP status is still 200. Always check the status field, not just the HTTP code.