Send messages in bulk

Send electronic registered messages (LRE), Simple Letters (LS), Avis simplifié (AS) or Mail tracé (MT) to multiple recipients.

Important notes:

  • LRE messages require mTLS authentication
  • Resellers must specify a valid sender customer ID
  • Message body must be HTML and non-empty after sanitization
  • Attachments are limited to a total of 250MB
  • AS messages follow the same recipient, body, and attachment rules as LS messages (no mTLS required, identifier/identifierType optional for legal persons)

MT-specific behavior:

  • No mTLS or KYC required
  • At most 1 attachment
  • Body text must contain between 2 and 10000 characters
  • No evidence generated (no legal value, no cryptographic proof)
  • If the message has an attachment, the recipient receives an email with the message body and a signed link valid for 60 days
  • If the message has no attachment, the recipient receives only the body inline (no download link)
  • Webhook events emitted, following the email delivery lifecycle: mt_sent (sent), mt_received (delivered to the recipient's mailbox), mt_opened (recipient opened the email or downloaded the attachment), mt_undelivered (bounce; reversible), mt_failed (send failure)
  • GET /messages/{id} returns only id, status and an empty evidences array for MT

Scheduled send:

  • Provide scheduledAt (ISO 8601 datetime with timezone offset) to schedule the message instead of sending it immediately. Available for all message types (LRE, LS, AS, MT).
  • The message is held in SCHEDULED until the scheduled time, then sent. The legal Sent event, the Datasure timestamp and the PSCO seal are produced at the real send time, not at scheduling.
  • scheduledAt must be at least 15 minutes and at most 90 days in the future.
  • The response's messages[].id are the 12-digit friendly ids of each contact message. Use them with POST /messages/bulk_reschedule and POST /messages/bulk_cancel to reschedule or cancel a scheduled send.
  • For LRE, the sender's KYC validity is re-checked at the real send time. If it is no longer valid, the message is not sent and an lre_failed webhook is emitted.
Body Params
recipients
array of objects
required
length ≥ 1

List of message recipients

recipients*

Must provide either:

  • Natural person: firstname AND lastname
  • Legal person: company (identifier + identifierType required for LRE, optional for LS and AS)

If identifierType is provided, identifier is required and its format is enforced for that type. If identifier is provided without identifierType, identifierType defaults to SIREN and the SIREN format is enforced.

string
required

Recipient email address

string

Recipient first name (required for natural persons)

string

Recipient last name (required for natural persons)

string

Company name (required for legal persons)

string

Legal person identifier. The format must match identifierType:

  • SIREN (France): 9 digits, e.g. "123456789"
  • BCE (Belgium): 10 digits starting with 0 or 1, with or without dots, e.g. "0403170701" or "0403.170.701"

Required when identifierType is provided. Required for LRE recipients, optional for LS and AS recipients. Sending identifierType without identifier is rejected.

string
enum

Type of legal identifier. Defaults to SIREN when identifier is provided without identifierType. The identifier format is validated against this type.

Allowed:
string
enum
required

Message type

Allowed:
string
required

HTML message body

string

Optional file reference for tracking

string

Optional customer reference for tracking

attachments
array of objects

Message attachments. Optional for LRE/LS/AS/MT. Max 1 item for MT.

attachments
uuid

Customer ID (required for resellers sending on behalf of customers)

boolean
Defaults to false

Whether to include the sender's logo in the email notification.

date-time

Optional. ISO 8601 datetime with timezone offset (e.g. 2026-06-25T09:00:00+02:00); stored and processed in UTC.

When provided, the message is scheduled instead of sent immediately:

  • It is held in SCHEDULED until the scheduled time, then sent (the legal Sent event, timestamp and seal are produced at the real send time).
  • Must be at least 15 minutes and at most 90 days in the future.
  • Use the friendly ids returned in messages[].id to cancel or reschedule via bulk_cancel / bulk_reschedule.
Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json