ABDM Error Matrix
This matrix groups the error phrases found in the Swagger files and Postman collections we reviewed, and shows how they are currently handled by the shared ABDM normalizer.
Authentication And Session
| Swagger phrase | Current handling | Notes |
|---|---|---|
Invalid Credentials |
Mapped | Normalized to a user-facing auth failure message. |
Missing Credentials |
Mapped | Treated as a 401 authentication requirement. |
Invalid JWT token |
Mapped | Normalized to a session-invalid message. |
Invalid X-token / Invalid X Auth token |
Mapped | Session token rejected or expired. |
Invalid T-token |
Mapped | Session token rejected or expired. |
Invalid access token |
Mapped | Same family as the X-token cases. |
Invalid client id / Invalid client secret |
Mapped | Gateway/client credential validation. |
Access Denied |
Mapped | Normalized to a 403 permission error. |
Not authorized |
Mapped | Used by some consent and subscription flows. |
Unclassified Authentication Failure |
Mapped | Treated as a retryable ABDM auth-service failure. |
Invalid response |
Mapped | Retryable backend response issue. |
Discovery And Linking
| Swagger phrase | Current handling | Notes |
|---|---|---|
Duplicate Discovery request |
Mapped | Reused in PHR user-initiated discovery. |
Duplicate On discovery request |
Mapped | Same retry/duplicate family. |
Duplicate Init request |
Mapped | HIP-initiated linking init. |
Duplicate Confirm request |
Mapped | HIP-initiated linking confirm. |
Duplicate On confirm request |
Mapped | PHR user-initiated linking confirm. |
This care context has already been linked |
Mapped | Terminal linking conflict. |
ABHA address and Link token mismatch |
Mapped | Linking token/address validation. |
Invalid HIP ID |
Mapped | HIP identity validation. |
Invalid ABHA Number or ABHA Address |
Mapped | Combined identifier validation. |
Gender is invalid |
Mapped | Discovery/on-init validation. |
Consent Management
| Swagger phrase | Current handling | Notes |
|---|---|---|
Invalid status, Please provide a valid status |
Mapped | Consent notification status validation. |
Invalid ConsentId, Please provide a valid ConsentId |
Mapped | Consent approval/denial flow. |
Invalid Consent request id |
Mapped | Consent request lookup or acknowledgement. |
Invalid Consent artefact id |
Mapped | Consent artefact fetch/lookup. |
Invalid purpose text ... |
Mapped | Consent purpose validation. |
Invalid consent purpose refURI |
Mapped | Consent purpose URI validation. |
Invalid from/to date ... |
Mapped | Date range validation. |
Invalid date range, from date should be less than to date |
Mapped | Alternate consent date-range wording. |
Invalid Service ID ... |
Mapped | Consent/service identifier validation. |
RequestId cannot be NULL or Blank |
Mapped | Empty request-id validation. |
Patient Share And Data Transfer
| Swagger phrase | Current handling | Notes |
|---|---|---|
Bad Request, invalid request Body |
Mapped | Generic payload-shape failure. |
Invalid request |
Mapped | Generic request validation. |
Counter and Care context count mismatch |
Mapped | Often seen in share/init-style payloads. |
statusResponses is mandatory |
Mapped | Required response list missing. |
Missing entries information |
Mapped | Required HI entries missing. |
This health information response has already been submitted |
Mapped | Duplicate response suppression. |
Dependent service unavailable |
Mapped | Retryable dependency failure. |
Service Unavailable |
Mapped | Retryable temporary backend outage. |
Unclassified Authentication Failure |
Mapped | Retryable gateway/auth-layer failure. |
server cannot find the requested resource |
Mapped | 404 resource/path failure. |
No matching resource found for given API Request |
Mapped | 404 resource/path failure. |
OTP, Request, And Validation Text
| Swagger phrase | Current handling | Notes |
|---|---|---|
Invalid Scope |
Mapped | Shared across multiple flows. |
Invalid LoginId |
Mapped | Shared across multiple flows. |
Invalid Login Hint |
Mapped | Shared across multiple flows. |
Invalid Auth Methods |
Mapped | Shared across multiple flows. |
Invalid OTP Request |
Mapped | OTP request validation. |
Invalid OTP Value |
Mapped | OTP verification. |
Invalid transaction id |
Mapped | Session/transaction invalidation. |
Transaction is not found for UUID |
Mapped | Terminal not-found case. |
OTP expired, please try again |
Mapped | Expired OTP validation. |
This mobile number is already verified |
Mapped | Mobile verification conflict. |
This ABHA address already exists |
Mapped | Address uniqueness conflict. |
Notes
- Most of the Swagger error bodies are documented as examples rather than formal schemas, so the shared normalizer prefers the actual
messageordescriptionfield when the wrapper text is generic. - The shared mapper is intentionally opinionated for common ABDM phrases so the UI can show a stable, human-readable message even when the upstream response is terse or inconsistent.
- Several success/acknowledgement phrases in the specs are not errors and are not mapped here, such as
Successfully denied Subscription request.