Companies

Register a tax ID in the account

Register a new tax ID in the account; name and tax_id are required.

  • Duplicate tax_id returns 409; one owned by another account returns 422 business_rule_violation.
  • Beyond the first active one it is ADDITIONAL: plan, cap and 402 payment_method_required apply.
  • Preview the cost with GET /v1/accounts/{account}/companies/seat-charge-preview.
post/accounts/{account}/companies

Request

  • Base URL: https://api.factuarea.com/v1
  • URL: https://api.factuarea.com/v1/accounts/{account}/companies
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Path parameters

accountstring uuid required

Public identifier (UUID v7) of your account. Get it from GET /v1/me (data.account.id).

Headers

Idempotency-Keystring required
Example:01928f10-7c0e-7c4a-9b7d-2f8a6e3c1d4b

Client-generated opaque key (up to 255 characters; UUID v7 recommended) that makes retries safe: the first response is cached and replayed for repeats without re-executing the mutation. Reusing a key with a different body returns 422 idempotency_key_reused; the values of secret fields (password, secret…) count as part of the body, so retrying with a corrected secret under the same key is a different request, never the replay of the earlier answer. See the Idempotency guide. Required on this operation: repeating it delivers an effect that cannot be taken back (an email sent, a file generated, a third-party call, a charge), so a request without this header is rejected with 422 idempotency_key_required before any business logic runs.

Factuarea-Versionstring date
Example:2026-06-01

Pin the API version (YYYY-MM-DD, Stripe-style date versioning) for this request; omit to use the key's pinned version, or the latest if none. Unsupported version → 400 unsupported_api_version; malformed → 400 parameter_invalid_format. The effective version is echoed in the Factuarea-Version response header. See the Versioning guide.

Request body

namestring required

Trade name of the company registered under this tax ID (1-255 characters).

tax_idstring required

Spanish tax identifier (NIF, CIF or NIE). Immutable after creation and unique within your account.

business_namestring nullable

Legal/registered business name.

addressstring nullable

Fiscal address.

citystring nullable

City of the fiscal address.

postal_codestring nullable

Postal code (derives the AEAT zone).

provincestring nullable

Province.

countrystring nullable

Country.

emailstring email nullable

Contact email.

phonestring nullable

Contact phone number.

Response

Tax ID registered in the account. The Location header contains the canonical URL of the new company.

Example response

{
  "data": {
    "id": "01931b3e-7c4a-7f2e-9a8b-4d6e7f8a9b0c",
    "object": "company",
    "name": "Talleres García SL",
    "business_name": "Talleres García, Sociedad Limitada",
    "tax_id": "B12345674",
    "status": "active",
    "address": "Calle Mayor 1",
    "city": "Madrid",
    "postal_code": "28013",
    "province": "Madrid",
    "country_aeat_zone": "peninsula",
    "country": "España",
    "email": "contacto@talleresgarcia.es",
    "phone": "+34911234567",
    "logo_url": "https://app.factuarea.com/storage/logos/abc.png",
    "paid_until": "2026-07-15T10:00:00+00:00",
    "created_at": "2026-01-15T09:30:00+00:00",
    "updated_at": "2026-05-25T18:00:00+00:00",
    "readiness": {
      "blockers": [
        "census_not_identified",
        "no_default_series"
      ],
      "census_status": "verified",
      "has_default_series": true,
      "fiscal_profile_complete": true,
      "operable": true,
      "missing_modules": [],
      "checked_at": "2026-09-20T10:15:00+00:00"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.