curl -X POST \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "jane@example.com", "first_name": "Jane", "last_name": "Doe", "tags": ["speaker"]}' \
"https://www.gomry.com/api/v1/contacts"
const response = await fetch("https://www.gomry.com/api/v1/contacts", {
method: "POST",
headers: {
"X-API-KEY": "your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "jane@example.com",
first_name: "Jane",
last_name: "Doe",
tags: ["speaker"],
}),
});
const { data } = await response.json();
{
"data": {
"id": "AbCdEfGhIjKlMnOpQrSt",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone_number": null,
"status": "active",
"job_title": null,
"company": null,
"university": null,
"gender": null,
"birthday": null,
"location": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"github": null,
"website": null,
"tags": ["speaker"],
"created_at": "2025-07-15T10:00:00.000Z",
"updated_at": "2025-07-15T10:00:00.000Z"
}
}
{
"error": "A contact with this email already exists",
"data": {
"id": "ExistingContactId",
"first_name": "Jane",
"email": "jane@example.com",
"..."
}
}
{
"error": "Validation failed",
"details": {
"formErrors": ["At least one of email or phone_number is required"],
"fieldErrors": {}
}
}
Contacts
Create Contact
Create a new contact in your organization
POST
/
contacts
curl -X POST \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "jane@example.com", "first_name": "Jane", "last_name": "Doe", "tags": ["speaker"]}' \
"https://www.gomry.com/api/v1/contacts"
const response = await fetch("https://www.gomry.com/api/v1/contacts", {
method: "POST",
headers: {
"X-API-KEY": "your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "jane@example.com",
first_name: "Jane",
last_name: "Doe",
tags: ["speaker"],
}),
});
const { data } = await response.json();
{
"data": {
"id": "AbCdEfGhIjKlMnOpQrSt",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone_number": null,
"status": "active",
"job_title": null,
"company": null,
"university": null,
"gender": null,
"birthday": null,
"location": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"github": null,
"website": null,
"tags": ["speaker"],
"created_at": "2025-07-15T10:00:00.000Z",
"updated_at": "2025-07-15T10:00:00.000Z"
}
}
{
"error": "A contact with this email already exists",
"data": {
"id": "ExistingContactId",
"first_name": "Jane",
"email": "jane@example.com",
"..."
}
}
{
"error": "Validation failed",
"details": {
"formErrors": ["At least one of email or phone_number is required"],
"fieldErrors": {}
}
}
Create Contact
Creates a new contact in your organization. At least one ofemail or phone_number is required.
If a contact with the same email already exists, the endpoint returns 409 Conflict with the existing contact data.
Request Body
string
Email address. Will be normalized to lowercase. Must be a valid email format.At least one of
email or phone_number is required.string
Phone number in international format (e.g.,
+1234567890).At least one of email or phone_number is required.string
First name.
string
Last name.
string
Job title.
string
Company name.
string
University name.
string
Gender.
string
Birthday (any string format, e.g.,
1990-01-15).string
Location (e.g.,
New York, NY).string
LinkedIn URL.
string
Instagram handle or URL.
string
Twitter handle or URL.
string
GitHub handle or URL.
string
Website URL.
string[]
Array of tags to assign to the contact.
Response
Returns the created contact object with a201 Created status.
object
The created contact object (same schema as Get Contact).
curl -X POST \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "jane@example.com", "first_name": "Jane", "last_name": "Doe", "tags": ["speaker"]}' \
"https://www.gomry.com/api/v1/contacts"
const response = await fetch("https://www.gomry.com/api/v1/contacts", {
method: "POST",
headers: {
"X-API-KEY": "your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "jane@example.com",
first_name: "Jane",
last_name: "Doe",
tags: ["speaker"],
}),
});
const { data } = await response.json();
{
"data": {
"id": "AbCdEfGhIjKlMnOpQrSt",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone_number": null,
"status": "active",
"job_title": null,
"company": null,
"university": null,
"gender": null,
"birthday": null,
"location": null,
"linkedin": null,
"instagram": null,
"twitter": null,
"github": null,
"website": null,
"tags": ["speaker"],
"created_at": "2025-07-15T10:00:00.000Z",
"updated_at": "2025-07-15T10:00:00.000Z"
}
}
{
"error": "A contact with this email already exists",
"data": {
"id": "ExistingContactId",
"first_name": "Jane",
"email": "jane@example.com",
"..."
}
}
{
"error": "Validation failed",
"details": {
"formErrors": ["At least one of email or phone_number is required"],
"fieldErrors": {}
}
}

