Axiomatic
CRM & Sales

CRM

CRM HTTP API — read:crm / write:crm scopes. Send Authorization: Bearer ak_... and entityId (query or JSON body). Browser sessions may use x-entity-id instead of Bearer.

Add companies to a marketing list

POST
/api/crm/prospecting/add-to-marketing-list

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

curl -X POST "https://app.axiomatic.software/api/crm/prospecting/add-to-marketing-list?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "listId": "9fc6ad7d-902a-4834-b161-a4911b883d44"  }'
Empty
{
  "error": "string"
}
{
  "error": "string"
}
Empty
Empty

CRM dashboard aggregates

GET
/api/crm/dashboard

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

curl -X GET "https://app.axiomatic.software/api/crm/dashboard?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "error": "string"
}

List companies

GET
/api/crm/companies

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
status?string
Value in"prospect" | "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://app.axiomatic.software/api/crm/companies?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "error": "string"
}

Create company

POST
/api/crm/companies

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://app.axiomatic.software/api/crm/companies?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{}
{
  "error": "string"
}
{
  "error": "string"
}

Get company by ID

GET
/api/crm/companies/{companyId}

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://app.axiomatic.software/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
{}
{
  "error": "string"
}
{
  "error": "string"
}

Update company

PATCH
/api/crm/companies/{companyId}

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://app.axiomatic.software/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"
}

List contacts linked to a company

GET
/api/crm/companies/{companyId}/contacts

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://app.axiomatic.software/api/crm/companies/497f6eca-6276-4993-bfeb-53cbbbba6f08/contacts?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}

List contacts

GET
/api/crm/contacts

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
companyId?string
Formatuuid

Response Body

application/json

curl -X GET "https://app.axiomatic.software/api/crm/contacts?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

Create contact

POST
/api/crm/contacts

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

curl -X POST "https://app.axiomatic.software/api/crm/contacts?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}
Empty

Get contact

GET
/api/crm/contacts/{contactId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*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://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}
{
  "error": "string"
}

Update contact

PATCH
/api/crm/contacts/{contactId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*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

curl -X PATCH "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}

Delete contact (not supported)

DELETE
/api/crm/contacts/{contactId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

curl -X DELETE "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty

List company memberships for a contact

GET
/api/crm/contacts/{contactId}/company-memberships

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

application/json

curl -X GET "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08/company-memberships?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

Add contact–company membership

POST
/api/crm/contacts/{contactId}/company-memberships

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*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

curl -X POST "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08/company-memberships?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda"  }'
Empty
Empty

Update membership

PATCH
/api/crm/contacts/{contactId}/company-memberships/{membershipId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*string
Formatuuid
membershipId*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

curl -X PATCH "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08/company-memberships/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}

Remove membership

DELETE
/api/crm/contacts/{contactId}/company-memberships/{membershipId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

contactId*string
Formatuuid
membershipId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

application/json

curl -X DELETE "https://app.axiomatic.software/api/crm/contacts/497f6eca-6276-4993-bfeb-53cbbbba6f08/company-memberships/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

List leads

GET
/api/crm/leads

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
companyId?string
Formatuuid
contactId?string
Formatuuid

Response Body

curl -X GET "https://app.axiomatic.software/api/crm/leads?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty

Create lead

POST
/api/crm/leads

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

curl -X POST "https://app.axiomatic.software/api/crm/leads?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "title": "string"  }'
Empty
Empty

Get lead

GET
/api/crm/leads/{leadId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

application/json

curl -X GET "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

Update lead

PATCH
/api/crm/leads/{leadId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*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

curl -X PATCH "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
Empty
{
  "error": "string"
}

Delete lead

DELETE
/api/crm/leads/{leadId}

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

application/json

curl -X DELETE "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

Lead activity timeline

GET
/api/crm/leads/{leadId}/timeline

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*string
Formatuuid

Query Parameters

entityId*string

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

Formatuuid

Response Body

application/json

curl -X GET "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08/timeline?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty
{
  "error": "string"
}

Move lead stage (win/loss automation)

PATCH
/api/crm/leads/{leadId}/stage

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*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

curl -X PATCH "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08/stage?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "stage": "new"  }'
Empty
{
  "error": "string"
}

Add activity on a lead

POST
/api/crm/leads/{leadId}/activities

Authorization

bearerAuth
AuthorizationBearer <token>

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

In: header

Path Parameters

leadId*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

curl -X POST "https://app.axiomatic.software/api/crm/leads/497f6eca-6276-4993-bfeb-53cbbbba6f08/activities?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "type": "call",    "subject": "string"  }'
Empty
{
  "error": "string"
}

List CRM activities

GET
/api/crm/activities

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
companyId?string
Formatuuid
contactId?string
Formatuuid

Response Body

curl -X GET "https://app.axiomatic.software/api/crm/activities?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty

Create activity

POST
/api/crm/activities

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

curl -X POST "https://app.axiomatic.software/api/crm/activities?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "type": "call",    "subject": "string"  }'
Empty

List project tasks (CRM shell)

GET
/api/crm/tasks

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
projectId?string
Formatuuid
status?string

Response Body

curl -X GET "https://app.axiomatic.software/api/crm/tasks?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty

Send outbound email for a lead

POST
/api/crm/outbound-email

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

curl -X POST "https://app.axiomatic.software/api/crm/outbound-email?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{    "leadId": "3c6e2b8e-0e8f-48db-8791-27271df10113",    "connectionId": "84b500d7-71c8-4b1f-adf4-f1eb0000973d",    "channel": "gmail",    "subject": "string",    "htmlBody": "string"  }'
Empty
{
  "error": "string"
}

List outbound email connections

GET
/api/crm/outbound-email-connections

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

curl -X GET "https://app.axiomatic.software/api/crm/outbound-email-connections?entityId=497f6eca-6276-4993-bfeb-53cbbbba6f08"
Empty