API reference

Every endpoint, with a live sandbox.

Base URL: https://api.invonexa.example/v1. All requests use JSON and a bearer key.

Try it

Send a real request to the demo endpoint.

This panel calls a mock route on this site, /api/demo/invoices, and shows the raw response.

Try an invalid currency such as XXX to see a 422 error.

Live response

Waiting for a request
// The response appears here

Resource

Invoices

Issue invoices and follow them to a final status.

  • POST/invoices

    Create and send an invoice.

    Request body
    {
      "country": "ES",
      "customer": "Acme S.L.",
      "total": 1210.00,
      "currency": "EUR"
    }
    Response
    {
      "id": "inv_k29dm1xq",
      "status": "reported",
      "created_at": "2026-03-04T09:12:41.220Z"
    }
  • GET/invoices

    List recent invoices, newest first.

    Response
    {
      "object": "list",
      "data": [{ "id": "inv_k29dm1xq", "status": "reported" }],
      "has_more": false
    }
  • GET/invoices/{id}

    Retrieve one invoice with its receipt.

    Response
    {
      "id": "inv_k29dm1xq",
      "status": "reported",
      "receipt_url": "https://api.invonexa.example/v1/receipts/rcp_88"
    }
  • DELETE/invoices/{id}

    Void an invoice that was not yet reported.

    Response
    { "id": "inv_k29dm1xq", "status": "voided" }

Resource

Entities

The companies that issue invoices.

  • POST/entities

    Register an issuing company.

    Request body
    {
      "name": "Acme S.L.",
      "tax_id": "ESB12345678",
      "country": "ES"
    }
    Response
    { "id": "ent_8f2k1a", "name": "Acme S.L.", "country": "ES" }
  • GET/entities/{id}

    Retrieve an entity and its registrations.

    Response
    { "id": "ent_8f2k1a", "registrations": ["ES"] }
  • PUT/entities/{id}

    Update an entity's details.

    Request body
    { "name": "Acme Iberia S.L." }
    Response
    { "id": "ent_8f2k1a", "name": "Acme Iberia S.L." }

Resource

Workflows

Define and run the steps applied to documents.

  • GET/workflows

    List available workflows.

    Response
    { "data": [{ "id": "wf_es", "name": "es-standard" }] }
  • POST/workflows/{id}/runs

    Start a run for a document.

    Request body
    { "document": { "total": 99, "currency": "EUR" } }
    Response
    { "id": "run_2p9", "status": "processing" }

Resource

Webhooks

Subscribe to events instead of polling.

  • POST/webhooks

    Register an endpoint.

    Request body
    {
      "url": "https://example.com/hooks/invonexa",
      "events": ["invoice.reported"]
    }
    Response
    { "id": "wh_71", "secret": "whsec_..." }
  • DELETE/webhooks/{id}

    Remove an endpoint.

    Response
    { "id": "wh_71", "deleted": true }