Getting started

From zero to a reported invoice in four steps.

Every example targets https://api.invonexa.example/v1. Pick your language once per step and copy the snippet.

Sandbox only — demo API

  1. Step 1: Get an API key

    Create a sandbox key from your dashboard. Keys starting with sk_sandbox_ never touch a real tax authority. Keep the key in an environment variable, never in source control.

    shell
    export INVONEXA_KEY="sk_sandbox_..."
    
    curl https://api.invonexa.example/v1/ping \
      -H "Authorization: Bearer $INVONEXA_KEY"
  2. Step 2: Create a company (entity)

    An entity is the legal issuer of invoices. Register its tax ID and country once, and every invoice you send for it is routed through the right rules.

    shell
    curl https://api.invonexa.example/v1/entities \
      -H "Authorization: Bearer $INVONEXA_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "name": "Acme S.L.", "tax_id": "ESB12345678", "country": "ES" }'
  3. Step 3: Issue your first invoice

    Post a document. The sandbox validates it, signs it and reports it in about two seconds. You can run the same call live in the API reference.

    shell
    curl https://api.invonexa.example/v1/invoices \
      -H "Authorization: Bearer $INVONEXA_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "entity": "ent_8f2k1a",
        "country": "ES",
        "customer": "Globex GmbH",
        "total": 1210.00,
        "currency": "EUR"
      }'
  4. Step 4: Track status with a webhook

    Register an HTTPS endpoint and we call it whenever an invoice changes state. Verify the signature header before trusting the payload.

    shell
    curl https://api.invonexa.example/v1/webhooks \
      -H "Authorization: Bearer $INVONEXA_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "url": "https://example.com/hooks/invonexa", "events": ["invoice.reported", "invoice.rejected"] }'