Skip to content
MCPInvoice from your AI
Factuarea

Official SDKs

Integrate Factuarea with TypeScript or PHP.

Official clients for your backend, with retries, idempotency and pagination already handled.

  • Node 20 or newer
  • PHP 8.2 or newer
  • Sandbox with a fact_test_ key

Compatible integrations and formats

  • Stripe
  • WhatsAppWhatsApp
  • Facturae
TypeScriptOfficial SDK · v0.2.0

TypeScript / Node.js

Complete types, async/await and ready-made automation for Node 20 or newer.

Install
npm install @factuarea/sdk
TypeScript guide
PHPOfficial SDK · v0.2.0

PHP

PSR-4 on Guzzle, clear errors and support for PHP 8.2 or newer.

Install
composer require factuarea/factuarea-php
PHP guide

What's inside

Retries, idempotency and pagination included

Your application makes one call. The SDK makes sure it arrives once and returns the right response.

  • RetriesHonours Retry-After and automatically recovers transient failures.
  • IdempotencyEvery operation carries a key so repeating it never duplicates an invoice.
  • Cursor paginationWalks next_cursor to the end of the collection without manual loops.
TypeScriptTypeScriptv0.2.0
PHPPHPv0.2.0
Factuarea SDKinvoices.create(factura)
201 CreatedFRA 2026/0184
RetriesIdempotencyCursor pagination

The headers

Authentication and headers managed by the SDK

Writing less code is the easy argument. The one you feel is this: no longer having to remember. Each of these headers has a consequence if you forget it, and the SDK writes them and reads them for you.

  • Idempotency-KeyGenerated for every mutation. It is what keeps a retry from ending in two invoices.
  • Retry-AfterWhen a 429 comes back, the SDK waits for as long as this header says before trying again.
  • Factuarea-VersionThe version pinned by the release you have installed. The API behaves the same until you upgrade.
TypeScriptTypeScript
PHPPHP
Factuarea SDKruntime.request()
  • AuthorizationwriteBearer fact_live_…
  • Idempotency-Keywrite0192…1d4b
  • Factuarea-Versionwrite2026-06-01
  • Retry-Afterread12
  • X-Request-Idreadreq_01…
  • Factuarea-Signaturereadt=… v1=…

The SDK runs on the server. Always.

The key is a secret: never ship it to a browser, a mobile app or any public client.

OpenAPI 3.1

A public contract for generating your own client

Generate a client for your language from the same specification published by the API.

  • Types that stay alignedModels and operations come directly from OpenAPI 3.1.
  • Your language is includedTypeScript, Python, Go, Java, C# and Rust, among others.
  • You choose the runtimeAdd retries and idempotency by following the Factuarea guides.
OpenAPI 3.1openapi.json
Types that stay alignedYour language is includedYou choose the runtime
docs.factuarea.com/api/openapi

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

What people ask before pinning the dependency

You can use it. Until 1.0.0 a minor version may contain breaking changes, so pin it in your lockfile. Every release pins a Factuarea-Version and the API stays put until you choose to upgrade.

Install it, point it at the sandbox and issue an invoice

With a fact_test_ key nothing is sent anywhere. When it works, you change the prefix.