Skip to the documentation
API

Retrieve a contact

Addresses are stored lowercased and the lookup matches that way, so case in the path does not matter. The single-contact response also carries `audiences`, every list the contact is in.

GET/contacts/{email}

Runs the real call on your workspace.

GET /contacts/{email}

Addresses are stored lowercased and the lookup matches that way, so case in the path does not matter. The single-contact response also carries audiences, every list the contact is in.

Example

Needs contacts:read. URL-encode the @.

curl
curl "$OE/contacts/ada%40example.com" -H "$AUTH"
Response
{  "object": "contact",  "email": "[email protected]",  "name": "Ada Lovelace",  "source": "auto",  "notes": null,  "photoUrl": "https://cdn-prod.openemail.uk/contacts/photos/5b0e2c7a-91d4-4f3e-8a26-c4f1d9e07b3a.webp",  "lastSeenAt": "2026-08-29T08:19:08.000Z",  "createdAt": "2026-08-01T10:00:00.000Z",  "updatedAt": "2026-08-29T08:19:08.000Z",  "audiences": [    { "id": "aud_9f2c4b7e1a0d63d84c5f2e7b", "name": "All contacts", "builtin": "default" }  ]}

An unknown address is a 404, not an empty contact.

Writing is on the neighbouring pages: Create a contact, Update a contact, Set a contact's audiences and Delete a contact.

A caller that also holds forms:read gets signUps: the last 20 sign-ups of the address, newest first, each with its form, its status and its answers. The workspace owner sees every form, and anybody else the forms they created.

Reference