Calls
Call Notes
Call notes are free-text remarks attached to a call, with the user who wrote them and when. A call can hold any number of notes; they appear in the call details, go to the account's connected CRM integrations and fire the note_added webhook. This group holds one reading endpoint and two identical ways of adding a note. Call rows carry their notes in extra.call_notes (see Call Logs); rules that make a note mandatory after a call are in After Call Work.
Workflow (what the portal does)
- Read the notes of a call:
GET /v2/call-notes?callIDs[]=….callIDsis an array (callIDs[]=a&callIDs[]=b) or one comma-separated string; pass the row'scall_id,sip_call_idandoriginal_sip_call_idtogether, because a note is stored under whichever of them was used to add it. The answer is an array, newest first, ofcall_id(the id the note was stored under),note,account_id,user_id,user_name(nullwhen that user no longer exists) andnote_time(ISO 8601, UTC). Ids of several calls can be mixed in one request; tell the notes apart bycall_id. WithoutcallIDsthe endpoint answers406with the bodyfalse. - Add a note:
POST /v3/call-noteswithcallId(a string of up to 100 characters: the row'scall_id,sip_call_idororiginal_sip_call_id) andnote(up to 1000 characters; HTML tags are stripped). Answers204.POST /v2/call-notesis the same operation under its older path; both stay available and behave identically. - What follows: the note is stored with the calling user as its author, the account's CRM integrations receive the updated call, and a
note_addedwebhook goes to the subscribed URLs (see Integrations).
# Add a note
curl -X POST https://api.api-nuacom.com/v3/call-notes \
-H 'Authorization: Bearer YOUR_API_KEY' -H 'Content-Type: application/json' \
-d '{"callId":"1761640800.123","note":"Customer asked for a quote by Friday"}'
# → 204
# Read the notes back; repeat callIDs[] for the row's sip_call_id and original_sip_call_id
curl 'https://api.api-nuacom.com/v2/call-notes?callIDs[]=1761640800.123' \
-H 'Authorization: Bearer YOUR_API_KEY'
# → [{"call_id":"1761640800.123","note":"Customer asked for a quote by Friday","account_id":"IE-00123","user_id":123,"user_name":"Jane","note_time":"2026-10-28T09:15:00.000000Z"}]
Roles and access
- Any authenticated user can read and add notes; nothing in this group is admin-only.
- Notes are scoped to the account, not to the user's call-log permissions:
GET /v2/call-notesanswers the notes of any call of the account whose ids you pass, andPOSTaccepts any call of the account. A call of another account, or an id that matches no call, is refused with422("The given call does not belong to this account.").
Pitfalls
callIdmust be a JSON string: a bare number such as1761640800.123fails validation (422).- Store notes under the row's
call_idwhen you can; whichever id you use, read them back with all three ids, as the portal does. - The missing-parameter answer of
GET /v2/call-notesis406, not422, and its body isfalse. - The text is stored with its HTML tags removed, silently; it is not truncated: more than 1000 characters answers
422. - Editing and deleting a note is not part of this group; the portal does both in the browser.
note_timeis set by the server. InGET /v2/call-notesit is ISO 8601 in UTC; inside a call row (extra.call_notes) it follows the row's date format, which the account's ISO dates option decides.user_nameis the user behind the token. With an API key that is the admin who created the key, not your end user; put the author in the text when it matters.