Connected apps, public API, webhooks & MCP
Why
The company can connect Tauraco to partner software, an integrator, or an AI assistant without sharing a password. Each access relies on an OAuth 2.0 authorization that is limited to a single company, bounded by permissions, and revocable at any time.
How, in the application
Create an application. “API credentials” creates a company application with machine access, without a signed-in user. Its secret is displayed only once; it can be renewed, and the application can be revoked. Limits are expressed in calls per minute and per day (120 and 50,000 by default). As long as the public API is not open, the screen says so. Managing applications and webhooks is reserved for the company's owner and ERP administrator, as well as for platform administration.
Authorize a third-party application. “Connected apps” lists access grants. There, the administrator grants machine access to a third-party application with “Authorise an application”, entering its public identifier and the permissions granted. When a third-party application asks to act on behalf of a user, it redirects them to the “Access authorization” page: the user chooses the “Authorized workspace” among those where they hold an active ERP role, unchecks the permissions they refuse, then clicks “Authorize” or “Deny”. Access can be revoked at any time from “Data & integrations”.
Permissions. A closed list of 31 permissions (scopes), 7 of which are reserved for financial institutions; a write scope includes the corresponding read scope. On the company side, the API writes only customers, invoices, receipts, export requests, and its own webhooks. Machine access receives a read or data-entry role, never an administration role; no access carries a platform role.
Receive events. “Webhooks” registers a public https address and selects the company's events: invoices, payments, customers, agreements, financing and exports, that is ten of the catalog's thirteen types; collateral events are reserved for financial institutions, and the test event is sent with “Send a test”. Each delivery is signed (headers webhook-id, webhook-timestamp, webhook-signature); the secret is displayed only once. Payloads carry only the essentials, with a link to read the details back through the API. A delivery without a successful response is retried for about 35 hours, then moves to the “Given up” state; after 7 days of continuous failures, the webhook is disabled. The screen also lets you “Replay” a delivery.
Connect an AI assistant. “AI & MCP” gives the MCP server address, https://api.tauraco.io/mcp (the name mcp.tauraco.ai is an alias currently being created). The user adds it to their assistant as a custom connector, gives consent, then finds the access under “Access granted to assistants”. The screen's “Compatible assistants” list presents the planned assistants; their compatibility remains to be verified on the open service. The server offers 16 tools: 15 read tools (company, customers, suppliers, invoices, entries, treasury, tenders, financing, Collateral, exports) and a single non-destructive write, the export request.
The developer portal (https://docs.tauraco.io/developers/, https://docs.tauraco.ai/developers/) describes these interfaces in detail for integrators.
Safeguards
- The company always comes from the authorization, never from a parameter.
- Rights are checked again on every call: a withdrawn role or a revocation cuts off access from the next call.
- An MCP tool never sees more than the equivalent API route.
- Neither the API nor MCP makes a financing decision, triggers a disbursement, or deregisters collateral.
- Financing and Collateral events contain neither amounts nor rates.
- Public API lists and MCP tools never serve personal data; machine access cannot request its export.
- In MCP, free-text values are marked “donnée externe non vérifiée” (unverified external data).
- An accounting firm account can neither grant consent to an access nor own an application.