JouloDocs

Read the mail your customers would have received

Sandbox only: send it to https://api-staging.joulo.nl (pick the Sandbox server). The sandbox sends no mail. It keeps every mail to your customers, newest first, with the links in it.

GET
/sandbox/v1/mail
AuthorizationBearer <token>

Partner API key, sent as Authorization: Bearer <key>. Production keys start with jpk_live_ and work only on https://api.joulo.nl. Sandbox keys start with jpk_test_ and work only on https://api-staging.joulo.nl. Sandbox keys minted before September 2026 also start with jpk_live_. A key used on the wrong host returns 401 with a detail. A key is bound to one partner and reaches only the Partner API routes. Any other route returns 404 when it does not exist. A route that needs a scope the key lacks, such as GET /sessions, returns 403 with error: Insufficient scope and a required_scope. Every other route returns 403 with error: partner_api_key_scope. Mint and revoke keys in the partner portal. A partner has one active key at a time.

In: header

Query Parameters

to?string

Only mail to this address.

Formatemail
limit?integer

At most this many mails.

Default20
Range1 <= value

Response Body

curl -X GET "https://api.joulo.nl/functions/v1/api/sandbox/v1/mail?to=user%40example.com&limit=20"
{
  "mail": [
    {
      "id": "string",
      "captured_at": "2019-08-24T14:15:22Z",
      "to": "string",
      "from": "string",
      "subject": "string",
      "template": "string",
      "links": [
        "http://example.com"
      ],
      "html": "string",
      "text": "string"
    }
  ]
}
{
  "error": "Missing or invalid API token"
}
{
  "error": "string",
  "detail": "string",
  "step": "string",
  "reason": "string",
  "draft_status": "string"
}
{
  "error": "string",
  "detail": "string",
  "step": "string",
  "reason": "string",
  "draft_status": "string"
}