---
title: "Kody błędów"
description: "Jakie kody HTTP zwraca API inFakt, jak wygląda odpowiedź z błędem i w jakim języku są komunikaty."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.niebieskiorzel.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Kody błędów

## Kody wspólne dla wszystkich operacji

| Kod | Znaczenie | Zalecane działanie |
|---|---|---|
| `401` | Brak klucza API, nieprawidłowy klucz lub klucz bez wymaganego zakresu uprawnień. | Sprawdzenie nagłówka `X-inFakt-ApiKey` i [uprawnień klucza](/referencje/uprawnienia/). |
| `402` | API jest niedostępne w obecnym planie (`limit: plan_upgrade_needed`) lub wyczerpano limit dokumentów. | Zmiana planu konta lub odnowienie limitu. |
| `406` | Ścieżka nie kończy się sufiksem `.json`. | Dodanie sufiksu `.json` ([szczegóły](/problemy/406-not-acceptable/)). |
| `423` | Adres e-mail nie został potwierdzony lub wymagana jest weryfikacja tożsamości. | Dokończ weryfikację w aplikacji inFakt. |
| `429` | Przekroczono limit zapytań. | Ponowienie żądania po przerwie ([Limity zapytań](/referencje/limity-zapytan/)). |
| `500` | Nieoczekiwany błąd serwera; komunikat jest w polu `error`. | Ponowienie żądania później. |

## Kody zależne od operacji

| Kod | Typowa przyczyna |
|---|---|
| `400` | Nieprawidłowa składnia żądania. |
| `403` | Brak uprawnień, limit planu dla danej akcji (pole `limit`) lub zawieszone konto. |
| `404` | Zasób nie istnieje na danym koncie. |
| `422` | Błąd walidacji; szczegóły w polu `errors`. |

Pełną listę kodów dla każdej operacji zawiera [referencja API](/api/).

## Struktura odpowiedzi z błędem

```json
{
  "error": "Nieprawidłowe parametry. Popraw błędy i spróbuj ponownie.",
  "errors": {
    "client_company_name": ["Proszę podać nazwę firmy."]
  }
}
```

Pole `error` zawiera ogólny komunikat. Pole `errors` (przy kodzie `422`) przypisuje komunikaty do poszczególnych pól żądania. Pole `limit` (przy kodach `402` i `403`) wskazuje, którego limitu planu dotyczy błąd, np. `cant_print_invoice`.

## Język komunikatów

Komunikaty błędów są w języku polskim. Wyjątkiem jest kod `429`, którego komunikat jest po angielsku: `API rate limit exceeded. Try again in 60 seconds.`

Source: https://docs.niebieskiorzel.pl/referencje/kody-bledow/index.mdx
