Look up a contact by email
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"contactId": "6627f2b5c2e0a51b8c0d4e7c",
"firstName": "Jon",
"lastName": "Doe",
"email": "example@test.com",
"isDeliverable": true,
"scopes": [
{
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"businessRoles": [
"Finance Manager"
],
"isPrimary": true,
"upstreamDownstreamAssociationId": "6627f1a9c2e0a51b8c0d4e3a"
}
],
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-06-02T08:12:44.000Z"
},
"requestId": "dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8",
"timestamp": "2025-11-12T20:49:03.293Z"
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}Contacts
Look Up a Contact by Email
Find a contact by email address instead of by id
GET
/
v2
/
downstream
/
contacts
/
by-email
Look up a contact by email
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public.api.live.turrisfi.com/v2/downstream/contacts/by-email"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"contactId": "6627f2b5c2e0a51b8c0d4e7c",
"firstName": "Jon",
"lastName": "Doe",
"email": "example@test.com",
"isDeliverable": true,
"scopes": [
{
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"businessRoles": [
"Finance Manager"
],
"isPrimary": true,
"upstreamDownstreamAssociationId": "6627f1a9c2e0a51b8c0d4e3a"
}
],
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-06-02T08:12:44.000Z"
},
"requestId": "dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8",
"timestamp": "2025-11-12T20:49:03.293Z"
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}Returns the contact holding an email address, if that contact is scoped to your organization.
Matching is case-insensitive, because contact email is stored normalised.
Example@Test.com and example@test.com are the same address.
An address that exists on Turris but belongs to another agency returns 404, exactly as an unknown address does. This endpoint cannot be used to test whether an address is known to the platform.
Authorizations
bearerrestricted-access-token
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
The email address to look up. Matching is case-insensitive. Returns 404 when no contact in your organization has this address, including when the address belongs to another agency.
Example:
"example@test.com"
Was this page helpful?