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

HeaderRequiredValueDescription
x-api-keyYesyour sub-account API key (cfy_…)Authenticates the request; or use Authorization: Bearer <key>.
Content-TypeYesapplication/jsonJSON request body.

Path parameters

NameTypeRequiredDescription
idstring (uuid)YesThe contact id the note is attached to.

Body parameters

NameTypeRequiredDefaultDescription
contentstringYes—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.

© 2026 Centerfy AI. All rights reserved.