Skip to content
MCPInvoice from your AI
Factuarea

API

Reliable invoicing inside your product.

REST over JSON, clear permissions and idempotency so a retry never creates another invoice.

  • 10-day trial
  • No card required
  • Cancel anytime

Compatible integrations and formats

  • Stripe
  • WhatsAppWhatsApp
  • Facturae
HTTP
POST /v1/invoices
Authorization: Bearer fact_test_…
Idempotency-Key: 0192…1d4b
Factuarea-Version: 2026-06-01
201 Created
Factuarea-Version: 2026-06-01
Idempotent-Replayed: false
X-RateLimit-Remaining: 297

One request and what comes back. The response headers are the contract.

Idempotency

Every retry preserves a single invoice

Repeat the same POST without creating another invoice. The idempotency key returns the first response and protects fiscal numbering.

  • The first response stays available for 24 hours.
  • The same key with a different body is stopped with a 409.
  • 158 of the 413 operations accept it: the ones that create, change or delete something. One UUID v7 per business attempt is enough.

POST /v1/invoices

Idempotency-Key: 0192…1d4b

Without the header

  1. 201 CreatedF-2026-0184

With the header

  1. 201 CreatedF-2026-0184

Rate limits

How many requests fit

The API and MCP server are included in every paid plan, with no per-call fee. Each plan includes per-minute and monthly capacity, which you can raise with a boost without changing plans.

  • Trial10 days, no webhooks

    10per minute

    100 per month · 1 keys · 0 webhooks

  • Emprendedor

    30per minute

    5.000 per month · 3 keys · 1 webhooks

  • Empresario

    300per minute

    50.000 per month · 25 keys · 10 webhooks

  • Enterprise

    Custom

    Capacity, keys and webhooks sized to the agreed volume.

The counter comes back on every response

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1789381860
429 Too Many Requests
Retry-After: 12

And on a 429, Retry-After with the seconds to wait. Wait them out. For 5xx, retry with a growing delay and a bit of randomness, so nobody comes back all at once.

The minute slides: it counts the last 60 seconds, not the minute on the clock. That removes the burst that sneaks through right as the minute rolls over.

Versioning

What may appear and what will not move

Versions are dates. Pin one per request with a header, or once when you create the key; send none and the key's version applies, falling back to the latest. Omitting it is never an error.

What you send

POST /v1/invoices
Factuarea-Version: 2026-06-01

What comes back

201 Created
Factuarea-Version: 2026-06-01

The effective version comes back on every response, so you always know which one you are talking to.

May appear without warning

  • A new field in a response
  • A new optional parameter
  • A new endpoint
  • A clearer error message

Does not happen inside /v1

  • Removing or renaming a field
  • Changing the type of a field
  • Changing the status code of a response
  • Making an optional field required
12 months
of /v1 and /v2 coexisting the day the second one arrives
12 months
minimum before an endpoint marked deprecated is withdrawn
24 months
of guaranteed life for whatever you integrate against /v1 today

One detail that saves a scare: error.type is versioned and error.code is not. If you want to branch on something that does not move with the version, branch on code.

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 Stripe logoStripe

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

Questions

What people ask when evaluating the API

The API and the MCP server are included in every paid plan; there is no add-on to buy and no per-call charge. The trial lasts 10 days and allows 10 requests per minute and 100 per month, but no webhooks at all: its cap is zero.

The first call takes five minutes

A test key, a POST and a registered invoice. No card, no sales call.