Add Notes to Contact
Create or update notes on a contact record
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. |