Advanced
Client Operations
Client operations are the account's data-subject tools: for one phone number, export the data NUACOM holds that involves it, or schedule its deletion or anonymisation — what a GDPR access or erasure request calls for. The group holds the export, the scheduling of a delete or anonymise operation, the list of scheduled and finished operations and the delete of a scheduled one. The data they act on is the call history of Call Logs, the phonebook contacts, the SMS messages and the voicemail messages that involve the number.
Workflow (what the portal does)
- Export:
POST /v2/client-operations/export/{phone}withpayload, the list of sections to include:call_logs,phonebook,sms,voicemail. It answers204at once; the export is built in the background and emailed to the user your API key acts as, with one CSV per section attached, named after your company, the section, the number and a timestamp. The number is matched in its local, international and E.164 forms; a number without+is read in the account's country. The columns:call_logs: Date, From, To, Direction, Duration, Disposition — the calls since 1 January 2021 in which the number is the caller or the called party;phonebook: First Name, Last Name, Mobile, Landline, Email, Address — the phonebook contacts that hold the number;sms: Status, Scheduled Send Time, Message, Number — the messages addressed to the number, drafts excluded;voicemail: Date, Caller, Duration — the voicemail messages left from the number.
- Schedule a delete or anonymise:
POST /v2/client-operations/process/{phone}withprocess(deleteoranonymize) andpayload, a non-empty list of sections with the names above. It answers204: the operation is stored as scheduled and an email confirming the request goes to the account's primary contact. When a scheduled operation of the same kind already exists for the number, itspayloadis replaced rather than a second one created. The processing itself runs later, in the background: the operation moves to processing and then to done. There is no endpoint to run it on demand and the API reports no details of what was changed. - List:
GET /v2/client-operationsanswers at most 20 operations as a plain array, scheduled ones first, then processing, then done. Each row isid,account_id,phone,process,payload,status(0scheduled,1processing,2done),status_label(Scheduled,ProcessingorDone),has_scheduled(truewhile the row can still be deleted),created_atandupdated_at. Exports are not listed: nothing is stored for them. - Delete a scheduled operation:
DELETE /v2/client-operations/{id}answers204. Once processing has started it answers422with{"error": "Only scheduled processes can be deleted"}; an id that is not one of your account's operations answers404.
curl -X POST 'https://api.api-nuacom.com/v2/client-operations/process/+353861234567' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"process": "anonymize", "payload": ["call_logs", "sms", "voicemail"]}'
The list then shows:
[
{
"id": 42,
"account_id": "IE-00123",
"phone": "+353861234567",
"status": 0,
"process": "anonymize",
"payload": ["call_logs", "sms", "voicemail"],
"created_at": "2026-10-29 09:15:00",
"updated_at": "2026-10-29 09:15:00",
"status_label": "Scheduled",
"has_scheduled": true
}
]
Roles and access
- All four endpoints are for account admins: any other user gets
403with the body"Forbidden", a missing or invalid token401"Unauthorized". - With the account's ISO dates option,
created_atandupdated_atare ISO 8601 in theX-Timezoneyou send, UTC by default (2026-10-29T09:15:00+00:00); without it they areY-m-d H:i:sin Irish time. See Dates and timezones.
Pitfalls
- Both
POSTendpoints are asynchronous and answer204with no job id: the export arrives by email, and a scheduled operation is only visible in the list. Nothing tells you when the export has been sent. phoneis not validated when scheduling: the number is stored exactly as you send it. Use the international format (+353861234567).- The section names in
payloadare not validated when scheduling; an unknown name is stored as sent. For the export an unknown name is ignored, and an empty or missingpayloadstill sends the email, with no attachments. - Scheduling the same
processfor the same number again replaces the earlierpayload; it does not add to it. - The list is capped at 20 rows and has no paging; when the account has more, finished operations are the ones left out.
- A
deleteoperation cannot be undone, and the scheduled row can only be removed while it is still scheduled.