Platform API

Hello, and welcome to the JCF API.

JCF is a Tunisian accounting and tax platform. This API is the single backend behind the client portal, the accountant portal, the admin console and the mobile app: companies, invoices, declarations, documents, KYC and billing all go through here.

Open the interactive docs OpenAPI JSON Health check

Who uses it

Client portal

Business owners: invoicing, purchases, tax declarations, documents and their KYC dossier.

Accountant portal

Accounting firms (cabinets): client portfolio, missions, tasks, reviews and fees.

Admin console

The JCF team: firms, accountants, KYC review, plans, support and audit.

Mobile app

Sign-up, documents and day-to-day follow-up on the go.

Try it in three steps

  1. Log in. POST /auth/login with email and password. If the account has two-factor enabled, resend with mfaCode. The response contains an accessToken.
  2. Authorize. Open /docs, click Authorize and paste the token (without the word Bearer).
  3. Call an endpoint. Expand any operation, press Try it out, then Execute.

Good to know

TopicHow it works
AccessEvery route is scoped by membership. Company data lives under /companies/:companyId/…, accounting-firm data under /practice/cabinets/:cabinetId/… and platform operations under /admin/…. No token gives 401; a valid token without access to that scope gives 403.
ErrorsFailures return a problem-details JSON body with type, title, status, code, detail and instance.
ListsList endpoints accept ?limit= and ?offset=; the full size comes back in the X-Total-Count response header. Without limit you get the whole list.
RetriesSend an Idempotency-Key header on POST, PATCH or DELETE calls: a retry with the same key replays the first response instead of repeating the action.
OnboardingSign-up sends a verification email; a new company then files its legal documents and submits a KYC dossier for review.