Skip to main content
POST
/
entities
/
{id}
/
report-export
/
email
Email entity PDF report
curl --request POST \
  --url http://api.gu1.ai/entities/{id}/report-export/email \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --header 'X-Organization-ID: <x-organization-id>' \
  --data '
{
  "recipientEmails": [
    "<string>"
  ],
  "emailLocale": "<string>",
  "sections": {}
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.gu1.ai/llms.txt

Use this file to discover all available pages before exploring further.

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

POST http://api.gu1.ai/entities/{id}/report-export/email

Authentication & tenant

Authorization
string
required
Bearer YOUR_API_KEY — see Authentication.
X-Organization-ID
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).

Path parameters

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

Request body (JSON)

recipientEmails
string[]
required
One or more email addresses (max 26 after deduplication). The authenticated user’s account email is merged automatically when present (deduped), so the requester can receive a copy without listing themselves.
emailLocale
string
Email template language: en, es, or pt. Defaults to en if omitted or invalid.
sections
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

{
  "recipientEmails": ["compliance@example.com", "risk@example.com"],
  "emailLocale": "es",
  "sections": {
    "generalInfo": true,
    "riskAnalysis": true,
    "enrichments": true,
    "checks": true,
    "alerts": true,
    "timeline": false
  }
}

Example request

curl -X POST "http://api.gu1.ai/entities/550e8400-e29b-41d4-a716-446655440000/report-export/email" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Organization-ID: YOUR_ORG_UUID" \
  -H "Content-Type: application/json" \
  -d '{
    "recipientEmails": ["compliance@example.com"],
    "emailLocale": "en",
    "sections": {
      "generalInfo": true,
      "riskAnalysis": true,
      "enrichments": true
    }
  }'

Responses

202 Accepted — queued

{
  "success": true,
  "status": "queued",
  "message": "…"
}
message is localized from emailLocale.

400 — validation / no recipients

Examples: empty recipientEmails (and no user email on file), too many recipients (TOO_MANY_RECIPIENTS), malformed JSON.

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.
  • Get entityGET /entities/{id}.