Factuarea API
Tax rates

List all taxes

List the tax rates available to your company (Spanish IVA, IRPF, recargo, etc.).

GET
/taxes
AuthorizationBearer <token>

In: header

Query Parameters

limit?integer

Number of objects to return. Integer between 1 and 100. Defaults to 25.

Default25
Range1 <= value <= 100
starting_after?string

Cursor for forward pagination. Use the uuid of the last object on the previous page.

Formatuuid
ending_before?string

Cursor for backward pagination. Use the uuid of the first object on the current page.

Formatuuid
type?string

Tax type: vat, retention, surcharge, other. Exact match on type.

type[in]?string

Tax type: vat, retention, surcharge, other. Comma-separated list. Any of the values matches.

is_active?boolean

Filter active / inactive taxes. Exact match on is_active.

is_default?boolean

Filter taxes marked as global default (legacy flag). Exact match on is_default.

applies_to?string

Scope: sales, purchases, both. Exact match on applies_to.

applies_to[in]?string

Scope: sales, purchases, both. Comma-separated list. Any of the values matches.

country?string

ISO 3166-1 alpha-2 country code. Exact match on country.

code?string

Short tax code (exact match). Exact match on code.

search?string

Escaped LIKE search over name and code (limit 80 chars). Exact match on search.

external_reference?string

Exact AEAT key: S1..S3, E1..E6, N1..N2. Exact match on external_reference.

external_reference[in]?string

Exact AEAT key: S1..S3, E1..E6, N1..N2. Comma-separated list. Any of the values matches.

is_system?boolean

Filter system taxes (global catalog) vs custom. Exact match on is_system.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

import { Factuarea } from "@factuarea/sdk";const factuarea = new Factuarea({ apiKey: process.env.FACTUAREA_API_KEY! });// List endpoints return an async-iterable Page (cursors handled for you).for await (const item of await factuarea.taxes.list({ limit: 25 })) {  console.log(item.id);}
{
  "data": [
    {
      "id": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0f",
      "object": "tax",
      "name": "IVA general 21%",
      "code": "IVA21",
      "rate": 21,
      "type": "vat",
      "applies_to": "both",
      "country": "ES",
      "is_default": true,
      "is_active": true,
      "is_system": true,
      "description": "IVA general aplicable en territorio peninsular y Baleares.",
      "default_for_documents": {
        "invoice": true,
        "quote": true,
        "delivery_note": true,
        "proforma": true,
        "purchase_invoice": true,
        "recurring_invoice": true
      },
      "customer_visible_label": "IVA 21%",
      "external_reference": "S1",
      "valid_from": "2012-09-01",
      "valid_until": null,
      "reverse_charge": false,
      "country_aeat_zone": "peninsula",
      "metadata": {
        "erp_code": "IVA-GEN",
        "ledger_account": "477000"
      },
      "created_at": "2024-01-01T00:00:00Z",
      "updated_at": "2024-01-01T00:00:00Z"
    }
  ],
  "has_more": true,
  "next_cursor": "01931b3e-7c4a-7f2e-9a8b-3c5d6e7f8a0c"
}

{
  "error": {
    "type": "authentication_error",
    "code": "missing_api_key",
    "message": "No se ha proporcionado una API key válida en el header Authorization.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#missing_api_key",
    "request_id": "req_01HKQS5N8VR7QXJ9K3T6BWPMZA"
  }
}

{
  "error": {
    "type": "authorization_error",
    "code": "insufficient_scope",
    "message": "Esta API key no tiene el scope requerido para esta operación.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#insufficient_scope",
    "request_id": "req_01HKQS5NBC3P8M1KX4V7SLNHQD"
  }
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "parameter_invalid",
    "message": "El campo `name` es obligatorio y no puede estar vacío.",
    "param": "name",
    "doc_url": "https://docs.factuarea.com/guides/errors#parameter_invalid",
    "request_id": "req_01HKQS5NGS8Z3T6Q1D2E7FYVSI"
  }
}

{
  "error": {
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Has excedido el rate limit de 60 peticiones por minuto. Reintenta tras 30 segundos.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#rate_limit_exceeded",
    "request_id": "req_01HKQS5NKW1C6W9T4G5H0JBZVL"
  }
}

{
  "error": {
    "type": "api_error",
    "code": "internal_error",
    "message": "Ha ocurrido un error inesperado. Si persiste, contacta con soporte adjuntando el request_id.",
    "param": null,
    "doc_url": "https://docs.factuarea.com/guides/errors#internal_error",
    "request_id": "req_01HKQS5NLX2D7X0U5H6J1KCAWM"
  }
}