SprzęciarzOS
StartFunkcjeCennikBlogKontakt
Zarejestruj się Zaloguj się
REST API

Dokumentacja API

Integruj SprzęciarzOS z własnymi systemami i aplikacjami. Poniżej znajdziesz kompletną dokumentację REST API.

Format: JSON
Autentykacja: Bearer Token
HTTPS wymagany

Jak uzyskać token API?

Aby wygenerować nowy token API zaloguj się do systemu a następnie przejdź do menu Konto -> Tokeny API. Z tego poziomu możesz wygenerować nowy token – pamiętaj aby go skopiować i zapisać, system wyświetli go wyłącznie raz.

Mam token API, jak mogę go użyć aby autoryzować request?

System SprzęciarzOS polega na weryfikacji za pomocą Bearer Token. W tym przypadku należy dodać nagłówek Authorization do każdego żądania HTTP:

Authorization: Bearer <twój_token>

GET /clients.json

Lista klientów

Pozwala na pobranie paginowanej listy klientów przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po imieniu, nazwisku, nazwie firmy i adresie e-mail, NIP, REGON, KRS oraz nr telefonu. Zwraca dane kontaktowe, adresowe oraz pola niestandardowe klientów.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/clients.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c43-7f5c-adab-1e089e56f73d",
      "display_name": "StackWave sp. z o.o.",
      "company": true,
      "first_name": "",
      "last_name": "",
      "pesel": "",
      "company_name": "StackWave sp. z o.o.",
      "nip": "1133187570",
      "regon": "543488478",
      "krs": "0001211144",
      "email": "kontakt@stackwave.pl",
      "phone": "",
      "website": "",
      "country": "PL",
      "city": "Warszawa",
      "postal_code": "03-707",
      "street": "Floriańska 6 / U2",
      "notes": "",
      "department_id": null,
      "custom_fields": {},
      "date_of_birth": "1996-12-18",
      "created_at": "2026-02-09 22:31",
      "updated_at": "2026-04-28 13:22"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
GET /clients/{client_id}.json

Szczegóły klienta

Pozwala na pobranie szczegółowych danych pojedynczego klienta na podstawie jego identyfikatora. Zwraca pełny profil klienta – dane osobowe lub firmowe, kontaktowe, adresowe, pola niestandardowe oraz znaczniki czasu utworzenia i ostatniej modyfikacji.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
client_id string path Tak Identyfikator klienta
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/clients/019e4a0e-3c43-7f5c-adab-1e089e56f73d.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "id": "019e4a0e-3c43-7f5c-adab-1e089e56f73d",
  "display_name": "StackWave sp. z o.o.",
  "company": true,
  "first_name": "",
  "last_name": "",
  "pesel": "",
  "company_name": "StackWave sp. z o.o.",
  "nip": "1133187570",
  "regon": "543488478",
  "krs": "0001211144",
  "email": "kontakt@stackwave.pl",
  "phone": "",
  "website": "",
  "country": "PL",
  "city": "Warszawa",
  "postal_code": "03-707",
  "street": "Floriańska 6 / U2",
  "notes": "",
  "department_id": null,
  "custom_fields": {
    "019e4a0e-3c46-7406-988c-dea11f5545ae": ""
  },
  "date_of_birth": "1996-12-18",
  "created_at": "2026-02-09 22:31",
  "updated_at": "2026-04-28 13:22",
  "consents": [
    {
      "id": "019e780e-fbf7-7cdc-bdbc-e9e7aeddeb15",
      "consent_id": "019e780e-c3c1-7f00-ba7f-1b808e0cfb96",
      "consent_key": "zgoda_na_przetwarzanie_danych",
      "consent_name": "Zgoda na przetwarzanie danych",
      "consent_type": "other",
      "granted": true,
      "source": "panel",
      "consent_version": 1,
      "consent_text_snapshot": "Wyrażam zgodę na przetwarzanie moich danych osobowych",
      "granted_at": "2026-05-30 10:45",
      "withdrawn_at": null
    }
}
POST /clients.json

Tworzenie klienta

Pozwala na stworzenie klienta w ramach Twojego konta W przypadku sukcesu zwraca pełny profil utworzonego klienta. Przy błędach walidacji zwraca listę błędów.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
company boolean body Nie Czy klient jest firmą
first_name string body Tak Imię – parametr wymagany dla klientów indywidualnych
last_name string body Tak Nazwisko – parametr wymagany dla klientów indywidualnych
company_name string body Tak Nazwa firmy – parametr wymagany dla klientów profesjonalnych
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/clients.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{
          "company": true,
          "company_name": "StackWave sp. z o.o.",
          "nip": "1133187570",
          "regon": "543488478",
          "krs": "0001211144",
          "email": "kontakt@sprzeciarz.pl",
          "country": "PL",
          "city": "Warszawa",
          "postal_code": "03-707",
          "address": "ul. Floriańska 6/U2",
          "client_consents_attributes": [
            {
              "consent_id": "019e81f0-c470-707e-8fee-ab80fb8de519",
              "granted": true
            }
          ]
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019e682b-94f3-7196-bdae-99a8e7ee162a",
  "display_name": "StackWave sp. z o.o.",
  "company": true,
  "first_name": null,
  "last_name": null,
  "pesel": null,
  "company_name": "StackWave sp. z o.o.",
  "nip": "1133187570",
  "regon": "543488478",
  "krs": "0001211144",
  "email": "kontakt@sprzeciarz.pl",
  "phone": null,
  "website": null,
  "country": "PL",
  "city": "Warszawa",
  "postal_code": "03-707",
  "street": null,
  "notes": null,
  "department_id": null,
  "custom_fields": {},
  "date_of_birth": null,
  "created_at": "2026-05-27 08:42",
  "updated_at": "2026-05-27 08:42",
  "consents": [
    {
      "id": "019e81f6-d611-7ef3-b695-8ce07d26cf8b",
      "consent_id": "019e81f0-c470-707e-8fee-ab80fb8de519",
      "consent_key": "zgoda_na_newsletter_curl_demo",
      "consent_name": "Zgoda na newsletter (curl demo)",
      "consent_type": "marketing",
      "granted": true,
      "source": "panel",
      "consent_version": 1,
      "consent_text_snapshot": "Wyrażam zgodę na otrzymywanie newslettera.",
      "granted_at": "2026-06-01 08:54",
      "withdrawn_at": null
    }
  ]
}
POST /clients/session.json

Logowanie klienta

Pozwala na pobranie danych klienta po przesłaniu poprawnego adresu email oraz hasła.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
email string body Tak Adres email klienta
password string body Tak Hasło klienta
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/clients/session.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "email": "kontakt@stackwave.pl",
          "password": "silne-haslo-2026"
        }'
Przykład odpowiedzi 200 OK
{
  "client": {
    "id": "019e4a0e-3c43-7f5c-adab-1e089e56f73d",
    "display_name": "StackWave sp. z o.o.",
    "company": true,
    "first_name": "",
    "last_name": "",
    "pesel": "",
    "company_name": "StackWave sp. z o.o.",
    "nip": "1133187570",
    "regon": "543488478",
    "krs": "0001211144",
    "email": "kontakt@stackwave.pl",
    "phone": "",
    "website": "",
    "country": "PL",
    "city": "Warszawa",
    "postal_code": "03-707",
    "street": "Floriańska 6 / U2",
    "notes": "",
    "department_id": null,
    "custom_fields": {},
    "date_of_birth": "",
    "created_at": "2026-02-09 22:31",
    "updated_at": "2026-06-02 08:30"
  }
}
POST /clients/password.json

Odzyskiwanie hasła

Pozwala na pobranie tokenu odzyskania hasła – dzięki niemu klient może zresetować swoje hasło w kolejnym kroku. Link do resetu hasła (po stronie systemu który się integruje) z tokenem powinien zostać dostarczony do klienta.
Jeśli nie znaleziono użytkownika z podanym adres email zwrócony token będzie pusty.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
email string body Tak Adres email klienta
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/clients/password.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "email": "kontakt@stackwave.pl"
        }'
Przykład odpowiedzi 200 OK
{
  "token": "34fbZoU8GFNamW20aF8sR-L1VZ8PmPZntDYDJpxgIno"
}
PATCH /clients/{client_id}.json

Edycja klienta

Pozwala na edycję istniejącego klienta w ramach Twojego konta W przypadku sukcesu zwraca pełny profil utworzonego klienta. Przy błędach walidacji zwraca listę błędów.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
client_id string path Tak Identyfikator klienta
company boolean body Nie Czy klient jest firmą
first_name string body Nie Imię
last_name string body Nie Nazwisko
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/clients/019e658d-af76-7a48-988c-a61651e449a4.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{
          "company_name": "StackWave sp. z o.o.",
          "nip": "1133187570",
          "address": "ul. Floriańska 6/U2",
          "client_consents_attributes": [
            {
              "id": "019e780e-fbf7-7cdc-bdbc-e9e7aeddeb15",
              "granted": false
            },
            {
              "consent_id": "019e81f0-c470-707e-8fee-ab80fb8de519",
              "granted": true
            }
          ]
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019e682b-94f3-7196-bdae-99a8e7ee162a",
  "display_name": "StackWave sp. z o.o.",
  "company": true,
  "first_name": null,
  "last_name": null,
  "pesel": null,
  "company_name": "StackWave sp. z o.o.",
  "nip": "1133187570",
  "regon": "543488478",
  "krs": "0001211144",
  "email": "kontakt@sprzeciarz.pl",
  "phone": null,
  "website": null,
  "country": "PL",
  "city": "Warszawa",
  "postal_code": "03-707",
  "street": null,
  "notes": null,
  "department_id": null,
  "custom_fields": {},
  "date_of_birth": null,
  "created_at": "2026-05-27 08:42",
  "updated_at": "2026-05-27 08:42",
  "consents": [
    {
      "id": "019e780e-fbf7-7cdc-bdbc-e9e7aeddeb15",
      "consent_id": "019e780e-c3c1-7f00-ba7f-1b808e0cfb96",
      "consent_key": "zgoda_na_przetwarzanie_danych",
      "consent_name": "Zgoda na przetwarzanie danych",
      "consent_type": "other",
      "granted": false,
      "source": "panel",
      "consent_version": 1,
      "consent_text_snapshot": "Wyrażam zgodę na przetwarzanie moich danych osobowych",
      "granted_at": "2026-05-30 10:45",
      "withdrawn_at": "2026-06-01 08:53"
    },
    {
      "id": "019e81f6-d611-7ef3-b695-8ce07d26cf8b",
      "consent_id": "019e81f0-c470-707e-8fee-ab80fb8de519",
      "consent_key": "zgoda_na_newsletter_curl_demo",
      "consent_name": "Zgoda na newsletter (curl demo)",
      "consent_type": "marketing",
      "granted": true,
      "source": "panel",
      "consent_version": 1,
      "consent_text_snapshot": "Wyrażam zgodę na otrzymywanie newslettera.",
      "granted_at": "2026-06-01 08:54",
      "withdrawn_at": null
    }
}
PATCH /clients/password.json

Ustawianie nowego hasła

Pozwala na ustawienie nowego hasła po podaniu adresu email oraz wcześniej uzyskanego tokenu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
token string body Tak Token resetu hasła uzyskany w kroku Odzyskiwanie hasła
password string body Tak Nowe hasło klienta
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/clients/password.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "token": "34fbZoU8GFNamW20aF8sR-L1VZ8PmPZntDYDJpxgIno",
          "password": "nowe-haslo-2026"
        }'
Przykład odpowiedzi 200 OK
{
  "message": "Hasło zostało zmienione"
}
DELETE /clients/{client_id}.json

Usuwanie klienta

Pozwala na usuwanie klienta w ramach Twojego konta.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
client_id string path Tak Identyfikator klienta
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/clients/019e658d-af76-7a48-988c-a61651e449a4.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 204 No Content
No Content
GET /departments

Lista działów

Pozwala na pobranie paginowanej listy działów przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nazwie.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/departments.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c4a-7a29-85a4-065073ed24b9",
      "name": "Warszawa",
      "description": "",
      "active": true,
      "company_name": "",
      "nip": "",
      "street": "",
      "city": "",
      "postal_code": "",
      "country": "PL",
      "phone": "",
      "email": "",
      "created_at": "2026-02-11 08:15",
      "updated_at": "2026-02-11 08:15"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
GET /departments/with_return_fees.json

Lista działów z opłatami

Pozwala na pobranie paginowanej listy działów wraz z tablicą opłat za zwrot pomiędzy działami

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer body Nie Numer strony
query string body Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/departments/with_return_fees.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "currency": "PLN",
  "departments": [
    {
      "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
      "name": "Kraków",
      "company_name": "",
      "city": "",
      "active": true
    },
    {
      "id": "019e4a0e-3c4a-7a29-85a4-065073ed24b9",
      "name": "Warszawa",
      "company_name": "",
      "city": "",
      "active": true
    }
  ],
  "cross_department_return_fees": [
    {
      "pickup_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
      "return_department_id": "019e4a0e-3c4a-7a29-85a4-065073ed24b9",
      "amount": 100.0
    },
    {
      "pickup_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
      "return_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
      "amount": 20.0
    }
  ]
}
GET /departments/{department_id}.json

Szczegóły działu

Pozwala na pobranie szczegółowych danych pojedynczego działu na podstawie jego identyfikatora.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
{department_id} string path Tak Identyfikator działu
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/departments/019e4a0e-3c4a-7a29-85a4-065073ed24b9.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "id": "019e4a0e-3c4a-7a29-85a4-065073ed24b9",
  "name": "Warszawa",
  "description": "",
  "active": true,
  "company_name": "",
  "nip": "",
  "street": "",
  "city": "",
  "postal_code": "",
  "country": "PL",
  "phone": "",
  "email": "",
  "created_at": "2026-02-11 08:15",
  "updated_at": "2026-02-11 08:15"
}
POST /departments.json

Tworzenie działu

Pozwala na stworzenie działu w ramach Twojego konta

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
name string body Tak Unikalna nazwa działu
description string body Nie Opis
active boolean body Nie Czy dział jest aktywny
company_name string body Nie Nazwa firmy
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/departments.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "My Department"
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019e8dc9-ff20-702e-8d81-d52764a4dad2",
  "name": "My Department",
  "description": null,
  "active": true,
  "company_name": null,
  "nip": null,
  "street": null,
  "city": null,
  "postal_code": null,
  "country": null,
  "phone": null,
  "email": null,
  "created_at": "2026-06-03 16:01",
  "updated_at": "2026-06-03 16:01"
}
PATCH /departments/{department_id}.json

Edycja działu

Pozwala na edycję istniejącego działu w ramach Twojego konta

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
department_id string path Tak Identyfikator działu
name string body Nie Unikalna nazwa działu
description string body Nie Opis
active boolean body Nie Czy dział jest aktywny
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/departments/019e8dc9-ff20-702e-8d81-d52764a4dad2.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "My Department"
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019e8dc9-ff20-702e-8d81-d52764a4dad2",
  "name": "My Department",
  "description": null,
  "active": true,
  "company_name": null,
  "nip": null,
  "street": null,
  "city": null,
  "postal_code": null,
  "country": null,
  "phone": null,
  "email": null,
  "created_at": "2026-06-03 16:01",
  "updated_at": "2026-06-03 16:01"
}
DELETE /departments/{department_id}.json

Usuwanie działu

Pozwala na usuwanie istniejącego działu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
department_id string path Tak Identyfikator działu
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/departments/019e8dc9-ff20-702e-8d81-d52764a4dad2.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 204 No Content
No Content
GET items.json

Lista przedmiotów

Pozwala na pobranie paginowanej listy przedmiotów przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nazwie oraz unikalnym identyfikatorze przedmiotu. Zwraca pełne informacje o znalezionych przedmiotach.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/items.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c53-7f8b-84ac-9dcf933c2b19",
      "name": "Mercedes CLA",
      "identifier": "merc",
      "description": "",
      "tracking_mode": "unique",
      "total_quantity": 1,
      "min_reservation_quantity": null,
      "max_reservation_quantity": null,
      "department_id": null,
      "protocol_type_id": null,
      "custom_fields": {},
      "created_at": "2026-02-18 15:32",
      "updated_at": "2026-03-03 07:58"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
GET /items/availability

Dostępność przedmiotów

Pozwala na pobranie informacji o dostępności przedmiotów

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
date_from string query Tak Data początkowa (YYYY-MM-DD)
date_to string query Tak Data końcowa (YYYY-MM-DD)
only_available boolean query Nie Przesyłamy true aby wyświetlić wyłącznie dostępne
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/items/availability.json?date_from=2026-05-10&date_to=2026-05-20" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c53-7f8b-84ac-9dcf933c2b19",
      "name": "Mercedes CLA",
      "identifier": "merc",
      "description": "",
      "tracking_mode": "unique",
      "total_quantity": 1,
      "min_reservation_quantity": null,
      "max_reservation_quantity": null,
      "department_id": null,
      "protocol_type_id": null,
      "custom_fields": {},
      "created_at": "2026-02-18 15:32",
      "updated_at": "2026-03-03 07:58",
      "available_quantity": 1
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
GET /items/{item_id}.json

Szczegóły przedmiotu

Endpoint pozwalający na pobranie danych szczegółowych przedmiotu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
item_id string path Tak Identyfikator przedmiotu
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/items/019e4a0e-3c53-7f8b-84ac-9dcf933c2b19.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "id": "019e4a0e-3c53-7f8b-84ac-9dcf933c2b19",
  "name": "Mercedes CLA",
  "identifier": "merc",
  "description": "",
  "tracking_mode": "unique",
  "total_quantity": 1,
  "min_reservation_quantity": null,
  "max_reservation_quantity": null,
  "department_id": null,
  "protocol_type_id": null,
  "custom_fields": {},
  "created_at": "2026-02-18 15:32",
  "updated_at": "2026-03-03 07:58"
}
POST /items.json

Tworzenie przedmiotu

Endpoint pozwala na stworzenie nowego przedmiotu w systemie

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
name string body Tak Nazwa przedmiotu
tracking_mode string body Tak Metoda śledzenia – dostępne wartości unique, quantity oraz serialized
identifier string body Tak Identyfikator przedmiotu – wymagany tylko gdy tracking_mode == unique
total_quantity string body Tak Ilość – wymagany tylko gdy tracking_mode == quantity
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/items.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{
          "name": "Audi A6",
          "tracking_mode": "unique",
          "identifier": "ERA 75TM",
          "description": "Doskonałe auto na weekend"
        }'
Przykład odpowiedzi 200
{
  "id": "019e6839-4201-7da8-8d72-1d22cd7e4db3",
  "name": "Audi A6",
  "identifier": "ERA 75TM",
  "description": "Doskonałe auto na weekend",
  "tracking_mode": "unique",
  "total_quantity": 1,
  "min_reservation_quantity": null,
  "max_reservation_quantity": null,
  "department_id": null,
  "protocol_type_id": null,
  "custom_fields": {},
  "created_at": "2026-05-27 08:57",
  "updated_at": "2026-05-27 08:57"
}
PATCH /items/{item_id}.json

Edycja przedmiotu

Endpoint pozwala na edycję istniejącego przedmiotu w systemie

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
item_id string path Tak Identyfikator przedmiotu
name string body Nie Nazwa przedmiotu
tracking_mode string body Nie Metoda śledzenia – dostępne wartości unique, quantity oraz serialized
identifier string body Nie Identyfikator przedmiotu – wymagany tylko gdy tracking_mode == unique
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/items/019e6809-9184-77d9-81de-530d8c6ff890.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>" \
    -d '{
          "name": "Audi A6",
          "identifier": "ERA 76TM",
          "description": "Doskonałe auto dla każdego"
        }'
Przykład odpowiedzi 200
{
  "id": "019e6839-4201-7da8-8d72-1d22cd7e4db3",
  "name": "Audi A6",
  "identifier": "ERA 76TM",
  "description": "Doskonałe auto dla każdego",
  "tracking_mode": "unique",
  "total_quantity": 1,
  "min_reservation_quantity": null,
  "max_reservation_quantity": null,
  "department_id": null,
  "protocol_type_id": null,
  "custom_fields": {},
  "created_at": "2026-05-27 08:57",
  "updated_at": "2026-05-27 08:58"
}
DELETE /items/{item_id}.json

Usuwanie przedmiotu

Endpoint pozwalający na usuwanie przedmiotu z systemu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
item_id string path Tak Identyfikator przedmiotu
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/items/019e4a0e-3c53-7f8b-84ac-9dcf933c2b19.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 204 No Content
No Content
GET /add_ons.json

Lista dodatków

Pozwala na pobranie paginowanej listy dodatków przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nazwie.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/add_ons.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c3e-78d7-89dc-8a3b63bade89",
      "name": "Dodatkowe ubezpieczenie",
      "active": true,
      "prices": [
        {
          "id": "019e4a0e-3c3b-7b2b-8017-1c5a7ea866e6",
          "interval_type": "daily",
          "from_value": null,
          "to_value": 7,
          "price_net": 100.0,
          "price_gross": 123.0
        },
        {
          "id": "019e4a0e-3c3b-7b30-ba13-09b1b3b47ec4",
          "interval_type": "daily",
          "from_value": 7,
          "to_value": null,
          "price_net": 80.0,
          "price_gross": 98.4
        },
        {
          "id": "019e4a0e-3c3b-7a98-8b5c-22b7c37a1e75",
          "interval_type": "hourly",
          "from_value": null,
          "to_value": 12,
          "price_net": 7.0,
          "price_gross": 8.61
        },
        {
          "id": "019e4a0e-3c3b-7b23-b11c-b45dff6f6966",
          "interval_type": "hourly",
          "from_value": 12,
          "to_value": 24,
          "price_net": 5.0,
          "price_gross": 6.15
        }
      ]
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
POST /add_ons.json

Tworzenie dodatku

Pozwala na tworzenie nowego dodatku w ramach Twojego konta

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
name string body Tak Nazwa dodatku
active boolean body Tak Czy dodatek jest aktywny
prices_attributes[] array body Nie Zakresy cenowe dodatku
prices_attributes[interval_type] string body Tak Typ zakresu cenowego – dozwolone wartości to daily oraz hourly
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/add_ons.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "Dodatkowe ubezpieczenie",
          "active": true,
          "prices_attributes": [
            {
              "interval_type": "daily",
              "from_value": null,
              "to_value": 7,
              "price_net": 20
            },
            {
              "interval_type": "daily",
              "from_value": 8,
              "to_value": null,
              "price_net": 15
            }
          ]
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019f3616-d769-74a9-bacb-daee1c842ba9",
  "name": "Dodatkowe ubezpieczenie",
  "active": true,
  "created_at": "2026-07-06 08:21",
  "updated_at": "2026-07-06 08:21",
  "prices": [
    {
      "id": "019f3616-d770-776c-b21c-6fe22a6df642",
      "interval_type": "daily",
      "from_value": null,
      "to_value": 7,
      "price_net": 20.0,
      "price_gross": 24.6
    },
    {
      "id": "019f3616-d779-7eaa-b1be-472d5903c368",
      "interval_type": "daily",
      "from_value": 8,
      "to_value": null,
      "price_net": 15.0,
      "price_gross": 18.45
    }
  ]
}
PATCH /add_ons/{add_on_id}.json

Edycja dodatku

Pozwala na edycję istniejącego dodatku w ramach Twojego konta

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
add_on_id string path Tak Identyfikator dodatku
name string body Nie Nazwa dodatku
active boolean body Nie Czy dodatek jest aktywny
prices_attributes[] array body Nie Zakresy cenowe dodatku
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/add_ons/019f3616-d769-74a9-bacb-daee1c842ba9.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "Dodatkowe ubezpieczenie",
          "prices_attributes": [
            {
              "id": "019f3616-d770-776c-b21c-6fe22a6df642",
              "_destroy": true
            },
            {
              "interval_type": "daily",
              "from_value": null,
              "to_value": null,
              "price_net": 20
            }
          ]
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019f3616-d769-74a9-bacb-daee1c842ba9",
  "name": "Dodatkowe ubezpieczenie",
  "active": true,
  "created_at": "2026-07-06 08:21",
  "updated_at": "2026-07-06 08:21",
  "prices": [
    {
      "id": "019f361d-8402-7013-929f-a1d241f4c998",
      "interval_type": "daily",
      "from_value": null,
      "to_value": null,
      "price_net": 20.0,
      "price_gross": 24.6
    }
  ]
}
DELETE /add_ons/{add_on_id}.json

Usuwanie dodatku

Pozwala na usuwanie dodatku w zakresie Twojego konta

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
add_on_id string path Tak Identyfikator dodatku
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/add_ons/019f3616-d769-74a9-bacb-daee1c842ba9.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 204 No Content
No Content
GET /reservations

Lista rezerwacji

Pozwala na pobranie paginowanej listy rezerwacji przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nr rezerwacji a także imieniu, nazwisku, nazwie firmy oraz adresie email klienta.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/reservations.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4c35-231b-7978-b08f-ab6c39de4c76",
      "number": "REZ-2026-05-0001",
      "total_price_gross": "1230.0",
      "total_price_net": "1000.0",
      "deposit": "500.0",
      "tax_rate": "23.0",
      "pickup_location": "ul. Topolowa 13",
      "return_location": "ul. Krakowska 11",
      "notes": "Możliwy zwrot brudnego auta",
      "internal_notes": "Dobry klient",
      "starts_at": "2026-05-22 22:23",
      "ends_at": "2026-05-29 22:23",
      "created_at": "2026-05-21 22:23",
      "updated_at": "2026-05-21 22:23",
      "status": {
        "id": "019e4a0e-3c74-7caa-8537-e926bbb45998",
        "name": "Nowa",
        "color": "#3B82F6",
        "blocking": true
      },
      "client": {
        "id": "019e4a0e-3c43-7f0d-80a3-28fe077f77f6",
        "first_name": "Adam",
        "last_name": "Nowak",
        "email": "",
        "phone": ""
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 7,
    "per_page": 25
  }
}
GET /reservations/{reservation_id}.json

Szczegóły rezerwacji

Endpoint pozwalający na pobranie informacji o konkretnej rezerwacji

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/reservations/019e4c35-231b-7978-b08f-ab6c39de4c76.json" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer <token>"
Przykład odpowiedzi 200 OK
{
  "id": "019e4c35-231b-7978-b08f-ab6c39de4c76",
  "number": "REZ-2026-05-0001",
  "total_price_gross": "0.0",
  "total_price_net": "0.0",
  "deposit": "0.0",
  "tax_rate": "23.0",
  "pickup_location": "",
  "return_location": "",
  "notes": null,
  "internal_notes": null,
  "starts_at": "2026-05-22 22:23",
  "ends_at": "2026-05-29 22:23",
  "created_at": "2026-05-21 22:23",
  "updated_at": "2026-05-21 22:23",
  "status": {
    "id": "019e4a0e-3c74-7caa-8537-e926bbb45998",
    "name": "Nowa",
    "color": "#3B82F6",
    "blocking": false
  },
  "client": {
    "id": "019e4a0e-3c43-7f0d-80a3-28fe077f77f6",
    "first_name": "Adam",
    "last_name": "Nowak",
    "email": "",
    "phone": "",
    "company_name": "",
    "company": false,
    "nip": "",
    "street": "",
    "city": "",
    "postal_code": "",
    "country": "PL"
  },
  "pickup_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "return_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "reservation_items": [
    {
      "id": "019e4c35-231f-78a0-8bfe-336a0a28a2e3",
      "quantity": 1,
      "unit_price_gross": "0.0",
      "unit_price_net": "0.0",
      "total_price_gross": "0.0",
      "total_price_net": "0.0",
      "tax_rate": "23.0",
      "discount_kind": "",
      "discount_percent": "0.0",
      "item": {
        "id": "019e4a0e-3c53-7f35-8cc4-770fe749df4a",
        "name": "Audi A6 C5"
      }
    }
  ],
  "payments": [
    {
      "id": "019e8c0f-038d-7e2c-a9f1-c9da9139e980",
      "amount": "100.0",
      "currency": "PLN",
      "payment_type": "cash",
      "payment_category": "payment",
      "status": "completed",
      "paid_at": "2026-06-03T07:57:00.000+02:00",
      "reference_number": "",
      "notes": "",
      "created_at": "2026-06-03T07:57:34.717+02:00"
    }
}
GET /reservations/{reservation_id}/payments.json

Lista płatności rezerwacji

Pozwala na pobranie paginowanej listy płatności przypisanych do rezerwacji

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
page number query Nie Numer strony
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/reservations/019e89dd-f775-7229-8ac6-fe9ded537508/payments.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e8c0f-038d-7e2c-a9f1-c9da9139e980",
      "amount": "688.8",
      "currency": "PLN",
      "payment_type": "cash",
      "payment_category": "payment",
      "payment_provider": "none",
      "status": "completed",
      "reference_number": "",
      "notes": "",
      "paid_at": "2026-06-03 07:57",
      "created_at": "2026-06-03 07:57",
      "updated_at": "2026-06-03 07:57"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}
POST /reservations.json

Tworzenie rezerwacji

Pozwala na stworzenie rezerwacji w ramach Twojego konta W przypadku sukcesu zwraca pełne dane utworzonej rezerwacji. Przy błędach walidacji zwraca listę błędów.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
status_id string body Tak Identyfikator statusu
starts_at string body Tak Data i godzina rozpoczęcia (YYYY-MM-DD HH:MM)
ends_at string body Nie Data i godzina zakończenia (YYYY-MM-DD HH:MM)
pickup_department_id string body Nie Identyfikator oddziału wydania
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/reservations.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "status_id": "019e4a0e-3c74-7caa-8537-e926bbb45998",
          "starts_at": "2026-06-01 10:00",
          "ends_at": "2026-06-08 10:00",
          "pickup_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
          "return_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
          "client_company": false,
          "client_first_name": "Jan",
          "client_last_name": "Kowalski",
          "client_street": "Topolowa 11",
          "client_city": "Kraków",
          "client_postal_code": "30-001",
          "client_country": "PL",
          "client_email": "jan@test.pl",
          "reservation_items_attributes": [
            {
              "item_id": "019e4a0e-3c53-7f35-8cc4-770fe749df4a",
              "billing_unit": "day",
              "unit_price_net": 100
            }
          ]
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019e6a40-98e8-75d5-a4d9-9694ba545df0",
  "number": "REZ-2026-05-0004",
  "total_price_gross": "861.0",
  "total_price_net": "700.0",
  "deposit": "0.0",
  "tax_rate": "23.0",
  "pickup_location": null,
  "return_location": null,
  "notes": null,
  "internal_notes": null,
  "starts_at": "2026-06-01 10:00",
  "ends_at": "2026-06-08 10:00",
  "created_at": "2026-05-27 18:24",
  "updated_at": "2026-05-27 18:24",
  "status": {
    "id": "019e4a0e-3c74-7caa-8537-e926bbb45998",
    "name": "Nowa",
    "color": "#3B82F6",
    "blocking": false
  },
  "client": {
    "id": "019e6a38-b6f1-76a0-be1c-13bdb4baebe8",
    "first_name": "Jan",
    "last_name": "Kowalski",
    "email": "jan@test.pl",
    "phone": null,
    "company_name": null,
    "company": false,
    "nip": null,
    "street": "Topolowa 11",
    "city": "Kraków",
    "postal_code": "30-001",
    "country": "PL"
  },
  "pickup_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "return_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "reservation_items": [
    {
      "id": "019e6a40-98ee-73ad-92d0-61635c6f3921",
      "quantity": 1,
      "unit_price_gross": "123.0",
      "unit_price_net": "100.0",
      "total_price_gross": "861.0",
      "total_price_net": "700.0",
      "tax_rate": "23.0",
      "discount_kind": null,
      "discount_percent": "0.0",
      "item": {
        "id": "019e4a0e-3c53-7f35-8cc4-770fe749df4a",
        "name": "Audi A6 C5"
      }
    }
  ],
  "payments": []
}
POST /reservations/quote.json

Wycena rezerwacji

Endpoint pozwala na uzyskanie ceny rezerwacji bez jej tworzenia

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
source string body Tak Żródło pozycji – items (Przedmioty) lub offers (Oferty segmentów)
date_from string body Tak Data początkowa (YYYY-MM-DD HH:MM)
date_to string body Tak Data końcowa (YYYY-MM-DD HH:MM)
pickup_department_id string body Tak Identyfikator działu wydania
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/reservations/quote.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "source": "items",
          "date_from": "2027-07-01 10:00",
          "date_to": "2027-07-08 10:00",
          "pickup_department_id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
          "return_department_id": "019e4a0e-3c4a-7a29-85a4-065073ed24b9",
          "lines": [
            {
              "id": "019e4a0e-3c53-7f35-8cc4-770fe749df4a",
              "quantity": 1
            }
          ],
          "add_ons": [
            {
              "id": "019e4a0e-3c3e-78d7-89dc-8a3b63bade89"
            }
          ]
        }'
Przykład odpowiedzi 200 OK
{
  "currency": "PLN",
  "tax_rate": 23.0,
  "lines": [
    {
      "id": "019e4a0e-3c53-7f35-8cc4-770fe749df4a",
      "quantity": 1,
      "available": true,
      "available_quantity": null,
      "pricing_available": true,
      "price_list_id": "019e4a0e-3c64-7c28-8403-a3fbe4c7e9df",
      "billing_unit": "day",
      "billing_units_count": 7,
      "unit_price_net": 100.0,
      "unit_price_gross": 123.0,
      "line_total_net": 700.0,
      "line_total_gross": 861.0,
      "deposit": 500.0
    }
  ],
  "add_ons": [
    {
      "id": "019e4a0e-3c3e-78d7-89dc-8a3b63bade89",
      "billing_unit": "day",
      "billing_units_count": 7,
      "unit_price_net": 100.0,
      "unit_price_gross": 123.0,
      "line_total_net": 700.0,
      "line_total_gross": 861.0,
      "pricing_available": true
    }
  ],
  "billing": {
    "unit": "day",
    "units_count": 7
  },
  "rental_total_net": 700.0,
  "rental_total_gross": 861.0,
  "return_fee_net": 100.0,
  "return_fee_gross": 123.0,
  "deposit_total": 500.0,
  "grand_total_net": 800.0,
  "grand_total_gross": 984.0
}
POST /reservations/{reservation_id}/payments.json

Tworzenie płatności do rezerwacji

Pozwala na stworzenie nowej płatności do rezerwacji

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
amount number body Tak Kwota płatności
payment_category string body Tak Kategoria płatności, dozwolone wartości to payment, deposit oraz refund
payment_type string body Tak Typ płatności, dozwolone wartości to cash, bank_transfer, card , online oraz other
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/reservations/{reservation_id}/payments.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "amount": 100,
          "payment_category": "payment",
          "payment_type": "cash",
          "status": "completed",
          "paid_at": "2026-07-01 10:20",
          "reference_number": "REF-001",
          "notes": "Notatka"
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019f52b3-65e7-7139-a5b5-49f2fee40abd",
  "amount": "100.0",
  "currency": "PLN",
  "payment_type": "cash",
  "payment_category": "payment",
  "payment_provider": "none",
  "status": "completed",
  "reference_number": "REF-001",
  "notes": "Notatka",
  "paid_at": "2026-07-01 10:20",
  "created_at": "2026-07-11 21:41",
  "updated_at": "2026-07-11 21:41"
}
PATCH /reservations/{reservation_id}.json

Edycja rezerwacji

Pozwala na edycję istniejącej rezerwacji w ramach Twojego konta W przypadku sukcesu zwraca pełne dane utworzonej rezerwacji. Przy błędach walidacji zwraca listę błędów.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
status_id string body Tak Identyfikator statusu
starts_at string body Tak Data i godzina rozpoczęcia (YYYY-MM-DD HH:MM)
ends_at string body Nie Data i godzina zakończenia (YYYY-MM-DD HH:MM)
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/reservations/019e6a47-be88-7864-ac31-6686ba3ee19e.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "starts_at": "2026-06-01 10:00",
          "ends_at": "2026-06-02 10:00",
          "client_company": false,
          "client_first_name": "Jan",
          "client_last_name": "Kowalski",
          "client_street": "Topolowa 11",
          "client_city": "Kraków",
          "client_postal_code": "30-001",
          "client_country": "PL",
          "client_email": "jan@test.pl",
          "reservation_items_attributes": [
            {
              "id": "019e6a4e-ce38-7db4-be03-3e3beaf8b699",
              "_destroy": true
            },
            {
              "item_id": "019e4a0e-3c53-7f94-9bc4-a3e52a190fc6",
              "unit_price_net": 100
            }
          ]
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019e6a47-be88-7864-ac31-6686ba3ee19e",
  "number": "REZ-2026-05-0005",
  "total_price_gross": "123.0",
  "total_price_net": "100.0",
  "deposit": "0.0",
  "tax_rate": "23.0",
  "pickup_location": "",
  "return_location": "",
  "notes": null,
  "internal_notes": null,
  "starts_at": "2026-06-01 10:00",
  "ends_at": "2026-06-02 10:00",
  "created_at": "2026-05-27 18:32",
  "updated_at": "2026-05-27 18:40",
  "status": {
    "id": "019e4a0e-3c74-7caa-8537-e926bbb45998",
    "name": "Nowa",
    "color": "#3B82F6",
    "blocking": false
  },
  "client": {
    "id": "019e6a38-b6f1-76a0-be1c-13bdb4baebe8",
    "first_name": "Jan",
    "last_name": "Kowalski",
    "email": "jan@test.pl",
    "phone": null,
    "company_name": null,
    "company": false,
    "nip": null,
    "street": "Topolowa 11",
    "city": "Kraków",
    "postal_code": "30-001",
    "country": "PL"
  },
  "pickup_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "return_department": {
    "id": "019e4a0e-3c4a-7aeb-8c59-e24fa0fc415c",
    "name": "Kraków"
  },
  "reservation_items": [
    {
      "id": "019e6a4f-51be-7aaa-b9a0-976538725972",
      "quantity": 1,
      "unit_price_gross": "123.0",
      "unit_price_net": "100.0",
      "total_price_gross": "123.0",
      "total_price_net": "100.0",
      "tax_rate": "23.0",
      "discount_kind": null,
      "discount_percent": "0.0",
      "item": {
        "id": "019e4a0e-3c53-7f94-9bc4-a3e52a190fc6",
        "name": "Volkswagen Tiguan"
      }
    }
  ],
  "payments": []
}
PATCH /reservations/{reservation_id}/payments/{payment_id}.json

Edycja płatności do rezerwacji

Pozwala na edycję istniejącej płatności do rezerwacji

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
payment_id string path Tak Identyfikator płatności
amount number body Nie Kwota płatności
payment_category string body Nie Kategoria płatności, dozwolone wartości to payment, deposit oraz refund
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/reservations/019e89dd-f775-7229-8ac6-fe9ded537508/payments/019f52b3-65e7-7139-a5b5-49f2fee40abd.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "amount": 100,
          "payment_category": "payment",
          "payment_type": "cash",
          "status": "completed",
          "paid_at": "2026-07-01 10:20",
          "reference_number": "REF-001",
          "notes": "Notatka"
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019f52b3-65e7-7139-a5b5-49f2fee40abd",
  "amount": "100.0",
  "currency": "PLN",
  "payment_type": "cash",
  "payment_category": "payment",
  "payment_provider": "none",
  "status": "completed",
  "reference_number": "REF-001",
  "notes": "Notatka",
  "paid_at": "2026-07-01 10:20",
  "created_at": "2026-07-11 21:41",
  "updated_at": "2026-07-11 21:41"
}
DELETE /reservations/{reservation_id}.json

Usuwanie rezerwacji

Pozwala na usuwanie istniejącej rezerwacji z systemu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/reservations/019e6a47-be88-7864-ac31-6686ba3ee19e.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 204 No Content
No Content
DELETE /reservations/{reservation_id}/payments/{payment_id}.json

Usuwanie płatności do rezerwacji

Pozwala na usuwanie istniejącej platności do rezerwacji z systemu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
reservation_id string path Tak Identyfikator rezerwacji
payment_id string path Tak Identyfikator płatności
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/reservations/019e89dd-f775-7229-8ac6-fe9ded537508/payments/019f52b3-65e7-7139-a5b5-49f2fee40abd.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "amount": 100,
          "payment_category": "payment",
          "payment_type": "cash",
          "status": "completed",
          "paid_at": "2026-07-01 10:20",
          "reference_number": "REF-001",
          "notes": "Notatka"
        }'
Przykład odpowiedzi 204 No Content
No Content
GET /coupons.json

Lista kodów rabatowych

Pozwala na pobranie paginowanej listy kodów rabatowych przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po kodzie lub nazwie.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer body Nie Numer strony
query string body Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/coupons.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "coupons": [
    {
      "id": "019e879c-9fac-75d8-8ad8-d8f0c27605bf",
      "code": "2GQAZBEM",
      "name": "Wiosna 2020",
      "discount_type": "amount",
      "discount_value": "250.0",
      "applies_to": "items_and_add_ons",
      "amount_taxation": "net",
      "valid_from": null,
      "valid_until": null,
      "max_uses": null,
      "usage_count": 0,
      "min_order_value": null,
      "active": true,
      "created_at": "2026-06-02T11:14:09+02:00",
      "updated_at": "2026-06-02T14:06:15+02:00"
    }
  ],
  "pagination": {
    "page": 1,
    "pages": 1,
    "count": 1
  }
}
GET /coupons/{coupon_id}.json

Szczegóły kodu rabatowego

Pozwala na pobranie szczegółowych danych pojedynczego kodu rabatowego na podstawie jego identyfikatora.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
coupon_id string path Tak Identyfikator kuponu
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/coupons/019e879c-9fac-75d8-8ad8-d8f0c27605bf.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "id": "019e879c-9fac-75d8-8ad8-d8f0c27605bf",
  "code": "2GQAZBEM",
  "name": "Wiosna 2020",
  "discount_type": "amount",
  "discount_value": "250.0",
  "applies_to": "items_and_add_ons",
  "amount_taxation": "net",
  "valid_from": null,
  "valid_until": null,
  "max_uses": null,
  "usage_count": 0,
  "min_order_value": null,
  "active": true,
  "created_at": "2026-06-02T11:14:09+02:00",
  "updated_at": "2026-06-02T14:06:15+02:00"
}
POST /coupons.json

Tworzenie kodu rabatowego

Pozwala na stworzenie nowego kuponu w systemie

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
code string body Tak Kod rabatowy
name string body Tak Nazwa kodu rabatowego
discount_type string body Tak Typ kodu rabatowego – dozwolone wartości to percentage oraz amount
discount_value string body Tak Wartość rabatu (procent lub kwota)
Przykład żądania
curl -X POST --location "https://PREFIX.sprzeciarz.pl/coupons.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "code": "SPRING2026",
          "name": "Kod wiosenny 2026",
          "discount_type": "percentage",
          "discount_value": 20,
          "active": true
        }'
Przykład odpowiedzi 201 Created
{
  "id": "019e8910-a8b7-7db4-8583-bd8968278ebe",
  "code": "SPRING2026",
  "name": "Kod wiosenny 2026",
  "discount_type": "percentage",
  "discount_value": "20.0",
  "applies_to": "items_and_add_ons",
  "amount_taxation": "gross",
  "valid_from": null,
  "valid_until": null,
  "max_uses": null,
  "usage_count": 0,
  "min_order_value": null,
  "active": true,
  "created_at": "2026-06-02T18:00:30+02:00",
  "updated_at": "2026-06-02T18:00:30+02:00"
}
PATCH /coupons/{coupon_id}.json

Edycja kodu rabatowego

Pozwala na edycję istniejącego kuponu w systemie

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
coupon_id string path Tak Identyfikator kuponu
code string body Nie Kod rabatowy
name string body Nie Nazwa kodu rabatowego
discount_type string body Nie Typ kodu rabatowego – dozwolone wartości to percentage oraz amount
Przykład żądania
curl -X PATCH --location "https://PREFIX.sprzeciarz.pl/coupons/019e8910-a8b7-7db4-8583-bd8968278ebe.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
          "name": "Wiosenny kupon 2026",
          "discount_type": "percentage",
          "discount_value": 25
        }'
Przykład odpowiedzi 200 OK
{
  "id": "019e8910-a8b7-7db4-8583-bd8968278ebe",
  "code": "SPRING2026",
  "name": "Wiosenny kupon 2026",
  "discount_type": "percentage",
  "discount_value": "25.0",
  "applies_to": "items_and_add_ons",
  "amount_taxation": "gross",
  "valid_from": null,
  "valid_until": null,
  "max_uses": null,
  "usage_count": 0,
  "min_order_value": null,
  "active": true,
  "created_at": "2026-06-02T18:00:30+02:00",
  "updated_at": "2026-06-02T18:08:02+02:00"
}
DELETE /coupons/{coupon_id}.json

Usuwanie kodu rabatowego

Pozwala na usunięcie kodu rabatowego z systemu

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
coupon_id string path Tak Identyfikator kodu rabatowego
Przykład żądania
curl -X DELETE --location "https://PREFIX.sprzeciarz.pl/coupons/019e8910-a8b7-7db4-8583-bd8968278ebe.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 204 No Content
No Content

Zgody w systemie SprzęciarzOS

Zadbaj o zgodność z RODO bez stresu. W każdym pakiecie możesz definiować własne treści zgód i przypisywać je do klientów – system zapisuje zarówno ich treść, jak i dokładny czas akceptacji. Podczas audytu masz pełną historię zgód pod ręką.

GET /consents.json

Lista definicji zgód

Pozwala na pobranie paginowanej listy zgód przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nazwie oraz treści zgody.

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
page integer query Nie Numer strony
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/consents.json" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
[
  {
    "id": "019e780e-c3c1-7f00-ba7f-1b808e0cfb96",
    "name": "Zgoda na przetwarzanie danych",
    "key": "zgoda_na_przetwarzanie_danych",
    "description": "Wyrażam zgodę na przetwarzanie moich danych osobowych.",
    "consent_type": "other",
    "required": true,
    "active": true,
    "position": 0,
    "version": 2,
    "created_at": "2026-05-30T10:44:54.079+02:00",
    "updated_at": "2026-05-30T10:48:23.423+02:00"
  }
]
GET /custom_field_definitions.json

Lista pól niestandardowych

Pozwala na pobranie paginowanej listy pól niestandardowych przypisanych do Twojego konta. Obsługuje wyszukiwanie pełnotekstowe po nazwie

Parametry

Nazwa Typ Lokalizacja Wymagany Opis
entity_type string query Nie Identyfikator typu – domyślnie Client. Dozwolone wartości to Client, Item, Protocol, ProtocolType oraz Offer
query string query Nie Fraza wyszukiwania
Przykład żądania
curl -X GET --location "https://PREFIX.sprzeciarz.pl/custom_field_definitions.json?entity_type=Client" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json"
Przykład odpowiedzi 200 OK
{
  "data": [
    {
      "id": "019e4a0e-3c46-7406-988c-dea11f5545ae",
      "entity_type": "Client",
      "field_key": "nr_dowodu",
      "field_label": "Nr dowodu",
      "field_type": "text",
      "position": 0,
      "required": false,
      "active": true,
      "scope": null,
      "field_options": {
        "max": "",
        "min": "",
        "choices": [],
        "pattern": ""
      },
      "related_field_id": null,
      "related_field_restriction": null,
      "created_at": "2026-04-28 11:41",
      "updated_at": "2026-04-28 11:41"
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 25
  }
}

Masz pytania?

Skontaktuj się z nami - chętnie odpowiemy!