Import contacts
Add up to 250 of your own people in one call, optionally onto a list. Rows are deduplicated and checked against suppression first. The response counts what happened to every row.
POST
https://app.trygtm.com/api/v1/contacts/import- Scope
write- MCP tool
- import_contacts
Headers
Idempotency-Keystringoptional- A key unique to this write, up to 255 characters. A retry carrying the same key returns the first response instead of running again. Kept for 24 hours.
Body
contactsobject[]required- The people to add, up to 250.
emailstring | nulloptional- Work or personal address. Lowercased and deduplicated on.
linkedin_urlstring | nulloptional- LinkedIn profile URL. The key sourced contacts dedupe on.
first_namestring | nulloptional- Given name.
last_namestring | nulloptional- Family name.
full_namestring | nulloptional- Display name. Built from first and last name when omitted.
titlestring | nulloptional- Job title.
phonestring | nulloptional- Phone number. Stored in E.164 when it parses, as written when not.
company_namestring | nulloptional- Employer.
company_domainstring | nulloptional- Employer's web domain. Lets suppression match at company scope.
company_urlstring | nulloptional- Employer's website.
industrystring | nulloptional- Industry label.
company_sizestring | nulloptional- Headcount band, as free text.
locationstring | nulloptional- City or region.
countrystring | nulloptional- Country name or ISO 3166-1 alpha-2 code. Stored as the code. The send window uses it to run on the recipient's clock.
notesstring | nulloptional- Free-text notes shown on the contact.
list_idstring | nulloptional- Existing static list ID from list_lists. Use null when using listName to create or find a list. Never invent an ID.
list_namestring | nulloptional- A static list everyone joins, created if it does not exist. Set listId to null when using this field.
Request
curl -X POST https://app.trygtm.com/api/v1/contacts/import \
-H "Authorization: Bearer $TRYGTM_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"contacts": [
{
"email": "dana@northbeam.example",
"first_name": "Dana",
"last_name": "Whitfield"
},
{
"linkedin_url": "https://www.linkedin.com/in/example"
}
]
}'Response
{
"data": {
"requested": 3,
"imported": 2,
"already_present": 1,
"suppressed": 0,
"unreachable": 0,
"duplicates": 0,
"contact_ids": [
"8f2a91c4-6d1e-4c0a-9a57-2f3b1c7e9d10",
"1a2b3c4d-5e6f-4a7b-8c9d-0e1f2a3b4c5d"
],
"existing_contact_ids": [
"9d8c7b6a-5f4e-4d3c-8b2a-1f0e9d8c7b6a"
],
"list": {
"id": "5e6f7a8b-1c2d-4e3f-9a0b-1c2d3e4f5a6b",
"name": "Trade show — Sept"
}
}
}