Create a contact note
create a note on a contact (local note only, not mirrored to GHL/HubSpot/Salesforce).
POST
https://api.centerfy.ai/webhooks/inbound/contacts/:id/notes Headers
| Header | Required | Value | Description |
|---|---|---|---|
x-api-key | Yes | your sub-account API key (cfy_…) | Authenticates the request; or use Authorization: Bearer <key>. |
Content-Type | Yes | application/json | JSON request body. |
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | The contact id the note is attached to. |
Body parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
content | string | Yes | — | The note text; required, minLength 1, maxLength 5000. Empty or whitespace-only content is rejected with 400. |
Request body
{
"content": "Called the customer; they requested a callback next Tuesday afternoon."
}Example
curl -X POST "https://api.centerfy.ai/webhooks/inbound/contacts/{id}/notes" \
-H "x-api-key: $CENTERFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Called the customer; they requested a callback next Tuesday afternoon."
}' import { CenterfyClient } from "@centerfy/sdk";
const centerfy = new CenterfyClient({ apiKey: process.env.CENTERFY_API_KEY! });
const result = await centerfy.contacts.createNote("<contactId>", {
"content": "Called the customer; they requested a callback next Tuesday afternoon."
});
console.log(result); centerfy contacts create-note <contactId> '{"content":"Called the customer; they requested a callback next Tuesday afternoon."}' MCP tool: centerfy_contacts_create_note (see MCP server)
Response
{
"status": "success",
"note": {
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"contact_id": "3f1c2a9e-7b4d-4c8a-9e2f-1a2b3c4d5e6f",
"content": "Called the customer; they requested a callback next Tuesday afternoon.",
"created_at": "2026-06-12T10:15:30.000Z"
}
}Errors
400— if :id is not a valid UUID or content is missing/empty.404— if the contact does not exist.
Notes
Returns 201 on success.