Fynvoice developer platform

API documentation

Build invoice-liquidity workflows against a safe mock sandbox, then prepare for controlled partner onboarding.

SandboxLive · restricted

Overview

Fynvoice exposes registry, verification, financing-request, offers and partner-routing primitives. Sandbox responses are realistic mock records and do not trigger live financing, payment or partner systems.

API-first registry

Push receivables once and track workflow state.

Visible controls

Integrate around explicit verification states.

Event-driven

Subscribe to lifecycle events with webhooks.

Quickstart

Create a sandbox API key in the developer dashboard, then register an invoice.

curl https://sandbox-api.fynvoice.com/api/invoices \
  -H "Authorization: Bearer fyn_sandbox_..." \
  -H "Content-Type: application/json" \
  -d '{"sellerId":"cmp-lum","debtorId":"cmp-nor","invoiceNumber":"LO-2026-0418","amount":84200,"currency":"EUR"}'

Authentication

Use a bearer API key in the Authorization header. Keys are scoped by action, shown once, and retained as SHA-256 digests. When Supabase is configured, workspace access uses authenticated HTTP-only cookie sessions and tenant-scoped RLS policies.

Environments

Sandbox

https://sandbox-api.fynvoice.com

Test data, mock verification, mock offers and safe demo routing.

Live · restricted

https://api.fynvoice.com

Coming soon. Real records and stricter permissions after partner onboarding.

API keys

Generate sandbox keys, select allowed scopes, copy the secret once, and revoke stale credentials from the developer dashboard.

Webhooks

Register endpoints and test signed delivery-shaped payloads from the dashboard. Signing secrets and logs are placeholders in local demo mode.

Error codes

Errors use a stable envelope with a machine-readable code, message and request identifier. Initial codes: invalid_request, authentication_required, insufficient_scope, resource_not_found, rate_limit_exceeded.

{
  "error": {
    "code": "invalid_request",
    "message": "invoiceNumber is required",
    "requestId": "req_sandbox_01HY..."
  },
  "mode": "sandbox_mock"
}

Rate limits

Sandbox placeholder: 120 requests per minute per key. Live limits will be tiered by partner contract. Use response headers and exponential backoff when rate limits are enforced.

Invoice API

POST /api/invoices registers structured invoice metadata. GET /api/invoices lists accessible records. GET /api/invoices/{id} retrieves one registry record.

Verification API

POST /api/verification/run returns checklist workflow states. Sandbox checks remain mock and clearly labelled.

Financing Request API

POST /api/financing-requests creates a request. GET /api/financing-requests lists routed requests.

Offers API

POST /api/offers records an indicative offer. GET /api/offers lists offers accessible to the caller.

Partner Routing API

POST /api/partners/route applies demo mandate filters. It does not connect to a live partner network.

Registry / Fingerprint API

POST /api/registry/fingerprint generates a SHA-256 value from canonical invoice fields to support duplicate-risk workflows.

Sandbox testing guide

Use synthetic entities only. Register invoices, run verification, create requests, submit offers, and trigger webhook tests. Treat every response containing mode: sandbox_mock as non-production data.

Go-live checklist

Complete commercial and regulatory onboarding

Provision live credentials with least-privilege scopes

Configure approved webhook endpoints

Validate retry and error handling

Complete KYB/KYC and screening-provider controls

Run partner acceptance testing