Skip to content
MCPInvoice from your AI
Factuarea

Test mode

Test your integration without touching production.

Test the real flow with isolated data and numbering. Nothing reaches the tax authority, FACe or your clients.

  • Same contract for the main flow
  • Separate data and numbering
  • The prefix selects the environment

Compatible integrations and formats

  • Stripe
  • WhatsAppWhatsApp
  • Facturae

Anatomy of the key

Test
fact_test_3pXnR2VbY7TcA9eFmN5z8KqW

The prefix decides the environment

Isolated sandbox company. External effects blocked.

Live
fact_live_…24 characters

Your real company. Real fiscal numbering, AEAT, emails and webhooks.

No request parameter can accidentally send a test call to production. The key you send decides the environment.

Check the connection

export FACTUAREA_API_KEY='fact_test_…'

curl https://api.factuarea.com/v1/account \
  -H 'Authorization: Bearer $FACTUAREA_API_KEY'

Store your fact_test_ key in the variable and run your first request.

The sandbox inherits your plan and applies the same API quotas.

How to create a test key

The boundary

Everything runs. Nothing goes out.

Create the invoice, calculate taxes and move through its states. The sandbox keeps the result and neutralises only the outputs that would touch third parties.

  • Test real responsesValidation, totals, states and errors use the same contract as the main flow.
  • Isolate every outputAEAT stays local, email is not delivered, the event is stored and FACe returns a synthetic record.
  • Know the two exceptionsPing does test connectivity and signature. Irreversible operations remain irreversible.

Truly separate data

Test with your own numbering without touching the live sequence

The sandbox is another company with its own clients, documents and series. A live key never sees or consumes its resources.

  • Separate numberingTest numbering uses the sandbox's own series. It never consumes or alters the sequence of your production series.
  • Isolation by companyIt is not a filter over the same data: they are two companies. A live key does not see test resources, nor the other way round.
  • Independent resourcesData created in test does not move to production. The sandbox validates the integration, not the data for your live launch.
Your company

fact_live_…

FRA 2026/0183

FRA 2026/0184

Sandbox companytest

fact_test_…

FRA 2026/0006

FRA 2026/0007

Validation
States
Errors
FACTUAREA_API_KEY: fact_test_… → fact_live_…

From test to production

Switching environment means switching a variable

There is no second implementation for operations available in both environments. The request shape is identical: the key you send is what changes.

  1. Create the live keyWith the same scopes you already validated in test. The secret is returned in plaintext exactly once: store it right then.
  2. Swap the keyWherever you keep it: the environment variable, the secret manager, the deployment config. That is all.
  3. Leave the code aloneThe request shape is the same for operations available in both environments, so there is nothing to adapt in that flow.

24 h

The grace window when rotating

Previous secret

New secret

You rotate the keyAfter 24 h the previous one is rejected

Rotating issues a new secret and returns it once. The previous one keeps being accepted for 24 hours, so you can roll out without downtime. Once the window closes, the previous one stops working.

Published surface

An integration that fits your stack

The OpenAPI contract, SDKs and MCP server share the same API. These figures are checked against the published surface so you can assess scope and maintenance before integrating.

API operations
413
resources
37
MCP tools
391
documentation pages
797

Compatible technologies and clients

  • Official TypeScript logoTypeScript
  • Official PHP logoPHP
  • Official OpenAPI logoOpenAPI
  • Official Cursor logoCursor

Logos identify compatible technologies or clients; they do not imply a commercial relationship or endorsement.

Questions

Three questions before you start

No. A fact_test_ key operates on the sandbox company and uses that company's series. The sequence of your production series is neither touched nor consumed.

Test the integration with isolated data

Create a fact_test_ key and validate the full flow before enabling production.