Going live
A checklist for moving from sandbox to production. Verify the whole flow in the sandbox, then switch to a production key, and the base URL stays the same.
Before launch
efk_pk_test_… key.Retry-After on rate limits.id of created documents to avoid duplicates.X-Organization-Id for each client organization.Switching to production
efk_pk_live_…. Replace the sandbox key with it in your production configuration.POST /v1/agent/peppol/enroll with a token. Going to production means swapping the test key for the live key. The differences and the timeline are in Sandbox vs. production.efk_pk_live_… in production, not a test key.FS verification token
A production (live) Peppol enroll requires an FS verification token, a hex code from DIČ verification at the Slovak Financial Administration. The sandbox requires it too and any hex is enough (the lenient sandbox of accounts registered before 02.10.2026 does not require it until 01.11.2026 and returns a warning); with an efk_pk_live_… key it's required always, and without it POST /v1/agent/peppol/enroll returns VALIDATION_ERROR.
The token is sent in the enroll body as verificationTokenHex (lowercase / uppercase hex). The client gets it on the Financial Administration portal: when they pick their provider there, the Financial Administration issues them a verification code and sends us the mandate. Create the client's organization with POST /v1/agent/organizations before the client picks the provider.
Enroll with the token is not the only way. Without it, eFaktúra e-mails the client a confirmation link; the client clicks it and the organization activates on its own (webhook participant.activated with source: "partner_claim"). If the client should get no e-mail from us, turn on "Confirm reception through your API" in the portal (Team) and send the client's code via enroll. Both flows: Production onboarding.
POST /v1/agent/organizations/{id}/activation-token with body { "token": "…" } only records the onboarding status (caka_na_token → caka_na_fs). It sends nothing to the Financial Administration and does not activate the organization; activation does not need it.
Organization offboarding (cancelling Peppol reception)
A client leaving or switching provider needs no support ticket: POST /v1/agent/organizations/{id}/peppol/deactivate (scope org:provision). We de-register the participant from the SMP, suspend reception, revoke the bound FS mandate and move the organization to deaktivovane. The response carries status (deactivated, or already_inactive on a repeated call), participant_id and deregistered_at; your endpoints receive participant.deactivated.
QUEUED or SENDING, the call returns 409 PEPPOL_PENDING_TRANSFERS with the count in details.pending_transfers. Retry later or send { "force": true }. Received documents, original UBL and delivery evidence stay available through the API after deactivation. Re-activation: POST /v1/agent/peppol/enroll with a fresh FS token.Partner activation: 3 steps
Production access (and with it the efk_pk_live_… key) moves through three steps right in the partner portal: you track the whole thing on the Overview (Onboarding section), no manual e-mails with a key or attachments. For standard volume/pricing (catalogue terms) the system approves the request automatically: no waiting on an admin.
efk_pk_live_… key in the portal, a one-time reveal. Save it immediately; it won't be shown in full again. Monthly programme: invoiced monthly in arrears. Annual programme: an upfront-payment invoice for 12 months follows activation. White-label runs on the annual programme only: after approval you receive the upfront-payment invoice and the LIVE key is released once it is paid.Changing the agreed terms after signing (volume, package, price list) does not modify the existing contract: a renegotiation generates and re-signs a new contract with the current terms; the original stays as an archival record.
Credits and billing
The sandbox is always free: test sends (efk_pk_test_…) go through the TEST network, aren't billed, and don't consume credits. Production sending via Peppol consumes credit / is billed per transaction.
| Period | Billing for production sends |
|---|---|
| Until Nov 30, 2026 (promo) | €0 base fee up to the promo transaction limit per month (API 1,000 tx/month, not prorated). Usage above the limit is billed monthly in arrears at the total volume's band rate; the billed amount is subject to the €10 ex-VAT monthly minimum (during the promo only in a month with billable transactions). White-label partners (contracts from 5 Sep 2026) pay a €99 ex-VAT platform minimum per month every month from production activation; it covers up to 2,500 transactions per month. White-label runs on the annual programme only – paid upfront for 12 months; the LIVE key is released once the payment is in. |
| From Dec 1, 2026 | Volume price list: the month's transaction volume selects one rate (€0.055 – €0.0194 / tx) applied to the whole volume; a sent document or credit note = 1 tx, a received document = 0.5 tx. Two programmes: the annual programme paid upfront (table rates ×1.00; 12 months paid upfront from a volume estimate after activation, band from the annual volume, settled after 12 months) and the monthly programme with no commitment (×1.20; band from the month's own volume, invoiced monthly in arrears). No setup fee; minimum monthly charge €10 ex VAT for every calendar month from production activation, including months without transactions (the same on both programmes; the ×1.20 coefficient does not apply to it). Price list & calculator: efaktura.sk/api-rest. |
POST /v1/agent/peppol/send returns 402 with the INSUFFICIENT_CREDIT code.Need help going live? Contact us via the partner portal or at podpora@efaktura.sk.