WALTER REST API

Komplet reference for alle endpoints. Base URL: https://api.hejwalter.dk/v2

Autentificering

Alle requests kræver en API-nøgle i Authorization headeren. Nøgler starter med sk_live_ (production) eller sk_test_ (sandbox).

HTTP # Alle requests skal inkludere:
Authorization: Bearer sk_live_abc123...
Content-Type: application/json
Accept: application/json

⚠️ Hold din API-nøgle hemmelig. Del aldrig din nøgle i klient-side kode, GitHub repos eller offentlige fora. Brug altid server-side requests.

Fakturaer

Opret, hent, opdatér og send fakturaer. Understøtter e-faktura (OIOUBL), PDF-generering og automatisk momsberegning.

GET/invoicesHent alle fakturaer
GET/invoices/{id}Hent én faktura
POST/invoicesOpret ny faktura
PUT/invoices/{id}Opdatér faktura
POST/invoices/{id}/sendSend faktura til kunde
DELETE/invoices/{id}Slet kladde-faktura

Eksempel: Opret faktura

cURL curl -X POST "https://api.hejwalter.dk/v2/invoices" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "cus_7xK...",
    "due_days": 30,
    "lines": [
      {
        "description": "Webdesign",
        "quantity": 1,
        "unit_price": 12500.00,
        "vat_rate": 0.25
      }
    ]
  }'

Query Parameters

statusFiltrér: draft, sent, paid, overdue, cancelled
customer_idFiltrér på kunde
date_fromFra dato (YYYY-MM-DD)
date_toTil dato (YYYY-MM-DD)
pageSide nummer (default: 1)
per_pageAntal pr. side (default: 50, max: 200)

Kunder

Administrér dit kundekartotek. CVR-opslag, kontaktpersoner og betalingshistorik.

GET/customersListe alle kunder
GET/customers/{id}Hent én kunde
POST/customersOpret kunde
PUT/customers/{id}Opdatér kunde
GET/customers/{id}/invoicesKundens fakturaer
GET/customers/cvr/{cvr}Opslag via CVR

Bilag

Upload, scan og bogfør bilag. AI-OCR udtrækning inkluderet.

GET/receiptsListe alle bilag
POST/receipts/uploadUpload & scan bilag (multipart)
POST/receipts/{id}/approveGodkend & bogfør
GET/receipts/{id}/ocrHent OCR-resultater

Kontoplan

GET/accountsHent kontoplan
GET/accounts/{code}Hent konto + saldo
GET/accounts/{code}/transactionsPosteringer på konto

Transaktioner

GET/transactionsListe transaktioner
POST/transactionsOpret postering
GET/transactions/bankBanktransaktioner
POST/transactions/bank/{id}/matchMatch banktransaktion

Produkter

GET/productsListe produkter
POST/productsOpret produkt
GET/products/{id}/stockLagerbeholdning

Projekter

GET/projectsListe projekter
POST/projectsOpret projekt
GET/projects/{id}/time-entriesTidsregistreringer
GET/projects/{id}/profitabilityProjektøkonomi

Fejlkoder

KodeStatusBeskrivelse
200OKRequest lykkedes
201CreatedRessource oprettet
400Bad RequestUgyldige parametre
401UnauthorizedUgyldig eller manglende API-nøgle
403ForbiddenIngen adgang til ressource
404Not FoundRessource ikke fundet
429Too Many RequestsRate limit overskredet
500Server ErrorIntern serverfejl — kontakt support

Rate Limits

API-kald er begrænset for at sikre stabilitet. Limits returneres i response headers.

PlanRequests/minutRequests/dag
Sandbox605.000
Production30050.000
Enterprise1.000Ubegrænset
Response Headers X-RateLimit-Limit: 300
X-RateLimit-Remaining: 287
X-RateLimit-Reset: 1783369200