Sandbox
Test the Partner API against Joulo's staging environment • no real machtigingen, no ERE registration, no email.
Sandbox
The sandbox runs the Partner API on Joulo's staging environment. Build and test your integration here, from upload to a signed test machtiging, before you touch production.
Base URL
https://api-staging.joulo.nl/functions/v1/apiThe endpoints, request and response shapes are identical to production. Only the host differs, so swapping the base URL moves your integration between environments.
Get a sandbox key
A sandbox key is separate from your production key: a production key does not
work on the sandbox and vice versa. Mint one yourself in the partner portal:
open API-koppeling, go to the Sandbox card and click Sandbox-key
genereren. You get a jpk_test_ key, shown once, bound to a sandbox twin of
your partner account. A new sandbox key replaces the previous one. The return
URL you saved for onboarding inside your app comes
along to the sandbox.
What the sandbox does not do
Customers, drafts and claim links behave like production. Nothing leaves the environment:
- No ERE registration. Nothing reaches the NEa. A test machtiging has no legal effect and does not bind an EAN.
- No EAN register. The sandbox never calls the Dutch EAN register. It
answers from the EAN you send: its last four digits pick
matched,unverifiedormismatched. See test values and helpers. - No email. Customers receive nothing. The sandbox keeps every mail, and
GET /sandbox/v1/mailshows it to you with the claim and login links in it. - No payouts and no real charger syncs. A virtual charger, connected with a sandbox helper, delivers sessions instead.
Never test against production. A machtiging signed on production is a legal act that binds that EAN to Joulo, even when it was meant as a test.
Claim links point at the sandbox site
A claim_url from the sandbox opens on staging.joulo.nl:
{
"email": "[email protected]",
"claim_url": "https://staging.joulo.nl/claim/3f0c…"
}Deliver the URL exactly as you receive it. The token lives in the sandbox
database, so the same token on joulo.nl reports the link as unknown.
Registration status and ERE positions
Customers you create stay in concept until someone submits the registration through the claim link. POST /sandbox/v1/drafts/{id}/claim does that as the customer, without a browser. On the sandbox a submitted registration is approved automatically two minutes later, or rejected when the customer's address holds +afgekeurd. With a virtual charger the customer gets sessions, and /partner/ere-positions shows the ERE. The helpers on test values and helpers do each step on request: review, connect a charger, sync, refresh positions.
Test data and clean-up
Invent names, e-mail addresses and IBANs. Ids are per environment: never ship a sandbox id in production code.
POST /sandbox/v1/reset deletes all your sandbox customers and drafts. Your
key keeps working.