# Verifikationsserier (/api/referens/voucherseries)

> Verifikationsserier – lista och hämta organisationens serier via /3/voucherseries.

Resursen speglar Fortnox `/3/voucherseries`. En serie adresseras på sin kod (`Code`), t.ex. `A`. Resursen är skrivskyddad i Klirr: det finns ingen `POST` eller `PUT`, eftersom en ny serie påverkar luckkontrollen och den automatiska periodlåsningen.

**Scope:** `bookkeeping` · <Plan min="ai_pro" />

## Endpoints [#endpoints]

| Metod och sökväg | Beskrivning |
|---|---|
| <Endpoint method="GET" path="/api/v1/3/voucherseries" /> | Lista serier (listform) |
| <Endpoint method="GET" path="/api/v1/3/voucherseries/{Code}" /> | Hämta en serie, med nästa verifikationsnummer |

Bas-URL: `https://app.klirr.ai/api/v1`.

## Parametrar [#parametrar]

Båda anropen läser `?financialyear=`, räkenskapsårets `Id` från [`/3/financialyears`](/api/referens/financialyears). Det styr `Year` och, på enskild serie, vilket år `NextVoucherNumber` räknas för. Utelämnat gäller det aktuella räkenskapsåret. Ogiltigt värde ger `400`, okänt `Id` ger `404`.

Listan stöder [paginering](/api/paginering) (`page`, `limit`, `offset`) och är sorterad på kod. Den innehåller alla serier, även inaktiverade. Andra parametrar läses inte.

## Fält [#fält]

Fullständig form (`GET /3/voucherseries/{Code}`).

| Fält | Typ | Skrivskyddat | Beskrivning |
|---|---|---|---|
| `@url` | string | ja | Resursens URL i Klirr. |
| `Code` | string | ja | Seriekod. |
| `Description` | string | ja | Seriens namn. |
| `Manual` | boolean | ja | Alltid `true`. Betyder inte att serien kringgår periodlåset. |
| `NextVoucherNumber` | number | ja | Beräknat som högsta använda nummer i året plus ett. |
| `Year` | number | ja | Räkenskapsårets `Id`, inte ett årtal. |
| `Approver` | null | ja | Alltid `null`. Klirr har ingen attest på serienivå. |

### Listform [#listform]

Listan har samma fält utom `NextVoucherNumber`. Kollektionen heter `VoucherSeriesCollection`, inte `VoucherSeries`.

## Lista serier [#lista-serier]

<Tabs groupId="lang" persist items={['curl','TypeScript']}>
<Tab value="curl">
```bash
curl "https://app.klirr.ai/api/v1/3/voucherseries?financialyear=3" \
  -H "Authorization: Bearer <access_token>"
```
</Tab>
<Tab value="TypeScript">
```ts
const res = await fetch('https://app.klirr.ai/api/v1/3/voucherseries?financialyear=3', {
  headers: { Authorization: 'Bearer <access_token>' },
});
const { VoucherSeriesCollection, MetaInformation } = await res.json();
```
</Tab>
</Tabs>

```json
{
  "VoucherSeriesCollection": [
    {
      "@url": "https://app.klirr.ai/api/v1/3/voucherseries/A",
      "Code": "A",
      "Description": "Manuella verifikationer",
      "Manual": true,
      "Year": 3,
      "Approver": null
    }
  ],
  "MetaInformation": { "@TotalResources": 1, "@TotalPages": 1, "@CurrentPage": 1 }
}
```

## Hämta en serie [#hämta-en-serie]

<Tabs groupId="lang" persist items={['curl','TypeScript']}>
<Tab value="curl">
```bash
curl https://app.klirr.ai/api/v1/3/voucherseries/A \
  -H "Authorization: Bearer <access_token>"
```
</Tab>
<Tab value="TypeScript">
```ts
const res = await fetch('https://app.klirr.ai/api/v1/3/voucherseries/A', {
  headers: { Authorization: 'Bearer <access_token>' },
});
const { VoucherSeries } = await res.json();
```
</Tab>
</Tabs>

```json
{
  "VoucherSeries": {
    "@url": "https://app.klirr.ai/api/v1/3/voucherseries/A",
    "Code": "A",
    "Description": "Manuella verifikationer",
    "Manual": true,
    "Year": 3,
    "Approver": null,
    "NextVoucherNumber": 43
  }
}
```

## Fel [#fel]

| Status | `Code` | När |
|---|---|---|
| 400 | 9000400 | Ogiltigt `financialyear`. |
| 404 | 9000404 | `Kan inte hitta verifikationsserien`, eller okänt räkenskapsår. |

Allmänna fel (401, 403, 429) beskrivs under [Felkoder](/api/felkoder).
