Prospect Companies
Create, read, update and delete the companies you're prospecting.
A Prospect Company is a company you're prospecting that isn't yet an Account. Prospect contacts link to one through their lead_company_id.
These endpoints use the prospects:read and prospects:write scopes.
The Prospect Company object#
| Field | Type | Notes |
|---|---|---|
id |
string | 25-character ID. |
name |
string | |
industry |
string or null | |
size |
string or null | Free text, such as 51-200. |
revenue |
string or null | Free text, such as $10M-$50M. |
location |
string or null | |
website |
string or null | |
phone |
string or null | |
address |
string or null | |
notes |
string or null | |
source_id |
string or null | A prospect source ID. |
owner_id |
string or null | User ID of the person in Assigned To. |
archived_at |
string or null | When it was archived. Read-only. |
created_at |
string | ISO 8601 timestamp. |
updated_at |
string | ISO 8601 timestamp. |
{
"id": "cm3k9x2p10004qz8f7h2d1a6b",
"name": "Fabrikam Logistics",
"industry": "Logistics",
"size": "51-200",
"revenue": "$10M-$50M",
"location": "Newark, NJ",
"website": "https://fabrikam.example",
"phone": null,
"address": null,
"notes": null,
"source_id": "rls_trade_show",
"owner_id": "5b8d1f3a-7e2c-4a9b-b6d4-1c3e5f7a9b20",
"archived_at": null,
"created_at": "2026-11-12T09:30:00.000Z",
"updated_at": "2026-11-12T09:30:00.000Z"
}
List Prospect Companies#
GET /prospect-companies · Scope: prospects:read
This list uses offset pagination, not cursors.
Query parameters#
| Parameter | Type | Required | Notes |
|---|---|---|---|
limit |
integer | No | Up to 200. Default 50. |
offset |
integer | No | Number of records to skip. Default 0. |
Example#
curl "https://crm.empiraa.app/api/v1/prospect-companies?limit=200&offset=0" \
-H "Authorization: Bearer YOUR_API_KEY"
async function allProspectCompanies(apiKey) {
const all = [];
let offset = 0;
for (;;) {
const res = await fetch(
`https://crm.empiraa.app/api/v1/prospect-companies?limit=200&offset=${offset}`,
{ headers: { Authorization: `Bearer ${apiKey}` } },
);
const { data, meta } = await res.json();
all.push(...data);
if (!meta.hasMore) return all;
offset += data.length;
}
}
Response 200#
{
"data": [ { "id": "cm3k9x2p10004qz8f7h2d1a6b", "name": "Fabrikam Logistics", "industry": "Logistics" } ],
"meta": { "cursor": null, "total": 312, "limit": 200, "offset": 0, "hasMore": true },
"error": null
}
(Shortened: each item is a full Prospect Company object.)
Create a Prospect Company#
POST /prospect-companies · Scope: prospects:write
Request body#
| Field | Type | Required | Notes |
|---|---|---|---|
name |
string | Yes | Can't be blank. Leading and trailing spaces are trimmed. |
industry |
string or null | No | |
size |
string or null | No | |
revenue |
string or null | No | |
location |
string or null | No | |
website |
string or null | No | |
phone |
string or null | No | |
address |
string or null | No | |
notes |
string or null | No | |
source_id |
string or null | No | A prospect source ID. |
owner_id |
string or null | No | Assigned To: an active user in the workspace. |
Example#
curl -X POST https://crm.empiraa.app/api/v1/prospect-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Fabrikam Logistics", "industry": "Logistics", "website": "https://fabrikam.example"}'
await fetch("https://crm.empiraa.app/api/v1/prospect-companies", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ name: "Fabrikam Logistics", industry: "Logistics", website: "https://fabrikam.example" }),
});
Response 201#
The new Prospect Company object in data.
Errors#
| Status | Code | When |
|---|---|---|
| 400 | INVALID_REQUEST |
name is missing or blank, or owner_id isn't a string or null. |
| 404 | NOT_FOUND |
owner_id isn't an active user in the workspace. |
Webhook events: none.
Get a Prospect Company#
GET /prospect-companies/{id} · Scope: prospects:read
Example#
curl https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b \
-H "Authorization: Bearer YOUR_API_KEY"
await fetch("https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b", {
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
Response 200#
The Prospect Company object in data.
Errors#
| Status | Code | When |
|---|---|---|
| 404 | NOT_FOUND |
No Prospect Company with that ID in this workspace. |
Update a Prospect Company#
PATCH /prospect-companies/{id} · Scope: prospects:write
Send only the fields you want to change. Accepts the same fields as create; owner_id can be null for nobody.
Example#
curl -X PATCH https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"size": "201-500", "owner_id": null}'
await fetch("https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b", {
method: "PATCH",
headers: { Authorization: "Bearer YOUR_API_KEY", "Content-Type": "application/json" },
body: JSON.stringify({ size: "201-500", owner_id: null }),
});
Response 200#
The updated Prospect Company object in data.
Errors#
| Status | Code | When |
|---|---|---|
| 400 | INVALID_REQUEST |
owner_id isn't a string or null. |
| 404 | NOT_FOUND |
The Prospect Company or the user doesn't exist in this workspace. |
Webhook events: none.
Delete a Prospect Company#
DELETE /prospect-companies/{id} · Scope: prospects:write
Deletes the Prospect Company.
Example#
curl -X DELETE https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b \
-H "Authorization: Bearer YOUR_API_KEY"
await fetch("https://crm.empiraa.app/api/v1/prospect-companies/cm3k9x2p10004qz8f7h2d1a6b", {
method: "DELETE",
headers: { Authorization: "Bearer YOUR_API_KEY" },
});
Response 204#
No body.
Errors#
| Status | Code | When |
|---|---|---|
| 404 | NOT_FOUND |
No Prospect Company with that ID in this workspace. |
Webhook events: none.

