UAE Pass
UAE Pass is the UAE's national digital identity solution, providing secure and seamless access to government and private sector services. It simplifies authentication with a single digital identity, reducing complexity and enhancing security.
This guide explains how to integrate with the UAE Pass API, including endpoints, authentication, error handling, and best practices.
Key Features
Unified Identity: Access multiple services with one secure login.
Enhanced Security: Advanced encryption and multi-factor authentication.
Easy Integration: Streamlined APIs for quick deployment.
Future-Ready: Supports the UAE’s smart digital economy vision.
Services
Authentication: Verify user identity.
Digital Signing: Enable legally valid digital document signing.
Usage Flow
Choose a service
Send a corresponding request in the Request Data folder
Send follow up request(s)* to Polling/Poll Data
Integrate UAE Pass to deliver secure and efficient digital experiences.
Retrieves user identity details following a successful UAE Pass login.
API Key authentication using x-client-id and x-client-secret headers.
The client secret used for API key authentication.
Redirect URI after user authorization.
Browser: https URL to your website.
Mobile: Universal link (your-app://) or app scheme.
https://www.yourwebsite.com/callbackList of values, separated by spaces, that represent the scope of the authorization that the application wants to obtain. It queries the scopes required for accessing the resources or services in question. Available scopes: sub, fullnameAR, gender, mobile, lastnameEN, fullnameEN, uuid, lastnameAR, idn, nationalityEN, firstnameEN, userType, nationalityAR, firstnameAR, email. (To be shared by UAEPASS Team if its value is other than specified in sample above)
sub fullnameEN email mobileUAE Pass display language, case sensitive
enPossible values: Platform source for the authentication request
PC_BrowserPossible values: Success
Bad Request - Invalid input parameters
Internal Server Error
POST /uaepass/request/auth HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 67
{
"redirect": "https://google.com",
"lang": "en",
"source": "PC_Browser"
}{
"token": "text",
"oAuthUrl": "https://example.com"
}Short poll this endpoint, passing in the token (from endpoints in Request Data folder) to obtain the results.
For authentication, this includes user data. For signing, this provides a link by which the signed document can be obtained.
The response's token is a JWT or JWE depending if there's sensitive personal data. You should handle them like so:
JWTverify* tokenJWEdecrypt using the private keys that Fill Easy has previously provided.
Please note that the data result is returned only once and is deleted immediately.
*you can try using online decoder like https://jwt.io/
all responses are JWE unless noted otherwise.
API Key authentication using x-client-id and x-client-secret headers.
The client secret used for API key authentication.
JWT token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8UPattern: ^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$Success
POST /uaepass/poll HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 120
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"
}Success
{
"message": "text",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U"
}UAE Pass will redirect to this endpoint after user authorization. This endpoint then redirects the user again to the original redirect URI provided in the /uaepass/request/auth request, appending the authorization code and state as query parameters.
Success
No content
GET /uaepass/callback HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
Accept: */*
Success
No content
API Key authentication using x-client-id and x-client-secret headers.
The client secret used for API key authentication.
Redirect URI after user authorization.
Browser: https URL to your website.
Mobile: Universal link (your-app://) or app scheme.
https://www.yourwebsite.com/callbackSuccess
Bad Request - Invalid input parameters
Internal Server Error
POST /uaepass/logout HTTP/1.1
Host: sandbox.staging-api.fill-easy.com
x-client-id: YOUR_API_KEY
x-client-secret: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"redirect": "https://yourapp.com/logged-out"
}{
"logoutUrl": "https://example.com"
}Last updated