TripleBooks
CRM

Companies

GET
/api/crm/companies

Authorization: Bearer ak_.... Required scope: read:crm. Pass entityId query (must match the key’s entity). Session cookie auth with x-entity-id is also supported in the browser.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid
role?string

Commercial relationship type

Value in

  • "prospect"
  • "customer"
  • "vendor"
  • "both"
status?string

Lifecycle: active or archived

Value in

  • "active"
  • "inactive"
ownerUserId?string

UUID, me, or unassigned

q?string

Search name (ilike)

page?integer
Range1 <= value
pageSize?integer
limit?integer

Legacy: caps page size when page omitted

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{  "error": "string"}
POST
/api/crm/companies

Authorization: Bearer ak_.... Required scope: write:crm. Pass entityId query or JSON body (must match the key’s entity). Session cookie auth with x-entity-id is also supported in the browser.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}

Authorization: Bearer ak_.... Required scope: read:crm. Pass entityId query (must match the key’s entity). Session cookie auth with x-entity-id is also supported in the browser.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{  "error": "string"}
{  "error": "string"}
PATCH
/api/crm/companies/{companyId}

Authorization: Bearer ak_.... Required scope: write:crm. Pass entityId query or JSON body (must match the key’s entity). Session cookie auth with x-entity-id is also supported in the browser.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X PATCH "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
DELETE
/api/crm/companies/{companyId}

Delete a company. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/contacts

Authorization: Bearer ak_.... Required scope: read:crm. Pass entityId query (must match the key’s entity). Session cookie auth with x-entity-id is also supported in the browser.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/contacts?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/addresses

Addresses on a company. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/addresses?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/addresses

Add an address. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/addresses?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
PATCH
/api/crm/companies/{companyId}/addresses/{addressKey}

Patch an address. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid
addressKey*string

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/addresses/string?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
DELETE
/api/crm/companies/{companyId}/addresses/{addressKey}

Remove an address. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid
addressKey*string

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/addresses/string?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/emails

Email addresses on a company. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/emails?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/emails

Add an email. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/emails?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/phones

Phone numbers on a company. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/phones?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/phones

Add a phone number. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/phones?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/sites

Sites on a company. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/sites?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/sites

Add a site. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/sites?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/enrich

Crawl the company website and propose profile fields. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/enrich?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/discover-contacts

Find contacts from the company website. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/discover-contacts?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/merge

Merge this company into another. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/merge?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/relationships

Related companies. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/relationships?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/relationships

Link a related company. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/relationships?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/lifecycle

Corporate-history events. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/lifecycle?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/lifecycle

Record a lifecycle event. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/lifecycle?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
GET
/api/crm/companies/{companyId}/documents

Documents linked to the company. Authorization: Bearer ak_.... Required scope includes read:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

curl -X GET "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/documents?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/{companyId}/documents

Link a document to the company. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Path Parameters

companyId*string
Formatuuid

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/documents?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/batch-update

Patch many companies. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/batch-update?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}
POST
/api/crm/companies/import

Bulk-import companies. Authorization: Bearer ak_.... Required scope includes write:crm. Requests are scoped to one entity. Pass entityId as a query parameter, JSON field, or x-entity-id header. API keys are already pinned to an entity.

Authorization

bearerAuth
AuthorizationBearer <token>

Create keys under Settings → API keys. Prefix ak_. Send as Authorization: Bearer ak_....

In: header

Query Parameters

entityId*string

Entity UUID; must match the API key’s entity when using Bearer auth.

Formatuuid

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/api/crm/companies/import?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{  "error": "string"}
{  "error": "string"}
{  "error": "string"}

On this page