Skip to main content
POST
/
api
/
webhook
/
email
/
outlook
Handle Outlook (Microsoft Graph) change notification
curl --request POST \
  --url https://your-instance.example.com/api/webhook/email/outlook \
  --header 'Content-Type: application/json' \
  --data '
{
  "value": [
    {
      "subscriptionId": "7f4b2c1d-9e0a-4b3c-8d5e-6f7a8b9c0d1e",
      "subscriptionExpirationDateTime": "2026-05-20T15:04:01.135Z",
      "changeType": "created",
      "resource": "Users/ops@acme.example/Messages/AAMkAGI2T..==",
      "resourceData": {
        "@odata.type": "#Microsoft.Graph.Message",
        "@odata.id": "Users/ops@acme.example/Messages/AAMkAGI2T..==",
        "id": "AAMkAGI2T..=="
      },
      "clientState": "tether-outlook-secret",
      "tenantId": "5f7b1c2e-8a1d-4e00-12c3-b4a55f7b1c2e"
    }
  ]
}
'
"A1B2C3D4-E5F6-7890-ABCD-EF1234567890"

Documentation Index

Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt

Use this file to discover all available pages before exploring further.

Query Parameters

validationToken
string

Sent by Microsoft Graph during subscription validation. When present the endpoint echoes it back as text/plain and skips notification processing.

Body

application/json

Microsoft Graph change notification batch.

value
object[]

Array of change notifications Microsoft Graph batches into one request.

Response

Validation handshake — the supplied validationToken is echoed back as plain text.

The response is of type string.