---
title: "Listo faturat"
operation_id: "api.v1.invoice.list"
method: GET
path: "/api/v1/invoice"
group: "Faturat"
api_version: "v1"
authenticated: true
canonical: "https://fature.al/api-reference/endpoints/api-v1-invoice-list.html"
---

# Listo faturat

Pjesë e dokumentacionit [fature.al API](/api-reference/index.html).

## GET /api/v1/invoice

Kthen faturat e kompanisë, nga më e reja te më e vjetra, me filtrim sipas tipit, datës dhe një
teksti kërkimi. Çdo faturë vjen me blerësin, shumat dhe pagesën, por pa rreshtat; për rreshtat
thirrni `GET /invoice/{id}/details`.

- Pagination me `limit` dhe `offset`. `pagination` nuk kthen `total`, ndaj ndaloni kur një faqe
  vjen më e shkurtër se `limit`.
- Kur lexoni një periudhë të mbyllur, kufizojeni me `fromDate` dhe `toDate`, që faqet të mos
  zhvendosen nga faturat e reja.
- Një kërkesë e dytë nga i njëjti token, ndërsa e para nuk ka mbaruar, pret deri në një sekondë
  dhe pastaj refuzohet me `429`.

URL-ja e plotë: `https://fature.al/api/v1/invoice`

Versioni i API-t: `v1`.

Identifikimi: i detyrueshëm (bearer token, plus the `X-Client-Id` and `X-Client-Secret` headers).

### Parametrat query

| Fusha | Tipi | E detyrueshme | Përshkrimi |
| --- | --- | --- | --- |
| `limit` | integer | jo | Sa fatura të kthehen në një faqe. Defaults to `20`. |
| `offset` | integer | jo | Nga cila faturë të fillohet, duke numëruar nga 0. Defaults to `0`. |
| `type` | string | jo | Filtro sipas tipit: `CASH`, `NONCASH` ose `EINVOICE`, disa tipe të ndara me presje. Një vlerë tjetër injorohet pa gabim; nëse asnjë nuk mbetet e vlefshme, filtri nuk zbatohet fare. |
| `fromDate` | string | jo | Data e fillimit, `YYYY-MM-DD`. |
| `toDate` | string | jo | Data e mbarimit, `YYYY-MM-DD`. |
| `query` | string | jo | Kërkim sipas numrit të faturës, emrit të blerësit ose NIPT-it. |

### Shembull kërkese

```bash
curl -X GET 'https://fature.al/api/v1/invoice' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'X-Client-Id: YOUR_CLIENT_ID' \
  -H 'X-Client-Secret: YOUR_CLIENT_SECRET' \
  -H 'Accept: application/json'
```

### Përgjigjet

**200**: Faturat e periudhës te `items`, nga më e reja te më e vjetra, me `pagination`; `items` është bosh kur nuk ka fatura.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean |  |
| `data` | object |  |
| `data.items` | array |  |
| `data.items[].id` | integer | Id-ja e faturës në fature.al |
| `data.items[].number` | string, nullable | Numri i faturës, si `12/2026` |
| `data.items[].type` | string | Lloji i faturës: `CASH`, `NONCASH` ose `EINVOICE` |
| `data.items[].issue_date` | string | Data e lëshimit, `YYYY-MM-DD` |
| `data.items[].due_date` | string | Afati i pagesës, `YYYY-MM-DD` |
| `data.items[].delivery_date` | string | Data e dorëzimit, ose fundi i periudhës së furnizimit, `YYYY-MM-DD` |
| `data.items[].created_at` | string, nullable | Data dhe ora e krijimit, `YYYY-MM-DD HH:MM:SS`, ora lokale |
| `data.items[].supply_start_date` | string, nullable | Fillimi i periudhës së furnizimit, `YYYY-MM-DD` |
| `data.items[].supply_end_date` | string, nullable | Fundi i periudhës së furnizimit, `YYYY-MM-DD` |
| `data.items[].client` | object | Blerësi i faturës |
| `data.items[].client.name` | string | Emri i plotë i personit ose emri i kompanisë |
| `data.items[].client.id` | object | Identifikuesi fiskal i blerësit |
| `data.items[].client.address` | object | Adresa e blerësit |
| `data.items[].amount` | object | Shumat e faturës, në monedhën e saj dhe në lekë |
| `data.items[].amount.currency` | string | Monedha e faturës, ISO 4217 |
| `data.items[].amount.exchange_rate` | any | Kursi i këmbimit ndaj lekut; null kur fatura është tashmë në lek |
| `data.items[].amount.gross` | number | Totali me TVSH, pasi është hequr zbritja mbi faturën |
| `data.items[].amount.net` | number | Totali pa TVSH, pasi është hequr zbritja mbi faturën |
| `data.items[].amount.vat` | number | TVSH-ja gjithsej |
| `data.items[].amount.discount` | number | Zbritja mbi të gjithë faturën, si shumë pa TVSH: sa u hoq nga vlera pa TVSH e faturës. Zbritjet e rreshtave nuk janë këtu; ato janë te `lines[].discount`. Zero kur fatura nuk ka zbritje mbi faturën |
| `data.items[].amount.net_all` | number | Totali pa TVSH në lek |
| `data.items[].amount.gross_all` | number | Totali me TVSH në lek |
| `data.items[].amount.vat_all` | number | TVSH-ja në lek |
| `data.items[].amount.discount_all` | number | Zbritja mbi faturën në lek |
| `data.items[].amount.local_currency` | any | I pranishëm vetëm në një faturë në monedhë të huaj |
| `data.items[].payment` | object | Sa është shlyer nga fatura |
| `data.items[].payment.state` | string | `PAID`, `PARTIALLY_PAID` ose `UNPAID` |
| `data.items[].payment.amount_paid` | number | Shuma e arkëtuar deri tani, në monedhën e faturës |
| `data.items[].payment.amount_left` | number | Totali me TVSH minus shumën e arkëtuar, në monedhën e faturës |
| `data.items[].bank_account` | object, nullable | Llogaria bankare e shtypur në faturë, ose `null` |
| `data.items[].bank_account.id` | any | Id-ja e llogarisë bankare në fature.al |
| `data.items[].bank_account.bank_name` | any | Emri i bankës |
| `data.items[].bank_account.iban` | any | IBAN-i i llogarisë |
| `data.items[].bank_account.swift` | any | Kodi SWIFT i bankës |
| `data.items[].bank_account.currency` | any | Monedha e llogarisë, ISO 4217 |
| `data.items[].bank_account.notes` | any | Shënime të lira mbi llogarinë |
| `data.items[].notes` | string, nullable | Shënimet që dalin në faturë |
| `data.items[].iic` | string, nullable | Kodi identifikues i faturës (IIC, në ligj NSLF) |
| `data.items[].fic` | string, nullable | Kodi që ktheu CIS-i kur e regjistroi faturën (FIC, në ligj NIVF). `null` sa kohë fatura pret fiskalizimin |
| `data.items[].eic` | string, nullable | Kodi i faturës në platformën e e-faturave. Vetëm te e-faturat |
| `data.items[].doc_type` | string, nullable | Lloji i dokumentit në UBL: `380` faturë, `381` notë krediti, `383` notë debiti. `null` te një faturë e zakonshme fiskale |
| `data.items[].process` | string, nullable | Profili UBL: `P1` për një shitje, `P9` për një korrigjim. Vendoset te e-faturat |
| `data.items[].self_issue_type` | string, nullable | Lloji i vetëfaturimit, kur fatura është vetëfaturim |
| `data.items[].reversed_at` | string, nullable | Kur u anulua fatura, `YYYY-MM-DD HH:MM:SS`, ose `null` |
| `data.items[].reversed_by` | integer, nullable | Id-ja e faturës që kjo faturë anulon, ose `null` |
| `data.items[].pdf_url` | string | URL-ja për të shkarkuar PDF-në e faturës |
| `data.items[].reverse_charge` | boolean | Ngarkesë e kundërt: TVSH-në e deklaron blerësi |
| `data.items[].periodic_invoice` | boolean | Faturë e një cikli të përsëritur faturimi |
| `data.items[].payment_method` | string, nullable | Mënyra e pagesës me të cilën u shlye fatura; te një pagesë e ndarë, ajo me pjesën më të madhe |
| `data.pagination` | object |  |
| `data.pagination.records` | integer | Sa fatura mban `items` në këtë faqe |
| `data.pagination.limit` | integer | Parametri `limit` i kërkesës, pas rrumbullakimit në të paktën 1 |
| `data.pagination.offset` | integer | Parametri `offset` i kërkesës, pas rrumbullakimit në të paktën 0 |
| `data.pagination.type` | string, nullable | Filtri `type` ashtu siç u dërgua, `null` kur nuk u dërgua |
| `data.pagination.query` | string, nullable | Filtri `query` ashtu siç u dërgua, `null` kur nuk u dërgua |

```json
{
    "status": true,
    "data": {
        "items": [
            {
                "id": 40323,
                "number": "12/2026",
                "type": "EINVOICE",
                "issue_date": "2026-09-13",
                "due_date": "2026-09-27",
                "delivery_date": "2026-09-13",
                "created_at": "2026-09-13 10:15:00",
                "supply_start_date": "2026-09-01",
                "supply_end_date": "2026-09-13",
                "client": {
                    "name": "Alba Trade shpk",
                    "id": [],
                    "address": []
                },
                "amount": {
                    "currency": "EUR",
                    "exchange_rate": 98.5,
                    "gross": 540,
                    "net": 450,
                    "vat": 90,
                    "discount": 0,
                    "net_all": 44325,
                    "gross_all": 53190,
                    "vat_all": 8865,
                    "discount_all": 0,
                    "local_currency": "USD"
                },
                "payment": {
                    "state": "PARTIALLY_PAID",
                    "amount_paid": 300,
                    "amount_left": 240
                },
                "bank_account": {
                    "id": 27,
                    "bank_name": "Banka Kombëtare Tregtare",
                    "iban": "AL47212110090000000235698741",
                    "swift": "NCBAALTX",
                    "currency": "EUR",
                    "notes": "Llogaria në euro"
                },
                "notes": "Pagesa brenda 14 ditëve.",
                "iic": "3C7E9A1F52B84D0E6A2C4F8B1D9E7A35",
                "fic": "2f6c1e8a-9b3d-4c7e-a5f1-0d8b6e4c2a91",
                "eic": "9b4e2d1c-6f7a-4b3c-8d2e-1f0a9c8b7d65",
                "doc_type": 380,
                "process": "P1",
                "self_issue_type": "DOMESTIC",
                "reversed_at": "2026-09-14 08:05:00",
                "reversed_by": 40311,
                "pdf_url": "https://fature.al/api/v1/invoice/print/40323",
                "reverse_charge": false,
                "periodic_invoice": false,
                "payment_method": "ACCOUNT"
            }
        ],
        "pagination": {
            "records": 10,
            "limit": 10,
            "offset": 0,
            "type": "CASH,NONCASH",
            "query": "K12345AB"
        }
    }
}
```

**401**: Unauthenticated

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `message` | string |  |

```json
{
    "message": "Unauthenticated."
}
```

**422**: Datat nuk janë në formatin `YYYY-MM-DD`.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**429**: Kufiri i kërkesave u arrit. Nga kufiri i përgjithshëm përgjigja mban vetëm `message` dhe header-in `Retry-After`; nga kufiri i endpoint-it mban formatin standard të gabimit.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```

**500**: Gabim i papritur në server.

| Fusha | Tipi | Përshkrimi |
| --- | --- | --- |
| `status` | boolean | Gjithmonë false. Një përgjigje e suksesshme mban `status: true` dhe objektin `data` |
| `message` | string | Përshkrimi i gabimit. Bosh kur dështimi nuk mban ndonjë mesazh të vetin |
| `errors` | array | Mesazhe për t'u shfaqur te përdoruesi ose për t'u ruajtur në log. Mungon kur nuk ka gjë për të shtuar përtej `message` |

```json
{
    "status": false,
    "message": "Te dhenat jo te sakta.",
    "errors": [
        "errors"
    ]
}
```
