Get contact
const url = 'https://api.optizmo.com/deploy/v1/contacts/93942e96f5acd83e2e047ad8fe03114d';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.optizmo.com/deploy/v1/contacts/93942e96f5acd83e2e047ad8fe03114d \ --header 'Authorization: <Authorization>'Fetches a contact by the MD5 hash of its lowercased email address. Disabled
contacts are returned with enabled: false.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The contact identity: the MD5 hex digest of the lowercased email address,
md5(lower(email)). Uppercase hex digests are accepted. For example, the
contact with email Test@Email.com is addressed by
md5('test@email.com') = 93942e96f5acd83e2e047ad8fe03114d.
Responses
Section titled “ Responses ”The contact.
A contact in your account.
object
The contact’s email address.
The contact identity, md5(lower(email)), used in single-contact request paths.
Schema attribute values keyed by attribute name. Attributes of type email
additionally expand into one read-only name:subKey entry per derived
sub-attribute (e.g. name:md5, name:domain). The identity email and the
brand subscriptions are surfaced via the dedicated email and brandIds
fields instead of appearing here.
object
Ids of the brands the contact is subscribed to. May include ids of brands
that have since been deleted from the account; resolve names via
GET /deploy/v1/contacts/{emailMd5}/subscriptions or GET /deploy/v1/brands.
False when the contact has been disabled via POST /deploy/v1/contacts/{emailMd5}/disable.
Timestamp at which the contact was first added.
Example
{ "emailMd5": "b58996c504c5638798eb6b511e6f49af", "attributes": { "first_name": "Alice" }, "brandIds": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ], "createdAt": "2026-06-12T00:00:00Z"}The emailMd5 path parameter is not a valid MD5 hash.
Error envelope returned by every v1 endpoint for failures, following RFC 9457
Problem Details with code and errors extensions.
object
URI identifying the problem type; dereferences to its documentation.
HTTP status code applicable to this problem.
Short, human-readable summary of the problem type.
Detailed explanation specific to this occurrence.
Error code identifying the specific error condition.
URI reference identifying this specific occurrence (the request URI).
Provides additional information when the error relates to specific request fields.
object
Detailed explanation for this specific field error.
JSON Pointer (RFC 6901) to the request body value that caused the error (e.g. /email, /attributes/firstName).
The URI query parameter that caused the error (e.g. pageSize, name[invalid]).
Example
{ "type": "https://docs.optizmo.com/deploy/error-codes#invalid_request_error", "status": 400, "title": "Invalid request", "detail": "emailMd5 must be a hash of type md5", "code": "invalid_request_error", "instance": "/deploy/v1/contacts/not-a-hash", "errors": [ { "detail": "emailMd5 must be a hash of type md5" } ]}Missing or invalid API key.
Error envelope returned by every v1 endpoint for failures, following RFC 9457
Problem Details with code and errors extensions.
object
URI identifying the problem type; dereferences to its documentation.
HTTP status code applicable to this problem.
Short, human-readable summary of the problem type.
Detailed explanation specific to this occurrence.
Error code identifying the specific error condition.
URI reference identifying this specific occurrence (the request URI).
Provides additional information when the error relates to specific request fields.
object
Detailed explanation for this specific field error.
JSON Pointer (RFC 6901) to the request body value that caused the error (e.g. /email, /attributes/firstName).
The URI query parameter that caused the error (e.g. pageSize, name[invalid]).
Example
{ "type": "https://docs.optizmo.com/deploy/error-codes#authentication_error", "status": 401, "title": "Authentication failed", "detail": "credentials required", "code": "authentication_error", "instance": "/deploy/v1/contacts"}Permission denied.
Error envelope returned by every v1 endpoint for failures, following RFC 9457
Problem Details with code and errors extensions.
object
URI identifying the problem type; dereferences to its documentation.
HTTP status code applicable to this problem.
Short, human-readable summary of the problem type.
Detailed explanation specific to this occurrence.
Error code identifying the specific error condition.
URI reference identifying this specific occurrence (the request URI).
Provides additional information when the error relates to specific request fields.
object
Detailed explanation for this specific field error.
JSON Pointer (RFC 6901) to the request body value that caused the error (e.g. /email, /attributes/firstName).
The URI query parameter that caused the error (e.g. pageSize, name[invalid]).
Example
{ "type": "https://docs.optizmo.com/deploy/error-codes#permission_error", "status": 403, "title": "Permission denied", "detail": "api key required", "code": "permission_error", "instance": "/deploy/v1/contacts"}No contact with this emailMd5 exists in your account.
Error envelope returned by every v1 endpoint for failures, following RFC 9457
Problem Details with code and errors extensions.
object
URI identifying the problem type; dereferences to its documentation.
HTTP status code applicable to this problem.
Short, human-readable summary of the problem type.
Detailed explanation specific to this occurrence.
Error code identifying the specific error condition.
URI reference identifying this specific occurrence (the request URI).
Provides additional information when the error relates to specific request fields.
object
Detailed explanation for this specific field error.
JSON Pointer (RFC 6901) to the request body value that caused the error (e.g. /email, /attributes/firstName).
The URI query parameter that caused the error (e.g. pageSize, name[invalid]).
Example
{ "type": "https://docs.optizmo.com/deploy/error-codes#not_found_error", "status": 404, "title": "Not found", "detail": "Contact not found", "code": "not_found_error", "instance": "/deploy/v1/contacts/93942e96f5acd83e2e047ad8fe03114d"}