Email Read Verification Link (Microsoft Graph)

PythonUtility
POST api.upapi.io/email-read-verification-link-graph.post

Poll an outlook.com mailbox over Microsoft Graph for a verification LINK in a message body, optionally following a click-tracker through a proxy. For accounts whose IMAP switch is off. Returns the link or an error.

emailverificationlinkoutlookgraphutility
AuthAPI key
Cost1 unit
Timeout310s
CacheNone

Request schema

FieldTypeDescription
linkPattern
Regex for candidate URLs in the RAW html body (default: any http(s) URL)· default: null
pollSeconds
numberSeconds between polls· default: 5
maxRedirects
integerMax redirect hops to follow· default: 5
graphClientIdreq
stringMicrosoft public app client_id
senderContainsreq
stringSubstring to match in the From header (e.g. 'discord', 'reddit')
timeoutSeconds
numberMax seconds to poll· default: 120
followRedirects
booleanFollow click-tracker redirects to resolve the actionable URL· default: true
minEpochSeconds
Ignore messages received before this Unix timestamp· default: null
linkHostContains
Keep only candidate URLs whose text contains this (e.g. 'discord.com')· default: null
redirectProxyUrl
Proxy to follow the tracker through (the account's pinned exit)· default: null
graphRefreshTokenreq
stringOAuth refresh token (Mail.Read offline_access)
recipientContains
Substring to match in the To header -- REQUIRED to tell plus-addresses (base+alias@outlook.com) apart when many accounts share one inbox· default: null
redirectHostContains
The actionable URL's host+path (e.g. 'discord.com/verify'): a candidate that already contains it is returned directly; otherwise candidates are followed until a hop contains it· default: null

Response schema

FieldTypeDescription
link
· default: null
error
· default: null
subject
· default: null
successreq
boolean
allLinks
array
elapsedMsreq
integer
receivedAt
· default: null

Try it

Try it

Microsoft public app client_id

Substring to match in the From header (e.g. 'discord', 'reddit')

OAuth refresh token (Mail.Read offline_access)

Regex for candidate URLs in the RAW html body (default: any http(s) URL)

Seconds between polls

Max redirect hops to follow

Max seconds to poll

Follow click-tracker redirects to resolve the actionable URL

Ignore messages received before this Unix timestamp

Keep only candidate URLs whose text contains this (e.g. 'discord.com')

Proxy to follow the tracker through (the account's pinned exit)

Substring to match in the To header -- REQUIRED to tell plus-addresses (base+alias@outlook.com) apart when many accounts share one inbox

The actionable URL's host+path (e.g. 'discord.com/verify'): a candidate that already contains it is returned directly; otherwise candidates are followed until a hop contains it

Run this endpoint live

Jump in as a guest — no signup — and run email-read-verification-link-graph.post with your own inputs. Create a free account anytime to get your own API key.

Sign in

Code examples

curl -X POST https://api.upapi.io/email-read-verification-link-graph.post \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{ "pollSeconds": 5, "maxRedirects": 5, "graphClientId": "example", "senderContains": "discord", "timeoutSeconds": 120, "followRedirects": true, "graphRefreshToken": "example" }'

Developer tools

OpenAPI specImport the spec or collection into Postman, Insomnia, or any codegen tool.