Notify users about a portfolio document
/documents/{id}/actions/notifyStarts a job that emails and notifies in-app the users with read in the document's own user-permissions (not teams); 202 with the job. Portfolio documents only; 409 invalid_state otherwise, with no read user, or while its job runs. 409 conflict, nothing sent, if the new_portfolio_documents_have_been_shared template is disabled. Needs write access. Job result: recipient_count, sent_count, skipped_count. dry_run: 202, no job, data.result.recipient_count; both 409s still apply. Emits document.notified if sent. It can't be undone.
Path parameters
The record's id.
Query parameters
Validate and run the call without committing it, returning what the real call would return with
meta.dry_runset.
Headers
Makes a retry safe. Send a new UUID for each new request and reuse it only to retry that request; the first response is replayed for 24 hours.
Responses
The job that notifies the users was started. Its result is the recipient, sent and skipped counts.
{
"data": {
"id": "9a9d1c5e-4f2b-4c8e-9a7d-2f1e6b3c4d5a",
"type": "string",
"status": "queued",
"progress": {
"done": 1,
"total": 1
},
"result": {},
"error": {},
"created_at": "2026-06-12T10:00:00+00:00",
"updated_at": "2026-06-12T10:00:00+00:00",
"completed_at": "2026-06-12T10:00:00+00:00"
}
}Authorization failed. error.code is one of org_disabled,
ip_blocked, missing_scope, scope_disabled, user_disabled.
The request conflicts with existing state (error.code = conflict),
e.g. a compliance flow with the requested name already exists.
Examples
curl -X POST https://your-org-domain/kong/core/api/v2/documents/{id}/actions/notify\
-H "Authorization: Bearer $HELM_API_KEY"\
-H "Content-Type: application/json"