Skip to main content
GET
/
public
/
v1
/
contacts
/
by-email
/
{email}
Python
import requests

url = 'https://api.minimo.it/public/v1/contacts/by-email/customer@example.com'
headers = {'Authorization': 'Bearer {{BEARER_TOKEN}}'}
response = requests.get(url, headers=headers)
print(response.json())
{
  "id": 123,
  "email": "<string>",
  "phone": "<string>",
  "status": "<string>",
  "source": "<string>",
  "custom_fields": {},
  "company": 123,
  "deleted": true,
  "external_id": "<string>",
  "external_connection_id": 123
}
Use this endpoint to look up a contact’s ID, then use Update by ID to modify it — for example, to change the contact’s email address.

Use Cases

  • Look up contact ID: Find a contact’s internal ID to use with other endpoints
  • Check if contact exists: Verify whether an email is already in your contact list
  • Read contact data: Retrieve full contact details including custom fields

Response

Returns the full contact object:
{
  "data": {
    "id": 42,
    "email": "customer@example.com",
    "phone": "+393391234567",
    "status": "active",
    "source": "API",
    "custom_fields": {
      "company": "Acme Corp",
      "plan": "enterprise"
    },
    "company": 1,
    "deleted": false,
    "external_id": null,
    "external_connection_id": null
  }
}
Soft-deleted contacts are not returned — a 404 is returned instead.

Common Errors

ErrorCauseSolution
bad_requestInvalid email formatEnsure the email address is valid
not_foundNo contact with this emailCheck the email address
unauthorizedInvalid API keyVerify API key in Authorization header

Example: Look Up and Update a Contact

const API_URL = 'https://api.minimo.it/public/v1/contacts';
const headers = {
  Authorization: 'Bearer mn-YOUR_CLIENT_ID-YOUR_API_KEY',
  'Content-Type': 'application/json',
};

// Step 1: Get the contact by email
const email = 'customer@example.com';
const contact = await fetch(`${API_URL}/by-email/${encodeURIComponent(email)}`, { headers }).then((res) => res.json());

// Step 2: Update the contact by ID (e.g., change email)
await fetch(`${API_URL}/${contact.data.id}`, {
  method: 'PUT',
  headers,
  body: JSON.stringify({ email: 'new-email@example.com' }),
});

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

email
string<email>
required

Email address of the contact

Response

Contact found

id
integer

Contact ID

Example:

42

email
string | null

Email address

Example:

"customer@example.com"

phone
string | null

Phone number in E.164 format

Example:

"+393391234567"

status
string | null

Contact status

Example:

"active"

source
string | null

Contact source

Example:

"API"

custom_fields
object

Custom field key-value pairs

company
integer | null

Company ID

deleted
boolean

Whether the contact is soft-deleted

Example:

false

external_id
string | null

External system ID

external_connection_id
integer | null

External connection ID