Skip to main content

Response Envelope

Every response from the EasyCred API uses a single consistent envelope:
{
  "success": true,
  "data": { ... }
}

HTTP Status Codes

CodeMeaningCommon Causes
200 / 201Success / CreatedRequest processed successfully
400Validation errorBad field value, or ONLINE_INSTANT sent to the journey endpoint
401Authentication failedBad/missing signature, stale timestamp (>±300s), replayed nonce, or missing journey session
403Authenticated but not allowedMissing scope, product not granted, or key suspended/revoked
404Not foundJourney or application ID does not exist
409State conflictAction sent at the wrong step, or a duplicate action in flight
429Rate limit exceededToo many requests — see rate limits below

Rate Limits

Per-Minute Limit

120 requests / minute per API keyEvery response includes a RateLimit-Remaining header so you can track your usage.

Per-Day Limit

20,000 requests / day per API keyThese are default limits — contact EasyCred if your integration needs higher throughput.

Retry Strategy

Back off and retry. Check the RateLimit-Remaining header and respect the Retry-After header if present. Use exponential backoff to avoid hammering the API.
Re-read journey state and re-evaluate the category — the journey has already advanced. Do not blindly retry the same action.Submitting the same action twice is safe — it is single-flight locked and a duplicate returns 409 without advancing the journey.
Retry with exponential backoff. EasyCred’s infrastructure is highly available, but transient errors can occur during maintenance windows.

Error Handling Checklist

1

Check the success field

Always check response.success before accessing response.data.
2

Handle validation errors

For 400 from /journey/initiate, iterate response.details to surface field-specific messages to your user.
3

Never retry 403

A 403 means your key lacks permission or the product isn’t granted — retrying won’t help. Check your scopes or contact EasyCred.
4

Re-read state on 409

Don’t retry the same action. Call GET /journey/{journeyId} to get the current nextAction and proceed from there.
5

Monitor RateLimit-Remaining

Track the RateLimit-Remaining header and implement backoff before you hit 429.