JouloDocs

Approve or reject a registration

Sandbox only: send it to https://api-staging.joulo.nl (pick the Sandbox server). Decides a submitted registration now, instead of the automatic review two minutes after submission.

POST
/sandbox/v1/customers/{id}/review
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

Path Parameters

idstring

A customer_ref from GET /partner/customers, or an account id from the CPO API or the claim helper.

outcomestring
Value in"goedgekeurd" | "afgekeurd"

Response Body

curl -X POST "https://api.joulo.nl/functions/v1/api/sandbox/v1/customers/string/review" \
  -H "Content-Type: application/json" \
  -d '{
    "outcome": "goedgekeurd"
  }'
{
  "ok": true,
  "from": "string",
  "to": "goedgekeurd"
}
{
  "error": "string",
  "detail": "string",
  "step": "string",
  "reason": "string",
  "draft_status": "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"
}
{
  "ok": false,
  "error": "string",
  "detail": "string"
}
{
  "error": "string",
  "detail": "string",
  "step": "string",
  "reason": "string",
  "draft_status": "string"
}