The Workspace API is for system integrations only. It's designed for admins who are connecting CTD to an internal tool, data warehouse, or CRM. It is not intended for individual use. Requires a workspace-level API key.

Full API reference: app.ctd.ai/account/api-access/documentation?type=workspace. Generate a workspace API key at app.ctd.ai/account/api-access/api-keys.

Global vs. standard paths

The Workspace API has two views. The standard view returns paths scoped to the requesting user. The global view returns paths across all team members and external members — this is the view you want for integrations.

People & companies

GET /enterprise/atc-paths-api/public/v1/reachable-person

Returns reachability data for a specific person through the workspace network.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/reachable-person?email=jane@acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/global/reachable-person

Returns reachability across the entire workspace (all team members + external members).

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/global/reachable-person?email=jane@acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/reachable-people

Returns all people reachable through the workspace network.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/reachable-people" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/company

Returns reachability data for a company through the workspace network.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/company?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/reachable-companies

Returns all companies reachable through the workspace network.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/reachable-companies" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/people

Returns reachable employees at a specific company.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/people?domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Paths

GET /enterprise/atc-paths-api/public/v2/paths

Returns warm intro paths to a person or company through the workspace network.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/paths?company_domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v2/global/paths

Returns paths across the entire workspace — all team members and external members combined.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/global/paths?company_domain=acme.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v2/paths/connector

Returns all paths through a specific connector.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/paths/connector?connector_email=jane@example.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v2/global/paths/connector

Returns paths through a specific connector across the entire workspace.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/global/paths/connector?connector_email=jane@example.com" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v2/paths/by-stage

Returns paths filtered by stage.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/paths/by-stage?stage=intro_requested" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
PATCH /enterprise/atc-paths-api/public/v2/paths/{pathId}/stage

Update the stage of a path.

curl -X PATCH "http://api.ctd.ai/enterprise/atc-paths-api/public/v2/paths/PATH_ID/stage" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"stage": "intro_made"}'
GET /enterprise/atc-paths-api/public/v1/paths/search

Natural language path search across the workspace.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/paths/search?q=VP+of+Sales+at+enterprise+software" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Job changes

GET /enterprise/atc-paths-api/public/v1/job-changes

Returns job changes across all tracked accounts in the workspace.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/job-changes" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Activities

GET /enterprise/asks-api/public/v1/activities

Returns ghost email and outreach activity across the entire workspace.

curl "http://api.ctd.ai/enterprise/asks-api/public/v1/activities" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Target accounts

These endpoints let you programmatically manage the target accounts in your workspace — the same accounts you'd add via the CTD Lists UI.

POST /enterprise/atc-paths-api/public/v1/target-accounts/imports

Create a new target accounts import job.

curl -X POST "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/target-accounts/imports" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
GET /enterprise/atc-paths-api/public/v1/target-accounts/imports/{import_id}

Check the status of a target accounts import.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/target-accounts/imports/IMPORT_ID" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
POST /enterprise/atc-paths-api/public/v1/target-accounts

Add a batch of companies to an existing import.

curl -X POST "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/target-accounts" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"import_id": "IMPORT_ID", "accounts": [{"domain": "acme.com"}]}'
DELETE /enterprise/atc-paths-api/public/v1/target-accounts

Delete all target accounts in the workspace.

curl -X DELETE "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/target-accounts" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"

Custom columns

GET /enterprise/atc-paths-api/public/v1/custom-columns-names

Returns the display names for custom columns in your workspace.

curl "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/custom-columns-names" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com"
PATCH /enterprise/atc-paths-api/public/v1/rename-custom-columns

Rename custom column display names.

curl -X PATCH "http://api.ctd.ai/enterprise/atc-paths-api/public/v1/rename-custom-columns" \
  -H "ctd-api-key: YOUR_API_KEY" \
  -H "ctd-client-id: you@yourcompany.com" \
  -H "Content-Type: application/json" \
  -d '{"columns": {"col_1": "Priority"}}'