---
title: "Utwórz fakturę korygującą"
description: "Zakres: `api:invoices:write`. Korekta powstaje jako `draft`. Przy `send_to_ksef=true` nieudana wysyłka nie powoduje\nbłędu żądania; błąd trafia wtedy do `ksef_data`."
---

> 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.

Path: inFakt API › Faktury korygujące VAT

`POST /corrective_invoices.json`

Zakres: `api:invoices:write`. Korekta powstaje jako `draft`. Przy `send_to_ksef=true` nieudana wysyłka nie powoduje
błędu żądania; błąd trafia wtedy do `ksef_data`.

## Authentication

Requires one of the following:

- `ApiKey`, apiKey, in header, header `X-inFakt-ApiKey`
- `Token`, apiKey, in header, header `X-Token`

## Query parameters

- `send_to_ksef` (`CorrectiveInvoices_create.query.send_to_ksef`; boolean, optional) — Wyślij korektę do KSeF zaraz po utworzeniu; parametr można też podać w treści żądania.

## Request body

_Required._

- `corrective_invoice` (`CorrectiveInvoices_create.corrective_invoice`; object, required) — Koryguj albo datę sprzedaży, albo pozycje, nie oba naraz. `third_party_addresses` są ignorowane przy tworzeniu.
  - `corrected_invoice_number` (`CorrectiveInvoices_create.corrective_invoice.corrected_invoice_number`; string, required)
  - `correction_reason` (`CorrectiveInvoices_create.corrective_invoice.correction_reason`; string, required) — `mistake`: pomyłka w obliczeniach lub inna oczywista pomyłka; `other`: np. zwrot lub rabat.
    - one of `"mistake"`, `"other"`
  - `number` (`CorrectiveInvoices_create.corrective_invoice.number`; string, optional)
  - `check_duplicate_number` (`CorrectiveInvoices_create.corrective_invoice.check_duplicate_number`; boolean, optional) — Odrzuć żądanie, gdy istnieje faktura o tym samym numerze.
  - `currency` (`CorrectiveInvoices_create.corrective_invoice.currency`; string, optional)
  - `paid_price` (`CorrectiveInvoices_create.corrective_invoice.paid_price`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `left_to_pay` (`CorrectiveInvoices_create.corrective_invoice.left_to_pay`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `notes` (`CorrectiveInvoices_create.corrective_invoice.notes`; string, optional)
    - maxLength 5000
  - `payment_method` (`CorrectiveInvoices_create.corrective_invoice.payment_method`; string, optional) — Metoda płatności.
    - one of `"transfer"`, `"cash"`, `"card"`, `"barter"`, `"check"`, `"delivery"`, `"other"`, `"compensation"`, `"accredited"`, `"paypal"`, `"payu"`, `"bill_of_sale"`, `"subscription"`, `"instalment_sale"`, `"tpay"`, `"przelewy24"`, `"dotpay"`
  - `split_payment` (`CorrectiveInvoices_create.corrective_invoice.split_payment`; boolean, optional)
  - `split_payment_type` (`CorrectiveInvoices_create.corrective_invoice.split_payment_type`; string, optional)
    - one of `"required"`, `"optional"`
  - `recipient_signature` (`CorrectiveInvoices_create.corrective_invoice.recipient_signature`; string, optional)
    - maxLength 255
  - `seller_signature` (`CorrectiveInvoices_create.corrective_invoice.seller_signature`; string, optional)
    - maxLength 255
  - `invoice_date` (`CorrectiveInvoices_create.corrective_invoice.invoice_date`; string, optional)
    - format `date`
  - `sale_date` (`CorrectiveInvoices_create.corrective_invoice.sale_date`; string, optional)
    - format `date`
  - `vat_date_value` (`CorrectiveInvoices_create.corrective_invoice.vat_date_value`; string, optional) — `sale_date`, `issue_date` albo `paid_date` (metoda kasowa).
    - one of `"sale_date"`, `"issue_date"`, `"paid_date"`
  - `continuous_service_start_on` (`CorrectiveInvoices_create.corrective_invoice.continuous_service_start_on`; string, optional)
    - format `date`
  - `continuous_service_end_on` (`CorrectiveInvoices_create.corrective_invoice.continuous_service_end_on`; string, optional)
    - format `date`
  - `occasional_sale` (`CorrectiveInvoices_create.corrective_invoice.occasional_sale`; boolean, optional)
  - `payment_date` (`CorrectiveInvoices_create.corrective_invoice.payment_date`; string, optional)
    - format `date`
  - `paid_date` (`CorrectiveInvoices_create.corrective_invoice.paid_date`; string, optional)
    - format `date`
  - `client_id` (`CorrectiveInvoices_create.corrective_invoice.client_id`; integer, optional) — ID istniejącego klienta; niewysłane pola klienta są z niego kopiowane. Bez `client_id` klient jest dopasowywany po `client_tax_code`, `client_company_name` albo `client_first_name` i `client_last_name` (zawężonych przez `client_business_activity_kind`), a gdy nie ma dopasowania, jest tworzony z pól `client_*`.
    - format `int64`
  - `client_company_name` (`CorrectiveInvoices_create.corrective_invoice.client_company_name`; string, optional)
  - `client_first_name` (`CorrectiveInvoices_create.corrective_invoice.client_first_name`; string, optional)
  - `client_last_name` (`CorrectiveInvoices_create.corrective_invoice.client_last_name`; string, optional)
  - `client_business_activity_kind` (`CorrectiveInvoices_create.corrective_invoice.client_business_activity_kind`; string, optional) — Forma prawna klienta.
    - one of `"private_person"`, `"self_employed"`, `"other_business"`
  - `client_street` (`CorrectiveInvoices_create.corrective_invoice.client_street`; string, optional)
  - `client_street_number` (`CorrectiveInvoices_create.corrective_invoice.client_street_number`; string, optional)
  - `client_flat_number` (`CorrectiveInvoices_create.corrective_invoice.client_flat_number`; string, optional)
  - `client_city` (`CorrectiveInvoices_create.corrective_invoice.client_city`; string, optional)
  - `client_post_code` (`CorrectiveInvoices_create.corrective_invoice.client_post_code`; string, optional)
  - `client_tax_code` (`CorrectiveInvoices_create.corrective_invoice.client_tax_code`; string, optional)
  - `client_country` (`CorrectiveInvoices_create.corrective_invoice.client_country`; string, optional) — Dwuliterowy kod kraju jak `alpha_2` w `GET /countries.json`: ISO 3166-1 alpha-2, z wyjątkiem `EL` dla Grecji (`GR` nie jest rozpoznawany) i `XI` dla Irlandii Północnej.
    - pattern `^[A-Z]{2}$`
  - `bank_account` (`CorrectiveInvoices_create.corrective_invoice.bank_account`; string, optional) — Musi być jednym z kont bankowych użytkownika (`GET /bank_accounts.json`); pominięty `swift` jest brany z tego konta.
  - `bank_name` (`CorrectiveInvoices_create.corrective_invoice.bank_name`; string, optional)
  - `swift` (`CorrectiveInvoices_create.corrective_invoice.swift`; string, optional)
  - `vat_exemption_reason` (`CorrectiveInvoices_create.corrective_invoice.vat_exemption_reason`; integer, optional) — Wymagane, gdy pozycja ma stawkę VAT `zw`.
    - format `int64`
  - `sale_type` (`CorrectiveInvoices_create.corrective_invoice.sale_type`; string, optional) — Wymagane dla klientów zagranicznych i sprzedaży z odwrotnym obciążeniem; ignorowane przy sprzedaży krajowej.
    - one of `"service"`, `"merchandise"`
  - `invoice_date_kind` (`CorrectiveInvoices_create.corrective_invoice.invoice_date_kind`; string, optional) — Rodzaj daty drukowanej obok daty sprzedaży.
    - one of `"sale_date"`, `"service_date"`, `"cargo_date"`, `"continuous_service_end_on"`
  - `document_markings_ids` (`CorrectiveInvoices_create.corrective_invoice.document_markings_ids`; array<string>, optional) — Najwyżej jedno ID oznaczenia dokumentu. Zobacz `GET /incomes_documents_markings.json`.
  - `transaction_kind_id` (`CorrectiveInvoices_create.corrective_invoice.transaction_kind_id`; integer, optional)
    - format `int64`
  - `bdo_code` (`CorrectiveInvoices_create.corrective_invoice.bdo_code`; string, optional) — Dziewięć cyfr.
    - pattern `^\d{9}$`
  - `receipt_number` (`CorrectiveInvoices_create.corrective_invoice.receipt_number`; string, optional)
  - `not_income` (`CorrectiveInvoices_create.corrective_invoice.not_income`; boolean, optional)
  - `vat_exchange_date_kind` (`CorrectiveInvoices_create.corrective_invoice.vat_exchange_date_kind`; string, optional)
    - one of `"pit"`, `"vat"`
  - `sales_kind` (`CorrectiveInvoices_create.corrective_invoice.sales_kind`; string, optional)
    - one of `"sprzedaz_podstawowa"`, `"sprzedaz_pozostala"`
  - `ksef_number` (`CorrectiveInvoices_create.corrective_invoice.ksef_number`; string, optional)
  - `transaction_terms` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms`; object, optional)
    - `contracts` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.contracts`; array<object>, optional)
      - `number` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.contracts.number`; string, required)
      - `date` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.contracts.date`; string, required)
        - format `date`
    - `orders` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.orders`; array<object>, optional)
      - `number` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.orders.number`; string, required)
      - `date` (`CorrectiveInvoices_create.corrective_invoice.transaction_terms.orders.date`; string, required)
        - format `date`
  - `local_government_recipient_address` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address`; object, optional) — Przy aktualizacji pominięcie tego pola usuwa istniejący adres.
    - `company_name` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.company_name`; string, required)
    - `street` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.street`; string, required)
      - maxLength 65
    - `building_number` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.building_number`; string, required)
      - maxLength 9
    - `city` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.city`; string, required)
    - `tax_id` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.tax_id`; string, optional) — NIP.
    - `door_number` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.door_number`; string, optional)
      - maxLength 10
    - `post_code` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.post_code`; string, optional)
    - `country_id` (`CorrectiveInvoices_create.corrective_invoice.local_government_recipient_address.country_id`; integer, optional) — Liczbowe ID kraju (`GET /countries.json`); domyślnie Polska.
      - format `int64`
  - `local_government_seller_address` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address`; object, optional) — Domyślnie adres z ustawień konta, gdy jego wyświetlanie na fakturach jest włączone.
    - `company_name` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.company_name`; string, required)
    - `street` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.street`; string, required)
      - maxLength 65
    - `building_number` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.building_number`; string, required)
      - maxLength 9
    - `city` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.city`; string, required)
    - `tax_id` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.tax_id`; string, optional) — NIP.
    - `door_number` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.door_number`; string, optional)
      - maxLength 10
    - `post_code` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.post_code`; string, optional)
    - `country_id` (`CorrectiveInvoices_create.corrective_invoice.local_government_seller_address.country_id`; integer, optional) — Liczbowe ID kraju (`GET /countries.json`); domyślnie Polska.
      - format `int64`
  - `third_party_addresses` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses`; array<object>, optional) — Podmioty trzecie w KSeF. Ignorowane przez `POST /invoices.json`; uwzględniane przy aktualizacji i przy tworzeniu asynchronicznym. Przy aktualizacji wpisy bez `id` są dodawane, a niewysłane istniejące adresy zostają.
    - `id` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.id`; integer, optional) — Tylko przy aktualizacji: ID istniejącego adresu do zmiany lub usunięcia.
      - format `int64`
    - `_destroy` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses._destroy`; boolean, optional) — Tylko przy aktualizacji: usuń adres wskazany w `id`.
    - `company_name` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.company_name`; string, optional) — Wymagane, chyba że `_destroy` ma wartość `true`.
    - `tax_id` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.tax_id`; string, optional)
    - `street` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.street`; string, optional)
    - `building_number` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.building_number`; string, optional)
    - `door_number` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.door_number`; string, optional)
    - `post_code` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.post_code`; string, optional)
    - `city` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.city`; string, optional)
    - `country_code` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.country_code`; string, optional) — Kod kraju alpha-2; ma pierwszeństwo przed `country_id`.
      - pattern `^[A-Z]{2}$`
    - `country_id` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.country_id`; integer, optional) — Liczbowe ID kraju (`GET /countries.json`).
      - format `int64`
    - `role_code` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.role_code`; string, optional) — Rola podmiotu trzeciego w KSeF (`Podmiot3`), wymagana, chyba że `_destroy` ma wartość `true`: | Kod | Rola | |---|---| | `1` | Faktor | | `2` | Odbiorca | | `3` | Podmiot pierwotny | | `4` | Dodatkowy nabywca | | `5` | Wystawca faktury | | `6` | Dokonujący płatności | | `7` | JST – wystawca | | `8` | JST – odbiorca | | `9` | Członek grupy VAT – wystawca | | `10` | Członek grupy VAT – odbiorca | | `11` | Pracownik |
      - one of `"1"`, `"2"`, `"3"`, `"4"`, `"5"`, `"6"`, `"7"`, `"8"`, `"9"`, `"10"`, `"11"`
    - `internal_identifier` (`CorrectiveInvoices_create.corrective_invoice.third_party_addresses.internal_identifier`; string, optional) — Identyfikator wewnętrzny, np. `1234567890-00001`.
      - pattern `^[1-9]((\d[1-9])|([1-9]\d))\d{7}-\d{5}$`
  - `allow_correction` (`CorrectiveInvoices_create.corrective_invoice.allow_correction`; boolean, optional) — Potwierdź zmianę, która skoryguje złożone deklaracje; działa jak parametr zapytania `allow_correction`.
  - `corrected_invoice_uuid` (`CorrectiveInvoices_create.corrective_invoice.corrected_invoice_uuid`; string, optional) — Tylko przy tworzeniu: uuid korygowanej faktury w inFakcie; wiąże z nią korektę (`parent_id`).
    - format `uuid`
  - `corrected_invoice_date` (`CorrectiveInvoices_create.corrective_invoice.corrected_invoice_date`; string, optional)
    - format `date`
  - `confirmation` (`CorrectiveInvoices_create.corrective_invoice.confirmation`; boolean, optional) — Nabywca potwierdził odbiór korekty.
  - `confirmation_date` (`CorrectiveInvoices_create.corrective_invoice.confirmation_date`; string, optional)
    - format `date`
  - `sale_date_before_correction` (`CorrectiveInvoices_create.corrective_invoice.sale_date_before_correction`; string, optional) — Musi się zgadzać z datą sprzedaży korygowanej faktury.
    - format `date`
  - `check_correction_obligation` (`CorrectiveInvoices_create.corrective_invoice.check_correction_obligation`; boolean, optional) — Domyślnie `true`: odrzuć (`errors.backward_correction`) korektę, która wymagałaby samodzielnej korekty złożonej deklaracji VAT. Wyślij `false`, aby to zaakceptować.
  - `continuous_service_start_on_before_correction` (`CorrectiveInvoices_create.corrective_invoice.continuous_service_start_on_before_correction`; string, optional)
    - format `date`
  - `continuous_service_end_on_before_correction` (`CorrectiveInvoices_create.corrective_invoice.continuous_service_end_on_before_correction`; string, optional)
    - format `date`
  - `services` (`CorrectiveInvoices_create.corrective_invoice.services`; array<object>, optional)
    - `name` (`CorrectiveInvoices_create.corrective_invoice.services.name`; string, required)
    - `tax_symbol` (`CorrectiveInvoices_create.corrective_invoice.services.tax_symbol`; string, required) — Symbol stawki VAT. Zobacz `GET /vat_rates.json`.
    - `group` (`CorrectiveInvoices_create.corrective_invoice.services.group`; integer, required) — Liczbowe ID grupy wspólne dla pozycji przed korektą i po korekcie.
      - format `int32`
    - `correction` (`CorrectiveInvoices_create.corrective_invoice.services.correction`; boolean, required) — `false` dla pozycji przed korektą (jak na korygowanej fakturze), `true` dla pozycji po korekcie.
    - `unit` (`CorrectiveInvoices_create.corrective_invoice.services.unit`; string, optional)
    - `quantity` (`CorrectiveInvoices_create.corrective_invoice.services.quantity`; number, optional)
      - format `double`; default `1`
    - `unit_net_price` (`CorrectiveInvoices_create.corrective_invoice.services.unit_net_price`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
      - format `int64`
    - `net_price` (`CorrectiveInvoices_create.corrective_invoice.services.net_price`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
      - format `int64`
    - `gross_price` (`CorrectiveInvoices_create.corrective_invoice.services.gross_price`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
      - format `int64`
    - `tax_price` (`CorrectiveInvoices_create.corrective_invoice.services.tax_price`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
      - format `int64`
    - `symbol` (`CorrectiveInvoices_create.corrective_invoice.services.symbol`; string, optional)
    - `pkwiu` (`CorrectiveInvoices_create.corrective_invoice.services.pkwiu`; string, optional)
    - `cn` (`CorrectiveInvoices_create.corrective_invoice.services.cn`; string, optional)
    - `pkob` (`CorrectiveInvoices_create.corrective_invoice.services.pkob`; string, optional)
    - `gtin` (`CorrectiveInvoices_create.corrective_invoice.services.gtin`; string, optional)
    - `flat_rate_tax_symbol` (`CorrectiveInvoices_create.corrective_invoice.services.flat_rate_tax_symbol`; string, optional) — Stawka ryczałtu; domyślnie z ustawień konta. Używana tylko u podatników na ryczałcie.
    - `discount` (`CorrectiveInvoices_create.corrective_invoice.services.discount`; number, optional) — Rabat w procentach.
      - format `double`; default `0`
    - `unit_net_price_before_discount` (`CorrectiveInvoices_create.corrective_invoice.services.unit_net_price_before_discount`; integer, optional) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
      - format `int64`
    - `gtu_id` (`CorrectiveInvoices_create.corrective_invoice.services.gtu_id`; integer, optional)
      - format `int64`
    - `user_calculated` (`CorrectiveInvoices_create.corrective_invoice.services.user_calculated`; boolean, optional) — Zachowaj wysłane kwoty bez przeliczania niespójnych wartości.

## Example requests

### Obniżona cena w jednej pozycji

```json
{
  "corrective_invoice": {
    "corrected_invoice_number": "1/10/2026",
    "corrected_invoice_uuid": "9bdc76fd-7a02-42ec-a4a3-42bc867b9a9f",
    "corrected_invoice_date": "2026-10-01",
    "invoice_date": "2026-10-05",
    "payment_date": "2026-10-19",
    "client_id": 1003,
    "correction_reason": "other",
    "services": [
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit": "godz.",
        "quantity": 1,
        "unit_net_price": 10000,
        "pkwiu": "62.01.11.0",
        "group": 1,
        "correction": false
      },
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit": "godz.",
        "quantity": 1,
        "unit_net_price": 8000,
        "pkwiu": "62.01.11.0",
        "group": 1,
        "correction": true
      }
    ]
  }
}
```

### Obie pozycje oznaczone jako przed korektą

```json
{
  "corrective_invoice": {
    "corrected_invoice_number": "1/10/2026",
    "correction_reason": "other",
    "services": [
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit_net_price": 10000,
        "group": 1,
        "correction": false
      },
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit_net_price": 8000,
        "group": 1,
        "correction": false
      }
    ]
  }
}
```

## Code samples

### cURL

```bash
curl --request POST \
  --url https://api.sandbox-infakt.pl/v3/corrective_invoices.json \
  --header 'Content-Type: application/json' \
  --header 'X-inFakt-ApiKey: <X-inFakt-ApiKey>' \
  --data '
{
  "corrective_invoice": {
    "corrected_invoice_number": "1/10/2026",
    "corrected_invoice_uuid": "9bdc76fd-7a02-42ec-a4a3-42bc867b9a9f",
    "corrected_invoice_date": "2026-10-01",
    "invoice_date": "2026-10-05",
    "payment_date": "2026-10-19",
    "client_id": 1003,
    "correction_reason": "other",
    "services": [
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit": "godz.",
        "quantity": 1,
        "unit_net_price": 10000,
        "pkwiu": "62.01.11.0",
        "group": 1,
        "correction": false
      },
      {
        "name": "Usługa programistyczna",
        "tax_symbol": "23",
        "unit": "godz.",
        "quantity": 1,
        "unit_net_price": 8000,
        "pkwiu": "62.01.11.0",
        "group": 1,
        "correction": true
      }
    ]
  }
}
'
```

### TypeScript

```typescript
const url = 'https://api.sandbox-infakt.pl/v3/corrective_invoices.json';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json', 'X-inFakt-ApiKey': '<X-inFakt-ApiKey>'},
  body: JSON.stringify({
    corrective_invoice: {
      corrected_invoice_number: '1/10/2026',
      corrected_invoice_uuid: '9bdc76fd-7a02-42ec-a4a3-42bc867b9a9f',
      corrected_invoice_date: '2026-10-01',
      invoice_date: '2026-10-05',
      payment_date: '2026-10-19',
      client_id: 1003,
      correction_reason: 'other',
      services: [
        {
          name: 'Usługa programistyczna',
          tax_symbol: '23',
          unit: 'godz.',
          quantity: 1,
          unit_net_price: 10000,
          pkwiu: '62.01.11.0',
          group: 1,
          correction: false
        },
        {
          name: 'Usługa programistyczna',
          tax_symbol: '23',
          unit: 'godz.',
          quantity: 1,
          unit_net_price: 8000,
          pkwiu: '62.01.11.0',
          group: 1,
          correction: true
        }
      ]
    }
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://api.sandbox-infakt.pl/v3/corrective_invoices.json"

payload = { "corrective_invoice": {
        "corrected_invoice_number": "1/10/2026",
        "corrected_invoice_uuid": "9bdc76fd-7a02-42ec-a4a3-42bc867b9a9f",
        "corrected_invoice_date": "2026-10-01",
        "invoice_date": "2026-10-05",
        "payment_date": "2026-10-19",
        "client_id": 1003,
        "correction_reason": "other",
        "services": [
            {
                "name": "Usługa programistyczna",
                "tax_symbol": "23",
                "unit": "godz.",
                "quantity": 1,
                "unit_net_price": 10000,
                "pkwiu": "62.01.11.0",
                "group": 1,
                "correction": False
            },
            {
                "name": "Usługa programistyczna",
                "tax_symbol": "23",
                "unit": "godz.",
                "quantity": 1,
                "unit_net_price": 8000,
                "pkwiu": "62.01.11.0",
                "group": 1,
                "correction": True
            }
        ]
    } }
headers = {
    "Content-Type": "application/json",
    "X-inFakt-ApiKey": "<X-inFakt-ApiKey>"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 201

Utworzono

#### Example

```json
{
  "id": 1004,
  "uuid": "f1e2d3c4-b5a6-4789-8a9b-0c1d2e3f4a5b",
  "parent_id": 999,
  "number": "1/KOR/10/2026",
  "currency": "PLN",
  "paid_price": 0,
  "notes": "",
  "kind": "correction",
  "payment_method": "transfer",
  "split_payment": false,
  "split_payment_type": null,
  "recipient_signature": "",
  "seller_signature": "",
  "invoice_date": "2026-10-05",
  "sale_date": "2026-10-01",
  "vat_date_value": "sale_date",
  "continuous_service_start_on": null,
  "continuous_service_end_on": null,
  "occasional_sale": false,
  "status": "draft",
  "payment_date": "2026-10-19",
  "paid_date": null,
  "net_price": -2000,
  "tax_price": -460,
  "gross_price": -2460,
  "left_to_pay": -2460,
  "client_id": 1003,
  "client_uuid": "aae6796c-30a9-4bc6-ae55-6b2f08a8a0f6",
  "client_company_name": "Pierwsza Testowa Spółka sp z o.o.",
  "client_first_name": null,
  "client_last_name": null,
  "client_business_activity_kind": "other_business",
  "client_street": "Lwowska",
  "client_street_number": "10",
  "client_flat_number": "17",
  "client_city": "Kraków",
  "client_post_code": "31-202",
  "client_tax_code": "2222222222",
  "client_country": "PL",
  "bank_account": "61109010140000071219812874",
  "bank_name": "PKO BP",
  "swift": "",
  "vat_exemption_reason": null,
  "sale_type": "",
  "invoice_date_kind": "sale_date",
  "document_markings_ids": [],
  "transaction_kind_id": null,
  "bdo_code": null,
  "receipt_number": null,
  "not_income": null,
  "vat_exchange_date_kind": null,
  "sales_kind": "sprzedaz_podstawowa",
  "amount_in_words": "minus dwadzieścia cztery PLN 60/100",
  "third_party_addresses": [],
  "building_service": false,
  "created_at": "2026-10-05T10:00:00.000+02:00",
  "reconciliation_id": null,
  "ksef_number": null,
  "transaction_terms": null,
  "ksef_data": null,
  "corrected_invoice_number": "1/10/2026",
  "corrected_invoice_date": "2026-10-01",
  "confirmation": false,
  "confirmation_date": "",
  "correction_reason": "Inne: np. zwrot, rabat",
  "correction_reason_symbol": "other",
  "check_correction_obligation": true,
  "sale_date_before_correction": null,
  "continuous_service_start_on_before_correction": null,
  "continuous_service_end_on_before_correction": null,
  "services": [
    {
      "id": 3001,
      "name": "Usługa programistyczna",
      "tax_symbol": "23",
      "unit": "godz.",
      "quantity": 1,
      "unit_net_price": 10000,
      "net_price": 10000,
      "gross_price": 12300,
      "tax_price": 2300,
      "symbol": "",
      "pkwiu": "62.01.11.0",
      "cn": null,
      "pkob": null,
      "gtin": null,
      "discount": "0.0",
      "unit_net_price_before_discount": 10000,
      "gtu_id": null,
      "related_id": null,
      "group": 1,
      "correction": false
    },
    {
      "id": 3002,
      "name": "Usługa programistyczna",
      "tax_symbol": "23",
      "unit": "godz.",
      "quantity": 1,
      "unit_net_price": 8000,
      "net_price": 8000,
      "gross_price": 9840,
      "tax_price": 1840,
      "symbol": "",
      "pkwiu": "62.01.11.0",
      "cn": null,
      "pkob": null,
      "gtin": null,
      "discount": "0.0",
      "unit_net_price_before_discount": 8000,
      "gtu_id": null,
      "related_id": null,
      "group": 1,
      "correction": true
    }
  ],
  "local_government_recipient_address": null
}
```

- `id` (`CorrectiveInvoices_create.response.201.id`; integer, required)
  - format `int64`
- `uuid` (`CorrectiveInvoices_create.response.201.uuid`; string, required)
  - format `uuid`
- `parent_id` (`CorrectiveInvoices_create.response.201.parent_id`; any of, required) — Faktura, którą ta faktura koryguje lub rozlicza.
  - any of: `integer`, `null`
- `number` (`CorrectiveInvoices_create.response.201.number`; string, required)
- `currency` (`CorrectiveInvoices_create.response.201.currency`; string, required) — Kod ISO 4217.
- `paid_price` (`CorrectiveInvoices_create.response.201.paid_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
  - format `int64`
- `notes` (`CorrectiveInvoices_create.response.201.notes`; any of, required)
  - any of: `string`, `null`
- `kind` (`CorrectiveInvoices_create.response.201.kind`; string, required)
  - one of `"vat"`, `"proforma"`, `"margin"`, `"advance"`, `"correction"`, `"margin_correction"`, `"margin_advance"`, `"final"`, `"margin_final"`, `"fiscal_report"`, `"internal"`
- `payment_method` (`CorrectiveInvoices_create.response.201.payment_method`; any of, required)
  - any of: `PaymentMethod`, `null`
- `split_payment` (`CorrectiveInvoices_create.response.201.split_payment`; boolean, required)
- `split_payment_type` (`CorrectiveInvoices_create.response.201.split_payment_type`; any of, required)
  - any of: `string`, `null`
- `recipient_signature` (`CorrectiveInvoices_create.response.201.recipient_signature`; string, required)
- `seller_signature` (`CorrectiveInvoices_create.response.201.seller_signature`; string, required)
- `invoice_date` (`CorrectiveInvoices_create.response.201.invoice_date`; string, required)
  - format `date`
- `sale_date` (`CorrectiveInvoices_create.response.201.sale_date`; any of, required)
  - any of: `string`, `null`
- `vat_date_value` (`CorrectiveInvoices_create.response.201.vat_date_value`; string, required) — Data powstania obowiązku VAT: `sale_date`, `issue_date` albo `paid_date` (metoda kasowa).
- `continuous_service_start_on` (`CorrectiveInvoices_create.response.201.continuous_service_start_on`; any of, required)
  - any of: `string`, `null`
- `continuous_service_end_on` (`CorrectiveInvoices_create.response.201.continuous_service_end_on`; any of, required)
  - any of: `string`, `null`
- `occasional_sale` (`CorrectiveInvoices_create.response.201.occasional_sale`; boolean, required)
- `status` (`CorrectiveInvoices_create.response.201.status`; string, required)
  - one of `"draft"`, `"sent"`, `"printed"`, `"unpaid"`, `"paid"`, `"scheduled"`
- `payment_date` (`CorrectiveInvoices_create.response.201.payment_date`; any of, required)
  - any of: `string`, `null`
- `paid_date` (`CorrectiveInvoices_create.response.201.paid_date`; any of, required)
  - any of: `string`, `null`
- `net_price` (`CorrectiveInvoices_create.response.201.net_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
  - format `int64`
- `tax_price` (`CorrectiveInvoices_create.response.201.tax_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
  - format `int64`
- `gross_price` (`CorrectiveInvoices_create.response.201.gross_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
  - format `int64`
- `left_to_pay` (`CorrectiveInvoices_create.response.201.left_to_pay`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
  - format `int64`
- `client_id` (`CorrectiveInvoices_create.response.201.client_id`; any of, required)
  - any of: `integer`, `null`
- `client_uuid` (`CorrectiveInvoices_create.response.201.client_uuid`; any of, required)
  - any of: `Uuid`, `null`
- `client_company_name` (`CorrectiveInvoices_create.response.201.client_company_name`; any of, required)
  - any of: `string`, `null`
- `client_first_name` (`CorrectiveInvoices_create.response.201.client_first_name`; any of, required)
  - any of: `string`, `null`
- `client_last_name` (`CorrectiveInvoices_create.response.201.client_last_name`; any of, required)
  - any of: `string`, `null`
- `client_business_activity_kind` (`CorrectiveInvoices_create.response.201.client_business_activity_kind`; any of, required)
  - any of: `BusinessActivityKind`, `null`
- `client_street` (`CorrectiveInvoices_create.response.201.client_street`; any of, required)
  - any of: `string`, `null`
- `client_street_number` (`CorrectiveInvoices_create.response.201.client_street_number`; any of, required)
  - any of: `string`, `null`
- `client_flat_number` (`CorrectiveInvoices_create.response.201.client_flat_number`; any of, required)
  - any of: `string`, `null`
- `client_city` (`CorrectiveInvoices_create.response.201.client_city`; any of, required)
  - any of: `string`, `null`
- `client_post_code` (`CorrectiveInvoices_create.response.201.client_post_code`; any of, required)
  - any of: `string`, `null`
- `client_tax_code` (`CorrectiveInvoices_create.response.201.client_tax_code`; string, required)
- `client_country` (`CorrectiveInvoices_create.response.201.client_country`; any of, required)
  - any of: `CountryCode`, `null`
- `bank_account` (`CorrectiveInvoices_create.response.201.bank_account`; string, required)
- `bank_name` (`CorrectiveInvoices_create.response.201.bank_name`; string, required)
- `swift` (`CorrectiveInvoices_create.response.201.swift`; string, required)
- `vat_exemption_reason` (`CorrectiveInvoices_create.response.201.vat_exemption_reason`; any of, required) — ID podstawy zwolnienia z VAT. Zobacz `GET /vat_exemptions.json`.
  - any of: `integer`, `null`
- `sale_type` (`CorrectiveInvoices_create.response.201.sale_type`; string, required) — Tylko transakcje zagraniczne; w pozostałych `""`.
  - one of `"service"`, `"merchandise"`, `""`
- `invoice_date_kind` (`CorrectiveInvoices_create.response.201.invoice_date_kind`; any of, required)
  - any of: `InvoiceDateKind`, `null`
- `document_markings_ids` (`CorrectiveInvoices_create.response.201.document_markings_ids`; any of, required) — ID oznaczeń dokumentu jako stringi. Zobacz `GET /incomes_documents_markings.json`.
  - any of: `array<string>`, `null`
- `transaction_kind_id` (`CorrectiveInvoices_create.response.201.transaction_kind_id`; any of, required) — Wymagane dla faktur `internal`. Zobacz `GET /transaction_kinds.json`.
  - any of: `integer`, `null`
- `bdo_code` (`CorrectiveInvoices_create.response.201.bdo_code`; any of, required)
  - any of: `string`, `null`
- `receipt_number` (`CorrectiveInvoices_create.response.201.receipt_number`; any of, required)
  - any of: `string`, `null`
- `not_income` (`CorrectiveInvoices_create.response.201.not_income`; any of, required)
  - any of: `boolean`, `null`
- `vat_exchange_date_kind` (`CorrectiveInvoices_create.response.201.vat_exchange_date_kind`; any of, required)
  - any of: `string`, `null`
- `sales_kind` (`CorrectiveInvoices_create.response.201.sales_kind`; string, required)
  - one of `"sprzedaz_podstawowa"`, `"sprzedaz_pozostala"`
- `amount_in_words` (`CorrectiveInvoices_create.response.201.amount_in_words`; any of, required)
  - any of: `string`, `null`
- `third_party_addresses` (`CorrectiveInvoices_create.response.201.third_party_addresses`; array<object>, required)
  - `id` (`CorrectiveInvoices_create.response.201.third_party_addresses.id`; integer, required)
    - format `int64`
  - `company_name` (`CorrectiveInvoices_create.response.201.third_party_addresses.company_name`; any of, required)
    - any of: `string`, `null`
  - `tax_id` (`CorrectiveInvoices_create.response.201.third_party_addresses.tax_id`; any of, required)
    - any of: `string`, `null`
  - `street` (`CorrectiveInvoices_create.response.201.third_party_addresses.street`; any of, required)
    - any of: `string`, `null`
  - `building_number` (`CorrectiveInvoices_create.response.201.third_party_addresses.building_number`; any of, required)
    - any of: `string`, `null`
  - `door_number` (`CorrectiveInvoices_create.response.201.third_party_addresses.door_number`; any of, required)
    - any of: `string`, `null`
  - `post_code` (`CorrectiveInvoices_create.response.201.third_party_addresses.post_code`; any of, required)
    - any of: `string`, `null`
  - `city` (`CorrectiveInvoices_create.response.201.third_party_addresses.city`; any of, required)
    - any of: `string`, `null`
  - `country_code` (`CorrectiveInvoices_create.response.201.third_party_addresses.country_code`; any of, required)
    - any of: `CountryCode`, `null`
  - `role_code` (`CorrectiveInvoices_create.response.201.third_party_addresses.role_code`; any of, required) — Kod roli podmiotu trzeciego w KSeF; zobacz `ThirdPartyAddressInput.role_code`.
    - any of: `string`, `null`
  - `internal_identifier` (`CorrectiveInvoices_create.response.201.third_party_addresses.internal_identifier`; any of, required)
    - any of: `string`, `null`
- `building_service` (`CorrectiveInvoices_create.response.201.building_service`; boolean, required)
- `created_at` (`CorrectiveInvoices_create.response.201.created_at`; string, required)
  - format `date-time`
- `reconciliation_id` (`CorrectiveInvoices_create.response.201.reconciliation_id`; any of, required)
  - any of: `string`, `null`
- `ksef_number` (`CorrectiveInvoices_create.response.201.ksef_number`; any of, required)
  - any of: `string`, `null`
- `transaction_terms` (`CorrectiveInvoices_create.response.201.transaction_terms`; any of, required)
  - any of: `TransactionTerms`, `null`
- `ksef_data` (`CorrectiveInvoices_create.response.201.ksef_data`; any of, required)
  - any of: `InvoiceKsefData`, `KsefSendError`, `null`
- `corrected_invoice_number` (`CorrectiveInvoices_create.response.201.corrected_invoice_number`; string, required)
- `corrected_invoice_date` (`CorrectiveInvoices_create.response.201.corrected_invoice_date`; any of, required) — `""`, gdy nie ustawiono.
  - any of: `string`, `string`
- `confirmation` (`CorrectiveInvoices_create.response.201.confirmation`; boolean, required) — Nabywca potwierdził odbiór korekty.
- `confirmation_date` (`CorrectiveInvoices_create.response.201.confirmation_date`; any of, required) — `""`, gdy nie ustawiono.
  - any of: `string`, `string`
- `correction_reason` (`CorrectiveInvoices_create.response.201.correction_reason`; string, required) — Nazwa przyczyny korekty; `""`, gdy nie ustawiono.
- `correction_reason_symbol` (`CorrectiveInvoices_create.response.201.correction_reason_symbol`; string, required)
- `check_correction_obligation` (`CorrectiveInvoices_create.response.201.check_correction_obligation`; any of, required)
  - any of: `boolean`, `null`
- `sale_date_before_correction` (`CorrectiveInvoices_create.response.201.sale_date_before_correction`; any of, required)
  - any of: `string`, `null`
- `continuous_service_start_on_before_correction` (`CorrectiveInvoices_create.response.201.continuous_service_start_on_before_correction`; any of, required)
  - any of: `string`, `null`
- `continuous_service_end_on_before_correction` (`CorrectiveInvoices_create.response.201.continuous_service_end_on_before_correction`; any of, required)
  - any of: `string`, `null`
- `services` (`CorrectiveInvoices_create.response.201.services`; array<object>, required)
  - `id` (`CorrectiveInvoices_create.response.201.services.id`; integer, required)
    - format `int64`
  - `name` (`CorrectiveInvoices_create.response.201.services.name`; string, required)
  - `tax_symbol` (`CorrectiveInvoices_create.response.201.services.tax_symbol`; string, required) — Symbol stawki VAT. Zobacz `GET /vat_rates.json`.
  - `unit` (`CorrectiveInvoices_create.response.201.services.unit`; string, required) — `""`, gdy nie ustawiono.
  - `quantity` (`CorrectiveInvoices_create.response.201.services.quantity`; number, required)
    - format `double`
  - `unit_net_price` (`CorrectiveInvoices_create.response.201.services.unit_net_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `net_price` (`CorrectiveInvoices_create.response.201.services.net_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `gross_price` (`CorrectiveInvoices_create.response.201.services.gross_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `tax_price` (`CorrectiveInvoices_create.response.201.services.tax_price`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `symbol` (`CorrectiveInvoices_create.response.201.services.symbol`; string, required) — Klasyfikacja widoczna na fakturze; `""`, gdy nie ustawiono.
  - `pkwiu` (`CorrectiveInvoices_create.response.201.services.pkwiu`; any of, required)
    - any of: `string`, `null`
  - `cn` (`CorrectiveInvoices_create.response.201.services.cn`; any of, required)
    - any of: `string`, `null`
  - `pkob` (`CorrectiveInvoices_create.response.201.services.pkob`; any of, required)
    - any of: `string`, `null`
  - `gtin` (`CorrectiveInvoices_create.response.201.services.gtin`; any of, required)
    - any of: `string`, `null`
  - `discount` (`CorrectiveInvoices_create.response.201.services.discount`; string, required) — Rabat w procentach.
    - pattern `^-?\d+(\.\d+)?$`
  - `unit_net_price_before_discount` (`CorrectiveInvoices_create.response.201.services.unit_net_price_before_discount`; integer, required) — Kwota w groszach (1/100 PLN). `12300` oznacza 123,00 PLN.
    - format `int64`
  - `gtu_id` (`CorrectiveInvoices_create.response.201.services.gtu_id`; any of, required)
    - any of: `integer`, `null`
  - `related_id` (`CorrectiveInvoices_create.response.201.services.related_id`; any of, required) — Pozycja faktury zaliczkowej rozliczana tą pozycją.
    - any of: `integer`, `null`
  - `group` (`CorrectiveInvoices_create.response.201.services.group`; any of, required) — Łączy w parę pozycję przed korektą z pozycją po korekcie; `""`, gdy nie ustawiono.
    - any of: `integer`, `string`
  - `correction` (`CorrectiveInvoices_create.response.201.services.correction`; boolean, required) — `false` dla pozycji przed korektą, `true` dla pozycji po korekcie.
  - `flat_rate_tax_symbol` (`CorrectiveInvoices_create.response.201.services.flat_rate_tax_symbol`; any of, optional) — Tylko u podatników na ryczałcie.
    - any of: `string`, `null`
- `local_government_recipient_address` (`CorrectiveInvoices_create.response.201.local_government_recipient_address`; any of, optional) — Nie jest zwracane przez `list`.
  - any of: `LocalGovernmentAddress`, `null`

### 401

Brak klucza API, nieprawidłowy klucz albo klucz bez wymaganego zakresu uprawnień.

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.401.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.401.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.401.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.401.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.401.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.401.action_url`; string, optional)

### 402

API niedostępne w obecnym planie (`limit: plan_upgrade_needed`) albo osiągnięty limit dokumentów.

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.402.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.402.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.402.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.402.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.402.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.402.action_url`; string, optional)

### 403

Brak uprawnień, limit planu dla tej akcji (`limit`) albo zawieszone konto.

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.403.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.403.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.403.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.403.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.403.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.403.action_url`; string, optional)

### 406

Ścieżka nie kończy się na `.json`.

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.406.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.406.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.406.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.406.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.406.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.406.action_url`; string, optional)

### 422

Walidacja nie powiodła się; szczegóły w `errors`.

#### Example

```json
{
  "error": "Nieprawidłowe parametry. Popraw błędy i spróbuj ponownie.",
  "errors": {
    "services.correction": [
      "W grupie jeden service musi być korektą."
    ]
  }
}
```

- `error` (`CorrectiveInvoices_create.response.422.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.422.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.422.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.422.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.422.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.422.action_url`; string, optional)

### 423

Niepotwierdzony adres e-mail albo wymagana weryfikacja tożsamości.

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.423.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.423.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.423.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.423.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.423.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.423.action_url`; string, optional)

### 429

Przekroczony limit zapytań. Komunikat jest po angielsku, np. `API rate limit exceeded. Try again in 60 seconds.`

#### Example

```json
{
  "error": "Zasób którego szukasz nie został znaleziony."
}
```

- `error` (`CorrectiveInvoices_create.response.429.error`; any of, optional) — Komunikat po polsku (po angielsku dla `429`). Niektóre akcje zamiast jednego tekstu zwracają listę komunikatów albo błędy walidacji według pól.
  - any of: `string`, `array<string>`, `object`
- `errors` (`CorrectiveInvoices_create.response.429.errors`; any of, optional) — Błędy walidacji według nazw pól API; na niektórych endpointach zwykły komunikat.
  - any of: `object`, `string`
- `limit` (`CorrectiveInvoices_create.response.429.limit`; string, optional) — Kod limitu planu, np. `limit_exceeded`, `plan_upgrade_needed`, `cant_add_client`.
- `type` (`CorrectiveInvoices_create.response.429.type`; string, optional)
  - one of `"redirect"`, `"email_not_confirmed"`
- `url` (`CorrectiveInvoices_create.response.429.url`; string, optional)
- `action_url` (`CorrectiveInvoices_create.response.429.action_url`; string, optional)


Source: https://docs.niebieskiorzel.pl/api/corrective-invoices-json/create/index.md
