Skip to main content
POST
/
api
/
contact-notes
Create a new contact note
curl --request POST \
  --url https://your-instance.example.com/api/contact-notes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "contactId": "65c2d0e0f0a0b0c0d0e0f0a0",
  "note": "@alice please review the W2 attached.",
  "mentions": [
    "65b1f0a2c3d4e5f6a7b8c9d0"
  ],
  "attachments": [
    {
      "key": "orgs/65a0.../notes/w2.pdf",
      "name": "w2.pdf",
      "size": 121200,
      "type": "application/pdf"
    }
  ]
}
'
{
  "success": true,
  "message": "Contact note created",
  "data": {
    "_id": "67f0a0b0c0d0e0f0a0b0c0d0",
    "userId": {
      "_id": "65b1f0a2c3d4e5f6a7b8c9d3",
      "fullName": "Cory Tan",
      "email": "cory@example.com"
    },
    "note": "Spoke briefly; will follow up tomorrow.",
    "attachments": [],
    "reactions": [],
    "isEdited": false,
    "createdAt": "2026-05-18T14:00:00.000Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
contactId
string
required

Contact _id the note is attached to.

note
string

Markdown/plain-text body of the note; may contain @-mention syntax.

mentions
string[]

User _ids @-mentioned in the note; trigger notification pings.

attachments
object[]

R2 storage keys + content metadata for files attached to the note.

Response

Contact note created

success
enum<boolean>
required
Available options:
true
data
object
required

Populated note row. userId is populated to the user document (see ContactNoteAuthor).

Example:
{
"_id": "67f0a0b0c0d0e0f0a0b0c0d0",
"userId": {
"_id": "65b1f0a2c3d4e5f6a7b8c9d3",
"fullName": "Cory Tan",
"email": "cory@example.com"
},
"note": "@alice please review the W2 attached.",
"attachments": [
{
"name": "w2.pdf",
"size": 121200,
"type": "application/pdf",
"signedUrl": "https://r2.example.com/orgs/65a0.../notes/w2.pdf?token=..."
}
],
"reactions": [
{
"emoji": "👍",
"users": ["65b1f0a2c3d4e5f6a7b8c9d0"],
"count": 1
}
],
"isEdited": false,
"createdAt": "2026-05-18T14:00:00.000Z"
}
message
string