contacts.get
Read one contact with everything they are linked to
- Request
- GET
/api/v1/contacts/{contactId} - Scope required
contacts:read- Effect
- Reads only. Safe to retry and safe for an agent to call unprompted.
- Acts on
- Acts on the account’s own job search.
- MCP tool
contacts_get- Environment
- Live and sandbox alike.
- Request body
- JSON.
What it does
Returns a single contact, the companies they work for and the applications they are attached to. A contact belonging to another account answers 404, never 403. The response carries a weak `ETag`; send it back as `If-Match` on an update to be refused rather than overwrite a change somebody else made in the meantime. Find the id with `contacts.list`.
Parameters
| Name | Sent in | Requirement | Accepts |
|---|---|---|---|
| contactId | path | Required | string |
Response
- applications
- array of object, required
- companyName
- string, required
- id
- string, required
- title
- string, required
- category
- string or null, required
- companies
- array of object, required
- id
- string, required
- name
- string, required
- createdAt
- string, required
- string or null, required
- firstName
- string, required
- id
- string, required
- lastName
- string or null, required
- notes
- string or null, required
- phone
- string or null, required
- source
- string or null, required
- updatedAt
- string, required
Examples
A recruiter at one of the companies applied to
curl -s https://www.jobapplicationtracking.com/api/v1/contacts/ct_42 \
-H "Authorization: Bearer $JAT_KEY"{
"id": "ct_42",
"firstName": "Dana",
"lastName": "Okafor",
"email": "dana@acme.example",
"phone": null,
"category": "Recruiter",
"source": "LinkedIn",
"notes": "Owns hiring for the platform team.",
"companies": [
{
"id": "co_42",
"name": "Acme"
}
],
"applications": [
{
"id": "app_123",
"title": "Staff Engineer",
"companyName": "Acme"
}
],
"createdAt": "2026-01-04T09:30:00.000Z",
"updatedAt": "2026-02-11T17:05:00.000Z"
}