# Kvickd API-dokumentation

Allt du kan se och göra i Kvickd kan du också göra från egen kod. API:t har 148 anrop för bokföring, fakturor, moms, lön, bokslut och årsredovisning. Varje anrop är samma verktyg som i Kvickds MCP-server (https://www.kvickd.com/mcp), med samma behörigheter. Hela API:t finns beskrivet i OpenAPI 3.1: https://api.kvickd.com/api/v1/openapi.json

## Första anropet

1. Skapa en API-nyckel i Kvickd under Inställningar, API-nycklar. Välj vad nyckeln får göra, vilka bolag den gäller och hur länge den ska gälla. Nyckeln visas bara en gång.
2. Gör ditt första anrop: lista bolagen som nyckeln når.

```bash
curl https://api.kvickd.com/api/v1/companies \
  -H "X-API-Key: $KVICKD_KEY"
```

Svaret har alltid formen `{"data": ...}`. Hämta sedan till exempel resultaträkningen för ett bolag:

```bash
curl "https://api.kvickd.com/api/v1/companies/5599001004/reports/income-statement?start=2026-01-01&end=2026-10-31" \
  -H "X-API-Key: $KVICKD_KEY"
```

Organisationsnumret anges med eller utan bindestreck.

## Autentisering

Skicka nyckeln i headern `X-API-Key`, eller som `Authorization: Bearer kvickd_key_...`. En nyckel gör aldrig mer än du själv får göra i Kvickd: den har de behörigheter du valde när den skapades, begränsat av dina egna behörigheter, och når bara de bolag du valde.

Behandla nyckeln som ett lösenord. Lägg den i en miljövariabel eller ett lösenordsvalv, inte i koden. En nyckel som har kommit på avvägar återkallar du under Inställningar, API-nycklar.

Lön och skatt kräver egna behörigheter, även för att bara läsa eller räkna. En nyckel som bara får läsa kan därför inte räkna lön eller skatt, eftersom det visar löner och skatteuppgifter. Välj behörigheterna för lön och deklarationer när du skapar nyckeln om integrationen behöver dem.

Användningen av API:t regleras av [villkoren](https://www.kvickd.com/villkor#api), avsnitt 5.

## Gränser och credits

Ett anrop till API:t räknas som ett anrop från din AI via MCP:

- Gratis: 10 credits per månad. De första 30 dagarna är credits obegränsade.
- Pro och Byrå: obegränsade credits.
- Alla planer: högst 240 anrop per minut och 10 000 anrop per dag och konto.

Över gränsen svarar API:t med 429 och headern `Retry-After`, som säger hur många sekunder du ska vänta. När månadens credits är slut svarar det med 402. Priser: https://www.kvickd.com/priser

## Svar och fel

Ett lyckat anrop svarar 200 med `{"data": ...}`. Ett fel svarar med en statuskod och en kropp som ser ut så här:

```json
{"error": {"code": "forbidden", "message": "Nyckeln saknar behörighet ...", "request_id": "rest-3f9c..."}}
```

Varje svar har headern `X-Request-Id` med samma id som i felkroppen. Skicka med det om du hör av dig till oss om ett anrop.

Alla belopp är heltal i öre, både i anropen och i svaren: 100 öre är 1 krona. Fält med belopp slutar på `_ore`, och i rapporterna står enheten i kolumnens namn. Fält som anropet inte känner till avvisas med 422, så att ett felstavat fält inte ignoreras i tysthet.

| Status | code | När |
| --- | --- | --- |
| 400 | `tool_error, invalid_json, path_mismatch, invalid_idempotency_key` | Anropet avvisades, till exempel ett belopp som inte går ihop eller en kropp som inte är JSON. |
| 401 | `missing_api_key, invalid_api_key` | Nyckeln saknas, är ogiltig, återkallad eller har gått ut. |
| 402 | `quota_exceeded, plan_limit` | Månadens credits är slut, eller planen har inte plats för fler bolag. |
| 403 | `forbidden` | Nyckeln eller användaren saknar behörighet, eller bolaget ligger utanför nyckeln. |
| 404 | `not_found, unknown_tool` | Bolaget, verifikatet, fakturan eller adressen finns inte. |
| 405 | `method_not_allowed` | Adressen finns, men inte med den metoden. Headern Allow säger vilka som gäller. |
| 409 | `conflict, request_in_progress, upload_link_used` | Krock med det som redan finns: låst period, dubblett, något som redan är bokfört eller godkänt, ett år som inte har tagit slut (skicka confirm=true om det ändå stämmer), en använd uppladdningslänk eller ett anrop med samma Idempotency-Key som pågår. |
| 413 | `file_too_large` | Filen är större än 15 MB. |
| 415 | `unsupported_file` | Filtypen är inte tillåten, eller innehållet stämmer inte med typen, till exempel en fil som heter .pdf men inte är en PDF. |
| 422 | `invalid_arguments, unknown_field, invalid_orgnr, idempotency_key_reused` | Argumenten stämmer inte med schemat, ett fält är okänt, organisationsnumret har fel kontrollsiffra, en text är för lång eller ett tal eller datum är orimligt. Fälten står i details. |
| 429 | `rate_limited` | För många anrop, även sådana som avvisas. Vänta så många sekunder som headern Retry-After säger. |
| 500 | `internal_error` | Fel hos oss. Skicka gärna med request_id när du hör av dig. |

## Göra om ett anrop

Skicka headern `Idempotency-Key` med en egen sträng på anrop som skriver något. Om anslutningen bryts kan du skicka samma anrop igen med samma nyckel utan att något bokförs två gånger: inom ett dygn får du det första svaret tillbaka, med headern `Idempotent-Replayed: true`.

Samma nyckel med andra argument ger 422. Ett tillfälligt fel (401, 402, 409, 429 eller 500) sparas inte, så samma nyckel kan användas igen.

## REST och MCP

API:t och MCP-servern är samma sak med två gränssnitt. Varje adress kör ett MCP-verktyg med samma namn som anropets `operationId` i OpenAPI-filen, med samma behörigheter, spärrar och logg. Ett nytt verktyg i MCP får alltid en adress i API:t.

Vill du anropa verktygen precis som i MCP går det också: `POST /api/v1/tools/{verktyg}` med argumenten som JSON, och `GET /api/v1/tools` listar alla verktyg med sina argument.

## API-referens (148 anrop)

Parametrarna i sökvägen står inom klamrar, övriga skickas i query-strängen (GET och DELETE) eller som JSON i kroppen.

### Bolag och översikt

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies` | `list_companies` | Lista bolag |
| `GET /api/v1/companies/{orgnr}` | `get_company` | Hämta bolag |
| `GET /api/v1/companies/{orgnr}/overview` | `get_overview` | Översikt: resultat och deadlines |
| `GET /api/v1/companies/{orgnr}/checklist` | `read_checklist` | Att göra just nu |
| `GET /api/v1/company-registry/search` | `search_company` | Sök bolag i registret |
| `POST /api/v1/companies` | `create_company` | Skapa bolag |
| `PATCH /api/v1/companies/{orgnr}` | `update_company` | Ändra bolag |

### Bokföring och huvudbok

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/accounts` | `list_accounts` | Lista konton |
| `PUT /api/v1/companies/{orgnr}/accounts/{number}` | `upsert_account` | Skapa eller ändra konto |
| `GET /api/v1/companies/{orgnr}/reports/general-ledger` | `get_general_ledger` | Hämta huvudbok |
| `GET /api/v1/companies/{orgnr}/reports/trial-balance` | `get_trial_balance` | Hämta saldobalans |
| `GET /api/v1/companies/{orgnr}/vouchers` | `list_vouchers` | Lista verifikat |
| `GET /api/v1/companies/{orgnr}/vouchers/{voucher_id}` | `get_voucher` | Hämta verifikat |
| `POST /api/v1/companies/{orgnr}/vouchers` | `create_voucher` | Bokför verifikat med underlag |
| `POST /api/v1/companies/{orgnr}/vouchers/with-basis` | `book_voucher` | Bokför verifikat med källhänvisning |
| `POST /api/v1/companies/{orgnr}/voucher-drafts` | `propose_voucher` | Föreslå verifikat för attest |
| `GET /api/v1/companies/{orgnr}/voucher-drafts` | `list_voucher_drafts` | Lista verifikatförslag |
| `GET /api/v1/companies/{orgnr}/vouchers/find` | `find_voucher` | Följ förslag eller egen referens |
| `PATCH /api/v1/companies/{orgnr}/voucher-drafts/{draft_id}` | `edit_voucher_draft` | Ändra verifikatförslag |
| `POST /api/v1/companies/{orgnr}/voucher-drafts/{draft_id}/approve` | `approve_voucher_draft` | Godkänn verifikatförslag |
| `POST /api/v1/companies/{orgnr}/voucher-drafts/{draft_id}/reject` | `reject_voucher_draft` | Avvisa verifikatförslag |
| `POST /api/v1/companies/{orgnr}/vouchers/{voucher_id}/reverse` | `reverse_voucher` | Omför verifikat |
| `POST /api/v1/companies/{orgnr}/sie-import` | `import_sie` | Importera SIE |

### Rapporter

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/reports/income-statement` | `get_income_statement` | Hämta resultaträkning |
| `GET /api/v1/companies/{orgnr}/reports/balance-sheet` | `get_balance_sheet` | Hämta balansräkning |
| `POST /api/v1/companies/{orgnr}/reports/export` | `export_report` | Exportera rapport |

### Avstämning

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/reconciliations/open` | `get_open_reconciliations` | Öppna avstämningar |
| `GET /api/v1/companies/{orgnr}/reconciliations` | `get_reconciliation` | Hämta avstämning |
| `GET /api/v1/companies/{orgnr}/findings` | `list_findings` | Lista avvikelser |
| `POST /api/v1/companies/{orgnr}/reconciliations/prepare` | `prepare_bilaga` | Förbered bilaga |
| `POST /api/v1/companies/{orgnr}/reconciliations/unprepare` | `revert_prepare_bilaga` | Ångra förberedd bilaga |
| `PUT /api/v1/companies/{orgnr}/reconciliations/spec` | `set_bilaga_spec` | Ersätt alla avstämningsrader |
| `POST /api/v1/companies/{orgnr}/reconciliations/spec-rows` | `add_bilaga_row` | Lägg till en avstämningsrad |
| `POST /api/v1/companies/{orgnr}/tax-account-statements` | `set_tax_account_statement` | Registrera skattekontots saldo |
| `POST /api/v1/companies/{orgnr}/proposals/bank-match` | `propose_bank_match` | Föreslå bankmatchning |
| `GET /api/v1/companies/{orgnr}/proposals` | `list_proposals` | Lista förslag |
| `POST /api/v1/companies/{orgnr}/proposals` | `create_proposal` | Föreslå justering i avstämning |

### Moms

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/vat-periods` | `list_vat_periods` | Lista momsperioder |
| `GET /api/v1/companies/{orgnr}/vat-returns/{key}` | `get_vat_return` | Hämta momsrapport |
| `POST /api/v1/companies/{orgnr}/vat-returns/{key}/book` | `approve_and_book_vat` | Bokför momsavräkning |

### Kundfakturor

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/customer-invoices` | `list_customer_invoices` | Lista kundfakturor |
| `GET /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}` | `get_customer_invoice` | Hämta kundfaktura |
| `GET /api/v1/companies/{orgnr}/customer-invoices/outstanding` | `customer_outstanding` | Utestående kundfordringar |
| `POST /api/v1/companies/{orgnr}/customer-invoices` | `create_customer_invoice` | Skapa kundfaktura |
| `PATCH /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}` | `update_customer_invoice` | Ändra kundfaktura |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/book` | `book_customer_invoice` | Bokför kundfaktura |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/payments` | `register_customer_payment` | Bokför kundinbetalning |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/payments/reverse` | `reverse_customer_payment` | Backa kundinbetalning |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/credit` | `credit_customer_invoice` | Skapa kreditfaktura |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/cancel` | `cancel_customer_invoice` | Makulera kundfaktura |
| `GET /api/v1/companies/{orgnr}/customer-invoices/setup` | `get_invoice_setup` | Fakturauppgifter och kundregister |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/send` | `send_customer_invoice` | Skicka kundfaktura med e-post |
| `POST /api/v1/companies/{orgnr}/customer-invoices/{invoice_id}/reminders` | `send_payment_reminder` | Skicka betalningspåminnelse |

### ROT och RUT

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/rot-rut` | `list_rot_rut` | ROT/RUT-läget |
| `POST /api/v1/companies/{orgnr}/rot-rut` | `create_rot_rut_request` | Skapa ROT/RUT-begäran |
| `POST /api/v1/companies/{orgnr}/rot-rut/{request_id}/check-file` | `check_rot_rut_request_file` | Kontrollera ROT/RUT-filen |
| `POST /api/v1/companies/{orgnr}/rot-rut/{request_id}/submitted` | `mark_rot_rut_request_submitted` | Markera ROT/RUT-begäran inskickad |
| `POST /api/v1/companies/{orgnr}/rot-rut/{request_id}/payout` | `register_rot_rut_payout` | Bokför ROT/RUT-utbetalning |
| `POST /api/v1/companies/{orgnr}/rot-rut/{request_id}/payout/reverse` | `reverse_rot_rut_payout` | Backa ROT/RUT-utbetalning |
| `DELETE /api/v1/companies/{orgnr}/rot-rut/{request_id}` | `delete_rot_rut_request` | Ta bort ROT/RUT-begäran |

### Leverantörsfakturor

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/supplier-invoices` | `list_supplier_invoices` | Lista leverantörsfakturor |
| `GET /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}` | `get_supplier_invoice` | Hämta leverantörsfaktura |
| `GET /api/v1/companies/{orgnr}/supplier-invoices/unregistered-documents` | `list_supplier_underlag` | Underlag att registrera |
| `POST /api/v1/companies/{orgnr}/supplier-invoices` | `create_supplier_invoice` | Registrera leverantörsfaktura |
| `PATCH /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}` | `update_supplier_invoice` | Ändra leverantörsfaktura |
| `POST /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}/book` | `book_supplier_invoice` | Bokför leverantörsfaktura |
| `POST /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}/payments` | `register_supplier_payment` | Bokför leverantörsbetalning |
| `POST /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}/payments/reverse` | `reverse_supplier_payment` | Backa leverantörsbetalning |
| `POST /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}/cancel` | `cancel_supplier_invoice` | Makulera leverantörsfaktura |
| `POST /api/v1/companies/{orgnr}/supplier-invoices/{invoice_id}/pdf` | `generate_supplier_invoice_pdf` | Faktura-PDF |

### Underlag, inkorg och dokument

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/inbox` | `list_inbox` | Lista inkorg |
| `POST /api/v1/companies/{orgnr}/inbox/{inbox_id}/archive` | `attach_inbox_item` | Arkivera inkorgspost |
| `GET /api/v1/companies/{orgnr}/attachments` | `list_available_underlag` | Lista kopplingsbara underlag |
| `GET /api/v1/policies/{policy_id}/image` | `read_underlag_image` | Läs bildunderlag |
| `POST /api/v1/companies/{orgnr}/reconciliation-attachments` | `upload_underlag` | Ladda upp underlag till avstämning |
| `POST /api/v1/companies/{orgnr}/attachments/upload-url` | `create_underlag_upload` | Uppladdningslänk för stor fil |
| `POST /api/v1/companies/{orgnr}/attachments` | `add_voucher_underlag` | Ladda upp underlag till verifikat |
| `POST /api/v1/companies/{orgnr}/vouchers/{voucher_id}/attach` | `attach_underlag` | Koppla befintligt underlag till verifikat |
| `GET /api/v1/documents` | `list_documents` | Lista dokument |
| `PATCH /api/v1/documents/{doc_id}` | `edit_document` | Redigera dokument |
| `DELETE /api/v1/documents/{doc_id}` | `delete_document` | Radera dokument |

### Kundportal

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/client-requests` | `list_kundportal` | Lista kundportalen |
| `POST /api/v1/companies/{orgnr}/client-requests` | `create_kundportal_request` | Skapa förfrågan i kundportalen |

### Kopplingar (Shopify, Stripe m.fl.)

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/integration-records` | `list_integration_data` | Lista data från kopplingar |
| `GET /api/v1/companies/{orgnr}/integration-records/{record_id}` | `get_integration_record` | Hämta post från koppling |
| `POST /api/v1/companies/{orgnr}/integration-records/resolve` | `resolve_integration_records` | Markera kopplingsdata som hanterad |

### Lön

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/employees` | `list_employees` | Lista anställda |
| `POST /api/v1/companies/{orgnr}/employees` | `upsert_employee` | Spara anställd |
| `DELETE /api/v1/companies/{orgnr}/employees/{employee_id}` | `delete_employee` | Ta bort/inaktivera anställd |
| `GET /api/v1/companies/{orgnr}/payroll-accounts` | `get_payroll_accounts` | Lönekonton |
| `PUT /api/v1/companies/{orgnr}/payroll-accounts` | `set_payroll_accounts` | Välj lönekonton |
| `GET /api/v1/companies/{orgnr}/payroll-runs` | `list_payroll_runs` | Lista lönekörningar |
| `POST /api/v1/companies/{orgnr}/payroll-runs/calculate` | `calc_payroll` | Förhandsberäkna lön |
| `POST /api/v1/companies/{orgnr}/payroll-runs` | `run_payroll` | Kör lön |
| `DELETE /api/v1/companies/{orgnr}/payroll-runs/{run_id}` | `delete_payroll_draft` | Ta bort löneutkast |
| `POST /api/v1/companies/{orgnr}/payroll-runs/{run_id}/reverse` | `reverse_payroll_run` | Backa lönekörning |
| `GET /api/v1/companies/{orgnr}/payslips/{line_id}` | `get_payslip` | Hämta lönebesked |

### Tidrapportering

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/time-reporting` | `get_time_reporting` | Tidrapportering: länk och läge |
| `GET /api/v1/companies/{orgnr}/time-entries` | `list_time_entries` | Lista tidposter |
| `POST /api/v1/companies/{orgnr}/time-entries` | `add_time_entry` | Lägg in tidpost |
| `POST /api/v1/companies/{orgnr}/time-entries/review` | `review_time_entries` | Avvisa eller återställ tidposter |
| `DELETE /api/v1/companies/{orgnr}/time-entries/{entry_id}` | `delete_time_entry` | Ta bort tidpost |
| `GET /api/v1/companies/{orgnr}/payroll-time-basis` | `get_payroll_time_basis` | Löneunderlag ur tidrapporter |

### Anläggningstillgångar

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/fixed-assets` | `list_fixed_assets` | Lista anläggningstillgångar |
| `GET /api/v1/companies/{orgnr}/fixed-assets/{asset_id}` | `get_fixed_asset` | Hämta anläggningstillgång |
| `POST /api/v1/companies/{orgnr}/fixed-assets` | `create_fixed_asset` | Registrera anläggningstillgång |
| `PATCH /api/v1/companies/{orgnr}/fixed-assets/{asset_id}` | `update_fixed_asset` | Ändra anläggningstillgång |
| `POST /api/v1/companies/{orgnr}/fixed-assets/{asset_id}/dispose` | `dispose_fixed_asset` | Avyttra anläggningstillgång |
| `DELETE /api/v1/companies/{orgnr}/fixed-assets/{asset_id}` | `delete_fixed_asset` | Ta bort anläggningstillgång |
| `GET /api/v1/companies/{orgnr}/fixed-assets/depreciation` | `preview_depreciation` | Förhandsgranska avskrivning |
| `POST /api/v1/companies/{orgnr}/fixed-assets/depreciation` | `post_depreciation` | Bokför avskrivning |

### Bokslut och räkenskapsår

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/year-end/{year}/checklist` | `get_year_end_checklist` | Bokslutsposternas fyra steg |
| `POST /api/v1/companies/{orgnr}/year-end/{year}/steps/{step}/book` | `book_year_end_step` | Bokför årsavslutssteg |
| `POST /api/v1/companies/{orgnr}/year-end/{year}/steps/{step}/skip` | `skip_year_end_step` | Kvittera årsavslutssteg |
| `POST /api/v1/companies/{orgnr}/year-end/{year}/steps/{step}/undo` | `undo_year_end_step` | Ångra årsavslutssteg |
| `POST /api/v1/companies/{orgnr}/fiscal-years/{year}/lock` | `lock_fiscal_year` | Lås räkenskapsår |
| `POST /api/v1/companies/{orgnr}/fiscal-years/{year}/unlock` | `unlock_fiscal_year` | Lås upp räkenskapsår |
| `GET /api/v1/companies/{orgnr}/fiscal-years` | `list_fiscal_years` | Lista räkenskapsår |
| `POST /api/v1/companies/{orgnr}/fiscal-years` | `add_fiscal_year` | Lägg till räkenskapsår |
| `DELETE /api/v1/companies/{orgnr}/fiscal-years/{year}` | `remove_fiscal_year` | Ta bort tomt räkenskapsår |
| `POST /api/v1/companies/{orgnr}/fiscal-years/{year}/transfer-result` | `transfer_prior_year_result` | För om föregående års resultat |
| `GET /api/v1/companies/{orgnr}/annual-closing/{year}` | `read_arsbokslut` | Läs årsbokslutet |
| `PUT /api/v1/companies/{orgnr}/annual-closing/{year}` | `set_arsbokslut_inputs` | Spara uppgifter till årsbokslutet |
| `POST /api/v1/companies/{orgnr}/annual-closing/{year}/signed` | `mark_arsbokslut_signed` | Markera årsbokslutet undertecknat |

### Skatt, INK2 och årsredovisning

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/companies/{orgnr}/tax` | `read_tax` | Läs skatteberäkning |
| `POST /api/v1/companies/{orgnr}/tax/compute` | `compute_tax` | Beräkna skatt |
| `GET /api/v1/companies/{orgnr}/tax/ink2-sru` | `download_ink2_sru` | Ta fram INK2 SRU |
| `GET /api/v1/companies/{orgnr}/statutory/{year}` | `read_statutory_status` | Inlämningsstatus för årsredovisning och INK2 |
| `GET /api/v1/companies/{orgnr}/annual-report/{year}/status` | `get_arsredovisning_status` | Årsredovisning: öppna poster |
| `GET /api/v1/companies/{orgnr}/annual-report` | `read_annual_report` | Årsredovisningens siffror ur bokföringen |
| `GET /api/v1/companies/{orgnr}/annual-report/{year}/draft` | `read_annual_report_draft` | Läs årsredovisningsutkast |
| `PATCH /api/v1/companies/{orgnr}/annual-report/{year}/draft` | `edit_annual_report_draft` | Spara hela årsredovisningsutkastet |
| `PUT /api/v1/companies/{orgnr}/annual-report/{year}/inputs` | `set_arsredovisning_inputs` | Spara årsredovisnings-inputs |
| `POST /api/v1/companies/{orgnr}/annual-report/ixbrl` | `generate_ixbrl` | Generera iXBRL |
| `POST /api/v1/companies/{orgnr}/statutory/{year}/submitted` | `mark_submitted` | Markera inlämnad |
| `GET /api/v1/companies/{orgnr}/ne/{year}` | `read_ne_bilaga` | Läs NE-bilagan |
| `PUT /api/v1/companies/{orgnr}/ne/{year}` | `set_ne_bilaga_inputs` | Spara uppgifter till NE-bilagan |
| `POST /api/v1/companies/{orgnr}/ne/{year}/submitted` | `mark_ne_submitted` | Markera NE-bilagan inlämnad |
| `GET /api/v1/companies/{orgnr}/ink4/{year}` | `read_ink4` | Läs INK4 |
| `PUT /api/v1/companies/{orgnr}/ink4/{year}` | `set_ink4_inputs` | Spara uppgifter till INK4 |
| `PUT /api/v1/companies/{orgnr}/partners` | `set_partners` | Ersätt delägarna |
| `POST /api/v1/companies/{orgnr}/ink4/{year}/submitted` | `mark_ink4_submitted` | Markera INK4 inlämnad |

### Instruktioner och policyer

| Anrop | MCP-verktyg | Vad det gör |
| --- | --- | --- |
| `GET /api/v1/instructions` | `list_instructions` | Lista instruktioner |
| `POST /api/v1/instructions` | `add_instruction` | Spara instruktion |
| `PATCH /api/v1/instructions/{instruction_id}` | `update_instruction` | Ändra instruktion |
| `DELETE /api/v1/instructions/{instruction_id}` | `delete_instruction` | Ta bort instruktion |
| `GET /api/v1/policies` | `list_policies` | Lista policyer |
| `GET /api/v1/policies/{policy_id}` | `read_policy` | Läs policy |

## Versioner

Det här är version 1, med adresser under `/api/v1`. Nya anrop och fält läggs till löpande. Ändringar som skulle få befintlig kod att sluta fungera kommer i en ny version.
