Skip to main content

What is PRESS?

The Proactive Record Status Service - PRESS sends you notifications when something changes in a person’s record at ICP — such as entering or leaving the country, a visa extension, or a status change. Instead of polling an API on a schedule, PRESS pushes events directly to your webhook endpoint periodically. You only receive alerts for people already onboarded in your KYC portfolio — not the general population.
PRESS replaces the legacy pull-based model where clients ran cron jobs against the Stale Residents API. With PRESS, you receive events periodically without polling.

Legacy (Pull) vs PRESS (Push)

Legacy (Stale Residents API)PRESS (Webhook)
How it worksYou poll ICP on a scheduleICP pushes events to you
SetupBuild a cron job + API consumerRegister a webhook endpoint
LatencyHours or once a day (depends on cron)Event-based
TrafficConstant polling, mostly empty responsesOnly when events occur
ActionYou check for changesYou react to changes
Tourist Visa — Lifecycle Events

Lifecycle Events

PRESS publishes the following events. Each one corresponds to a change in a person’s record at ICP. During webhook setup, you choose which events you want to receive.
EventWhat HappenedExample Scenario
IMMIGRATION_ENTRYPerson entered the UAE through immigrationTourist arrives at Dubai airport
VISA_EXTENSIONVisa validity was extendedTourist extends their 30-day visa by another 30 days
STATUS_CHANGEVisa type or person class changedTourist gets a job and becomes a resident
VISA_CANCELLATIONVisa was cancelledVisa cancelled by authorities or voluntarily
NEW_IDNew Emirates ID was issuedFirst-time issuance, renewal, or re-issuance of an Emirates ID
FILE_CANCELImmigration file was cancelledAn individual’s immigration file has been cancelled

When the Person is Still Legally Allowed to Stay

Some lifecycle events indicate a change in status, but the person is legally allowed to stay in the country. Common scenarios include:
EventScenarioResidency Status
STATUS_CHANGETourist converts to ResidentValid — new residency issued
STATUS_CHANGEResident upgrades to Golden VisaValid — long-term residency issued
STATUS_CHANGEResident transitions to another Resident visa (e.g., employer change)Valid — new residency issued
NEW_IDNew Emirates ID issued (renewal or re-issuance)Valid — updated identity document
In these cases, the event tells you something changed — but not the exact current status of the person’s residency or passport. To make informed business decisions, use the Validation APIs to look up the person’s latest status after receiving the event.

EID Validation

Verify the current status of an Emirates ID against ICP records.

Passport Validation

Verify a passport with nationality and type against ICP records.
Recommended pattern: When you receive a STATUS_CHANGE or NEW_ID event for a resident or above, call the EID Validation or Passport Validation API to get the person’s exact current status before taking any business action.

How It Works

1

Register your webhook

Provide your HTTPS endpoint URL and static IP to ICP during onboarding. ICP whitelists the connection and issues you an HMAC signing secret.
2

ICP publishes lifecycle events

Whenever a status change occurs — entry, visa modification, cancellation, or ID update — ICP publishes the event.
3

PRESS matches events to your portfolio

PRESS only monitors your active client population. Events are published only for individuals already onboarded in your KYC portfolio.
4

A signed alert is delivered to your endpoint

When a match is found and the event type is in your subscription, a signed HTTPS POST is delivered to your webhook endpoint.
5

You verify and process

Your endpoint verifies the HMAC signature, responds with HTTP 200 within 500 milliseconds, and processes the event asynchronously.
For the full setup guide, security requirements, and sandbox checklist, see Webhook Setup.

Testing Your Integration

Before going live, validate your webhook endpoint end-to-end using the sandbox environment. You can generate test events directly from the UAE KYC dashboard — no code or API calls needed.

Webhook Setup

Review the full sandbox checklist before requesting production activation.

Sandbox Event Testing

Generate test events from the dashboard and validate your endpoint against real payloads.
During sandbox onboarding, ICP sends test events for each type so you can validate end-to-end before going live.