Check Credentials API
This API returns whether a user has a valid and active credential required for a given policy. For example, passing in an IAL2 policy scope returns whether the user is verified at that level or not.
Environments
ID.me provides two environments:
https://api.idmelabs.com
- Used for development, connectivity, and user-acceptance testing
- Test credentials can be used for testing various scenarios
- Credentials are separate from the production environment
https://api.id.me
- Used for production-level integration
- Only real credentials can be used (no test credentials)
- Credentials are separate from the sandbox environment
Authentication
API authentication works using a shared secret token generated with a strong cryptographic algorithm. This token must be handled and stored securely.
All API calls require the token to be passed in the request, using either a query parameter or a Bearer token authorization header:
The API token only grants access to the endpoints listed in this document, and access is constrained to users tied to the partner through a valid and active credential license. If no credential license exists, or the license has expired, the request is rejected with an appropriate error message.
API tokens are provided out-of-band from the technical integration.
Errors and HTTP status codes
Common HTTP status codes separate failure scenarios by type. Some responses also include a specific error code and human-readable message:
401 - Invalid authentication credentials
403 - Credentials do not have access to given resource
Other status codes
Validation errors
HTTP status code 422 is reserved for input validation errors. The response contains an object where the keys correspond to input parameter names and the values are error messages.
The key can also be base, indicating a higher-level, process-related error — for example, an SMS-based code that has already been used or has exceeded the retry threshold.
Recommended handling
Treat errors on the base key as overall, general errors shown in a notification banner at the top of the page. Show individual field-related errors below the corresponding field. This mirrors the structure of the API response in the UI.
Check credentials
POST /api/auth/v1/credentials/:uuid/check
Returns whether a user has a valid and active credential required for a given policy. For example, passing in an IAL2 policy scope returns whether the user is verified at that level or not.