---
title: Error codes
description: Consolidated catalog of HTTP and platform error codes across Web & SDK, API, and Magic Link contracts.
canonical: https://developer.unico.io/developers/start/error-codes
locale: en
generated_by: markdown-export
---

- [/](/)
- [Start](/developers/start/)
- Error codes

**On this page# Error codes

This page is the single source of truth for error handling. SDK-specific error codes are documented in each SDK's Error handling page; this page covers errors at the API contract level.
### HTTP status codes​

CodeMeaning`200 OK`Request succeeded.`400 Bad Request`Payload is malformed or required fields are missing. The body identifies the problematic fields.`401 Unauthorized`Authentication missing, expired, or invalid.`403 Forbidden`Authentication is valid but the tenant is not enabled for the requested resource (e.g., calling a capability not in your `APIKEY`).`404 Not Found`Resource does not exist or does not belong to the authenticated tenant.`409 Conflict`The resource exists but is not in the right state for this operation (e.g., fetching documents from a process still in progress).`410 Gone`The resource existed but was deleted per the retention policy (document fetch endpoints), or the process exists but ended in an error state — see [Get Process](/developers/api-reference/get-process).`429 Too Many Requests`You hit the [rate limit](/developers/start/rate-limits). Retry with exponential backoff.`5xx`Platform error. Retry with backoff; if persistent, contact support with the response body and timestamp.
### Retry policy​

StatusShould retry?How`5xx`YesExponential backoff (1s, 2s, 4s, 8s, …). Cap at 5 attempts.`429`YesHonor the `Retry-After` header if present; otherwise exponential backoff.`4xx` (other)NoThe request is wrong. Fix the input before retrying.`401`ConditionallyRefresh the access token once. If the new request also returns `401`, the issue is structural — don't retry.
IdempotencyThe IDCloud platform does not currently expose an idempotency-key mechanism on creation endpoints. Be cautious when retrying [Create Process](/developers/api-reference/post-processes) — a network error on a `5xx` may have actually succeeded server-side, and a retry would create a duplicate process. When in doubt, retrieve recent processes by your internal correlation ID before retrying.
### Where SDK errors live​

The error catalogs of the Android SDK, iOS SDK, and Flutter SDK are documented in each SDK's dedicated **Error handling** page:

[Android SDK > Error handling](/developers/sdks-and-tools/android/error-handling)
[iOS SDK > Error handling](/developers/sdks-and-tools/ios/error-handling)
[Flutter SDK > Error handling](/developers/sdks-and-tools/flutter/error-handling)

These cover device-side errors (camera permission denied, capture timeout, network unreachable on the device) — separate from the API-side errors documented here.Last updated on Oct 8, 2026**