Skip to main content
POST
Email entity PDF report

Overview

Queues asynchronous generation of a full entity PDF on the server and delivery by email. The PDF uses the same jsPDF pipeline as the in-app β€œexport report” download. Your integration calls this endpoint with an API key; recipients receive the attachment (subject/body depend on emailLocale).
The HTTP response is 202 Accepted as soon as the job is queued. Generation and sending happen in the background; failures are logged server-side (check support if emails do not arrive).

Endpoint

Authentication & tenant

string
required
Bearer YOUR_API_KEY β€” see Authentication.
string
required
Production or Sandbox organization UUID β€” see Environments.

Permissions

Requires granular permission entities:export on the API key (same as POST /entities/{id}/export and GET /entities/{id}/export-data).

Marketplace and billing

  • The organization must have global_sender_email enabled (Applications / Marketplace) and the API must have MS Provider configured.
  • Each address in recipientEmails (after server-side deduplication) bills one Email pack execution or, if no pack remains, tokens per base_price_cents.
  • Pre-flight checks balance/executions for all recipients before queuing.

Domain and sender (fromEmail)

To send from your organization:
  1. Register the domain under Settings β†’ Email β†’ Domains and complete DNS verification.
  2. Send fromEmail in the body with any address on that domain (e.g. noreply@your-domain.com). You do not need a matching row under Senders when the domain is already verified.
  3. Alternatively, send fromSenderId (UUID from organization_email_senders).
  4. Omit both for the platform default (noreply@gueno.com).
Do not send fromSenderId and fromEmail in the same request.

Current risk and AML screening in the PDF

The PDF header shows the entity’s current risk:
  • If a manual override is active, the manual score appears with a MANUAL RISK badge plus user, date, justification and previous score; the matrix score is rendered below, flagged as historical and no longer current.
  • With no override, the matrix score and its label are shown.
The watchlist section (sections.checks) uses normalized screening rather than execution logs:
  • Every row carries result, relevant matches, lists and the risk level reported by the data source (reportedRiskLevel, including unknown when that is what was returned). If no level was reported, a value derived from the matches is used.
  • A check that ran but left no normalized screening is reported as undetermined, not as β€œno matches”.
The same data is available from GET /entities/{id}/export-data under riskSummary, amlScreening and checks[].

Path parameters

string
required
Entity UUID (id returned by create/list/get).

Request body (JSON)

string[]
required
One or more email addresses (max 26 after deduplication). Email is sent only to these addresses; the API key user’s account email is not added automatically.
string
Email template language: en, es, or pt. Defaults to en if omitted or invalid.
string (uuid)
UUID of a sender under Settings β†’ Email β†’ Senders. Mutually exclusive with fromEmail.
string
Full From address (e.g. reports@your-domain.com). The domain must be verified for the org. If a sender row exists for that address, its display name is used; otherwise a verified domain is enough. Mutually exclusive with fromSenderId.
object
required
Booleans for each report section (same semantics as the dashboard export modal). All keys optional; defaults match the API validator (generalInfo defaults to true, others to false if omitted).Keys: generalInfo, kyc, documents, checks, enrichments, alerts, aiAnalysis, relationships, timeline, riskAnalysis.

Example body

Example request

Responses

202 Accepted β€” queued

message is localized from emailLocale.

400 β€” validation / pre-flight

404 β€” entity not found or hidden

Same shape as other entity routes when the ID does not exist in the org or entity visibility denies the caller.

500 β€” server error

Rare; includes a generic error payload.
  • POST /entities/{id}/export β€” synchronous PDF download (response body = PDF file).
  • GET /entities/{id}/export-data β€” JSON bundle used by the dashboard export; the email PDF uses the same server-side data assembly.
  • Bulk export by email β€” POST /entities/export/jobs (CSV/XLSX/JSON with list filters).
  • Get entity β€” GET /entities/{id}.