Companies
List a company's title changes
List the LinkedIn title changes of every active contact with any role at the company (current, past or unknown), newest first. Each item is a title change (as on `GET /v2/title-changes`) plus `company
GET /v2/companies/{companyId}/title-changes
Parameters
Path parameters
companyId
string (uuid) required
Query parameters
take
integer
cursor
string (uuid)
Responses
200 — Successful response
Content-Type: application/json
data
object required
data.title_changes
array<object> required
data.title_changes[].id
string (uuid) required
data.title_changes[].user_id
string required
data.title_changes[].contact_id
string (uuid) | null
data.title_changes[].feed_type
string required
data.title_changes[].body
object required
data.title_changes[].body.name
string | null
data.title_changes[].body.title_before
string | null
data.title_changes[].body.title_after
string | null
data.title_changes[].body.linkedin_url
string | null
data.title_changes[].created_at
string (date-time) required
data.title_changes[].workspace_id
string (uuid) | null
data.title_changes[].is_major
boolean required
data.title_changes[].contact
object | null required
data.title_changes[].contact.id
string (uuid) required
data.title_changes[].contact.full_name
string | null
data.title_changes[].contact.image_url
string | null
data.title_changes[].contact.linkedin
string | null
data.title_changes[].contact.contact_emails
array<object> required
data.title_changes[].contact.contact_emails[].email
string required
data.title_changes[].company_status
string enum required
Possible values:
"current", "past"data.pagination
object
data.pagination.nextCursor
string | null
data.pagination.count
integer
Example
{
"data": {
"title_changes": [
{
"id": "00000000-0000-0000-0000-000000000000",
"user_id": "string",
"feed_type": "string",
"body": {
"name": "string",
"title_before": "string"
},
"created_at": "2026-10-27T17:27:24.893Z",
"is_major": false,
"contact": {
"id": "00000000-0000-0000-0000-000000000000",
"contact_emails": [
{
"email": null
}
]
},
"company_status": "current"
}
]
}
}
400 — Request body failed validation.
Content-Type: application/json
(body)
any
401 — Missing or invalid API key.
Content-Type: application/json
(body)
any
403 — Valid key, insufficient permission.
Content-Type: application/json
(body)
any
404 — Resource does not exist.
Content-Type: application/json
(body)
any
409 — Request conflicts with the current state of the resource.
Content-Type: application/json
(body)
any
429 — Rate limit exceeded.
Content-Type: application/json
(body)
any
500 — Unexpected server error.
Content-Type: application/json
(body)
any
Code samples
curl https://api.prod.getdex.com/v2/companies/00000000-0000-0000-0000-000000000000/title-changes \
--header 'Authorization: Bearer YOUR_API_KEY'
fetch('https://api.prod.getdex.com/v2/companies/00000000-0000-0000-0000-000000000000/title-changes', {
headers: {
Authorization: 'Bearer YOUR_API_KEY'
}
})
requests.get(
"https://api.prod.getdex.com/v2/companies/00000000-0000-0000-0000-000000000000/title-changes",
headers={
"Authorization": "Bearer YOUR_API_KEY"
}
)
List a company's activity
List the company's activity, newest first: the workspace's notes (shared ones, plus your own private ones) and members' email, meeting and LinkedIn connection markers about every contact with any role
Count a company's title changes
Count the title changes `GET /v2/companies/{companyId}/title-changes` pages through: those of every active contact with any role at the company. 404 `record_not_found` when the company is not in the w

