Navigation

Add Notes to Contact

Create or update notes on a contact record

POST /apis/v2/public/crm/addNotestoContact

Creates a new note on a contact or updates an existing note. Notes can only be added by the member who owns the contact.

Requires a valid `api_key` and `developer_secret` in the JSON request body. Requests must originate from a whitelisted IP address.

Parameters

Name In Type Required Description
api_key body string Yes Your Zyntro API key
developer_secret body string Yes Your developer secret (zdk_XXX). Issued during developer onboarding.
org_id body string Yes Your organization UUID
member_id body string Yes The member UUID. Must be the contact's owner.
contact_id body string Yes The UUID of the contact to add the note to
note body string Yes The note content
note_id body string No If provided, updates the existing note with this ID instead of creating a new one. Omit or leave empty to create a new note.
note_visibility body integer No Whether the note is visible to other team members. `0` = private (default), `1` = visible.
note_editable body integer No Whether other team members can edit this note. `0` = read-only (default), `1` = editable.
Important: Only the **contact owner** can add notes via the API. The `member_id` you provide must match the `contact_owner` field on the contact record. If they do not match, the request is rejected.

Request Body

Content-Type: application/json

Example

json
{
    "note": "Had a great demo call. Interested in the enterprise plan. Follow up next week.",
    "org_id": "YOUR_ORG_ID",
    "api_key": "YOUR_API_KEY",
    "member_id": "YOUR_MEMBER_ID",
    "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "note_editable": 0,
    "note_visibility": 1,
    "developer_secret": "YOUR_DEVELOPER_SECRET"
}

Code Samples

bash
curl -X POST https://app.zyntrohq.com/apis/v2/public/crm/addNotestoContact \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY",
    "developer_secret": "YOUR_DEVELOPER_SECRET",
    "org_id": "YOUR_ORG_ID",
    "member_id": "YOUR_MEMBER_ID",
    "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "note": "Had a great demo call. Interested in the enterprise plan.",
    "note_visibility": 1
  }'

Response

200 Note created successfully
json
{
    "data": {
        "note_id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
        "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "note_content": "Had a great demo call. Interested in the enterprise plan.",
        "note_editable": 0,
        "note_visibility": 1
    },
    "status": "success"
}
200 Error response
json
{
    "data": [
        "The API only supports notes being added by the member that owns the contact."
    ],
    "status": "error"
}

Errors

Code Message Resolution
MISSING_API_KEY Missing service instance
The `api_key` field is missing or empty.
Include your API key.
INVALID_API_KEY Invalid API Key
No active user matches the key.
Verify your key in **Me > API & Webhooks**.
IP_NOT_WHITELISTED IP address not whitelisted
The request originated from an IP not in the key's allowed list.
Contact your client to add your IP to the developer key whitelist.
INVALID_DEVELOPER_SECRET Invalid developer_secret
The developer secret does not match any active key.
Verify your developer secret. If lost, have your client revoke and reissue the key.
MISSING_DEVELOPER_SECRET Missing developer_secret
The `developer_secret` field is missing or empty.
Include your developer secret in the request body. This is issued during developer onboarding.
MISSING_FIELDS Missing org ID / Missing member ID / Missing contact ID / Missing note
A required field is missing.
Include all required fields.
NOT_FOUND Contact does not exist
No contact with that ID exists.
Verify the contact_id.
WRONG_ORG You are trying to add a note to a contact that does not belong to your organization
The contact exists but belongs to a different organization.
Ensure the contact_id and org_id match.
NOT_OWNER The API only supports notes being added by the member that owns the contact.
The member_id does not match the contact's owner.
Use the member ID of the contact's owner, or reassign ownership first.

Was this article helpful?

NotebookLM Overviews