Attach a contact to a company
POST/v2/companies/{id}/contacts
Attaches a contact (customer) to a company.
Adds the company to the contact’s companyIds array and embedded companies array.
This operation is additive - existing company associations are preserved.
Also increments the linkedUsers count on the company.
Path Parameters
id- The Featurebase internal ID of the company (MongoDB ObjectId)
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
contactId | string | Yes | The Featurebase internal ID of the contact to attach (MongoDB ObjectId) |
Example Request
{
"contactId": "507f1f77bcf86cd799439012"
}
Response
Returns the updated contact object with the new company association.
Example Response
{
"object": "contact",
"id": "507f1f77bcf86cd799439012",
"userId": "usr_12345",
"email": "john@acme.com",
"name": "John Doe",
"type": "customer",
"companies": [
{
"object": "company",
"id": "507f1f77bcf86cd799439011",
"companyId": "comp_12345",
"name": "Acme Inc"
}
]
}
Error Responses
- 404 Not Found - Company or contact does not exist
Version Availability
This endpoint is only available in API version 2026-01-01.nova and newer.
Attach a contact to a company
curl https://do.featurebase.app/v2/companies/$ID/contacts \
-H 'Content-Type: application/json' \
-H "Authorization: Bearer $FEATUREBASE_API_KEY" \
-d '{
"contactId": "507f1f77bcf86cd799439012"
}'{
"id": "676f0f6765bdaa7d7d760f88",
"name": "John Steezy",
"object": "contact",
"type": "customer",
"commentsCreated": 0,
"companies": [
{
"id": "507f1f77bcf86cd799439011",
"companyId": "comp_12345",
"companySize": 250,
"createdAt": "2025-01-01T12:00:00.000Z",
"industry": "Technology",
"lastActivity": "2025-01-15T00:00:00.000Z",
"linkedUsers": 15,
"monthlySpend": 5000,
"name": "Acme Inc",
"object": "company",
"plan": "enterprise",
"updatedAt": "2025-01-10T15:30:00.000Z",
"website": "https://acme.com",
"customFields": {
"location": "bar",
"priority": "bar"
}
}
],
"customFields": {
"foo": "bar"
},
"description": "",
"email": "john@example.com",
"lastActivity": "2025-01-03T21:42:30.181Z",
"locale": "en",
"manuallyOptedOutFromChangelog": false,
"organizationId": "5febde12dc56d60012d47db6",
"postsCreated": 0,
"profilePicture": "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png",
"roles": [
"string"
],
"subscribedToChangelog": true,
"userId": "676f0f673dbb299c8a4f3057",
"verified": true
}Returns Examples
{
"id": "676f0f6765bdaa7d7d760f88",
"name": "John Steezy",
"object": "contact",
"type": "customer",
"commentsCreated": 0,
"companies": [
{
"id": "507f1f77bcf86cd799439011",
"companyId": "comp_12345",
"companySize": 250,
"createdAt": "2025-01-01T12:00:00.000Z",
"industry": "Technology",
"lastActivity": "2025-01-15T00:00:00.000Z",
"linkedUsers": 15,
"monthlySpend": 5000,
"name": "Acme Inc",
"object": "company",
"plan": "enterprise",
"updatedAt": "2025-01-10T15:30:00.000Z",
"website": "https://acme.com",
"customFields": {
"location": "bar",
"priority": "bar"
}
}
],
"customFields": {
"foo": "bar"
},
"description": "",
"email": "john@example.com",
"lastActivity": "2025-01-03T21:42:30.181Z",
"locale": "en",
"manuallyOptedOutFromChangelog": false,
"organizationId": "5febde12dc56d60012d47db6",
"postsCreated": 0,
"profilePicture": "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png",
"roles": [
"string"
],
"subscribedToChangelog": true,
"userId": "676f0f673dbb299c8a4f3057",
"verified": true
}