# Cortex > Le back-office multi-tenant des indépendants et PME belges : devis, planning, > stock, parc installé, facturation Peppol. Une seule API, une configuration > par client. Vous êtes un agent et vous disposez d'une clé API (`ck_…`). Trois adresses suffisent à tout découvrir — dans cet ordre : 1. **https://0.0.0.0:3000/api/v1/manifest** — ce que CE client a réellement : modules ouverts, statuts acceptés, transitions autorisées, événements émis, champs propres à sa maison. Ajoutez `?format=md` pour la version rédigée. 2. **https://0.0.0.0:3000/api/v1/openapi.json** — le schéma OpenAPI 3.1. Avec votre clé, il ne décrit que les routes ouvertes pour ce client. Sans clé, toute la surface. 3. **https://0.0.0.0:3000/api/v1/recherche?q=** — retrouver une fiche, un article ou une pièce sans connaître son identifiant. Tolère la faute de frappe. ## Authentification `Authorization: Bearer ck_…` — la clé porte le client, il n'y a rien d'autre à transmettre. Elle reste sur un serveur : dans un navigateur, elle est publique. ## Ce que les schémas ne disent pas - **Ne recalculez jamais** un total, une TVA ni un numéro de facture. Ils viennent de Cortex, et un écart entre votre calcul et le sien est un litige. - **N'inventez pas de transition de statut.** Celles du manifeste sont les seules acceptées ; toute autre est refusée en 409. - **Une facture émise est immuable.** On la corrige par une note de crédit, pas par une modification. L'émission n'est pas idempotente : la rejouer est une erreur, pas une répétition. - **Un module éteint répond 403 `feature_disabled`.** Lisez le manifeste d'abord plutôt que de sonder les routes. - **Les webhooks peuvent être relivrés.** Traitez-les de façon idempotente : un même identifiant d'événement peut arriver deux fois. - **En cas de 429**, l'en-tête `retry-after` donne le nombre de secondes. ## Forme des réponses Succès : `{ "data": … }`. Erreur : `{ "error": "", … }` avec `invalid_input` (422, champ fautif dans `details`), `feature_disabled` (403), `unauthorized` (401), ou un refus métier en 409. ## Les modules - `appointments` — Rendez-vous : agenda, séries, statuts, no-show - `orders` — Commandes : lignes, préparation, livraison - `quotes` — Devis : lignes, TVA, PDF, signature - `catalog` — Catalogue : articles, prix, stock - `resources` — Réservations : un article immobilisé sur une période - `entitlements` — Droits d'usage : abonnements et carnets de séances - `payments` — Encaissements : acomptes, soldes, cautions - `attachments` — Pièces jointes : documents entrants, purge automatique - `contact_notes` — Notes : historique libre par fiche - `contacts_export` — Export CSV : sortie comptable - `imports` — Import : reprendre fiches et catalogue depuis Excel - `invoices` — Factures : numérotation continue, immuabilité, note de crédit, Peppol - `disponibilites` — Disponibilités : règles de récurrence, absences, synchronisation iCalendar - `rappels` — Rappels : une date, un sujet, un événement le jour venu - `prix` — Prix : plusieurs tarifs étiquetés et datés par article - `equipements` — Parc installé : numéros de série, position, fin de garantie - `signatures` — Signatures : demande, état, preuve chez le prestataire ## Pages - https://0.0.0.0:3000/ — ce que Cortex sait faire, en français - https://0.0.0.0:3000/login — le back-office (humains)