Available on all CTD plans. These endpoints give you access to your personal contacts, company lookups, relationship paths, job changes, and the full ghost email workflow. Full reference at app.ctd.ai/account/api-access/documentation.

People & contacts

GET /user/contacts-api/people/details

Returns details for a person identified by email or LinkedIn URL. Exactly one of email or linkedin_url must be provided.

curl "http://api.ctd.ai/user/contacts-api/people/details?email=john@example.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/contacts/all

Returns all contacts in your network.

curl "http://api.ctd.ai/user/contacts-api/contacts/all" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/contacts/paths

Returns warm introduction paths to a specific contact.

curl "http://api.ctd.ai/user/contacts-api/contacts/paths?email=john@example.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Companies

GET /user/contacts-api/companies/details

Returns details for a company identified by domain or LinkedIn URL.

curl "http://api.ctd.ai/user/contacts-api/companies/details?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/companies/contacts/current

Returns people currently at a company who are in your contacts.

curl "http://api.ctd.ai/user/contacts-api/companies/contacts/current?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/companies/contacts/former

Returns people who previously worked at a company and are in your contacts.

curl "http://api.ctd.ai/user/contacts-api/companies/contacts/former?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/companies/potential-contacts/current

Returns current employees at a company who you don't directly know but may be reachable.

curl "http://api.ctd.ai/user/contacts-api/companies/potential-contacts/current?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /user/contacts-api/companies/potential-contacts/former

Former employees at a company who you don't directly know.

curl "http://api.ctd.ai/user/contacts-api/companies/potential-contacts/former?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Job changes

GET /user/notifications-api/public/job-changes/contacts

Returns job change notifications for your direct connections.

curl "http://api.ctd.ai/user/notifications-api/public/job-changes/contacts" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

LinkedIn import

POST /user/users-api/public/v1/linkedin-import/connections

Import LinkedIn connections programmatically — same as uploading a LinkedIn data export, but via API.

curl -X POST "http://api.ctd.ai/user/users-api/public/v1/linkedin-import/connections" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"connections": [...]}'

Ghost emails

These endpoints let you create, manage, and send ghost emails (warm intro requests) entirely via API — useful for automating outreach workflows.

GET /user/asks-api/public/v1/ghost-emails

List all ghost emails.

curl "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
POST /user/asks-api/public/v1/ghost-email

Create a ghost email.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/ghost-email" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"connector_email": "jane@example.com", "target_email": "john@acme.com", "subject": "Quick intro?", "body": "Hi Jane..."}'
POST /user/asks-api/public/v1/draft

Create a ghost email draft.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/draft" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"connector_email": "jane@example.com", "target_email": "john@acme.com"}'
POST /user/asks-api/public/v1/draft/{draft_id}/share

Share a draft with the connector.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/draft/DRAFT_ID/share" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
POST /user/asks-api/public/v1/ghost-emails/{draft_id}/send

Send a ghost email.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID/send" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
PATCH /user/asks-api/public/v1/ghost-emails/{draft_id}

Update a ghost email.

curl -X PATCH "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"subject": "Updated subject"}'
POST /user/asks-api/public/v1/ghost-emails/{draft_id}/participants

Add a participant to a ghost email.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID/participants" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"email": "participant@example.com"}'
DELETE /user/asks-api/public/v1/ghost-emails/{draft_id}/participants

Remove a participant from a ghost email.

curl -X DELETE "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID/participants" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"email": "participant@example.com"}'
POST /user/asks-api/public/v1/ghost-emails/{draft_id}/approver/share

Approver shares a ghost email.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID/approver/share" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
POST /user/asks-api/public/v1/ghost-emails/{draft_id}/approver/decline

Approver declines a ghost email.

curl -X POST "http://api.ctd.ai/user/asks-api/public/v1/ghost-emails/DRAFT_ID/approver/decline" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"