O mnie Praca Zasady Cennik Przewodniki Produkty API Reference

Uwierzytelnianie

Dwuetapowa konfiguracja konta. Zarejestruj się podając email — otrzymasz jednorazowy token na skrzynkę. Wymień go na Master Token używając /auth/init. Master Token daje pełny dostęp do wszystkich endpointów i jest wyświetlany tylko raz — przechowaj go bezpiecznie od razu.

POST /api/v1/auth/register

Rejestracja

Tworzy nowe konto. Uwierzytelnianie jest bezhasłowe — żadne hasło nie jest wymagane ani przechowywane. Po rejestracji jednorazowy token inicjalizacyjny zostaje wysłany na podany adres email. Token wygasa po 24 godzinach — użyj go z /auth/init aby wygenerować Master Token. Zwrócony user_ref to Twój unikalny identyfikator konta — przydatny przy kontakcie z pomocą techniczną.

Body Parameters
NameTypeDescription
email* string Twój adres email. Używany do identyfikacji konta i otrzymania tokenu inicjalizacyjnego.
name* string Nazwa lub etykieta konta. Używana wyłącznie do celów identyfikacyjnych.
Request
POST /api/v1/auth/register

curl -X POST https://api.alexambros.com/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "email": "you@example.com",
    "name": "my-integration"
  }'
Response · 201 Created
{
  "user_ref":   "3XPT7SS5VG3B",
  "email":      "you@example.com",
  "message":    "Registration successful. Check your email to initialize your account.",
  "expires_at": "2026-03-18T10:48:59+00:00"
}
POST /api/v1/auth/init

Inicjalizacja konta

Wymienia jednorazowy token otrzymany emailem na Master Token. Master Token ma pełny dostęp do wszystkich endpointów i jest używany jako nagłówek Authorization: Bearer w każdym kolejnym zapytaniu. Musi być wywołany w ciągu 24 godzin od rejestracji.

⚠ Master Token jest zwracany tylko raz i nie można go odzyskać ponownie. Przechowaj go bezpiecznie od razu — jeśli go utracisz, użyj /auth/recover.

🎁 Każde nowe konto otrzymuje 100 kredytów bonusowych przy inicjalizacji — naliczane automatycznie do portfela, bez żadnych dodatkowych kroków.

Body Parameters
NameTypeDescription
token* string Jednorazowy token inicjalizacyjny otrzymany emailem po rejestracji.
Request
POST /api/v1/auth/init

curl -X POST https://api.alexambros.com/api/v1/auth/init \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "token": "6d6c675fcebf98fdbeed11055f98fada..."
  }'
Response · 200 OK
{
  "user_ref":      "3XPT7SS5VG3B",
  "email":         "you@example.com",
  "master_token":  "sk_live_5a4a9438c8b8d46836b2dd70bc95d0ee...",
  "token_ref":     "O752ABABBLBE",
  "message":       "Account initialized successfully. Save your Master Token securely - you will not see it again!"
}
POST /api/v1/auth/recover

Odzyskiwanie konta

Inicjuje odzyskiwanie konta. Wysyła email odzyskiwania na zarejestrowany adres. Email zawiera bezpieczny link ważny przez 24 godziny. Po kliknięciu linku zostaniesz przeprowadzony przez przeglądarkowy proces potwierdzenia — wszystkie istniejące tokeny są unieważniane a nowy Master Token jest generowany i wyświetlany raz.

⚠ Odzyskiwanie unieważnia wszystkie istniejące tokeny — wszystkie aktywne integracje przestaną działać natychmiast.

Body Parameters
NameTypeDescription
email* string Adres email powiązany z Twoim kontem.
Request
POST /api/v1/auth/recover

curl -X POST https://api.alexambros.com/api/v1/auth/recover \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "email": "you@example.com"
  }'
Response · 200 OK
{
  "message":    "If an account with this email exists, a recovery email has been sent.",
  "expires_at": "2026-03-27T09:15:20+00:00"
}
Response · 422 Unprocessable
{
  "message": "Recovery confirmation failed",
  "errors":  { "email": ["The email field is required."] }
}

Tokeny

Tokeny API (sk_api_*) to poświadczenia używane do uwierzytelniania wszystkich zapytań o dane. Tworzone są z Master Tokenu i mogą być niezależnie unieważniane lub rotowane. Token ma dostęp do wszystkich endpointów danych — Company Search, Company Monitor, Events, Wallet — ale nie może zarządzać innymi tokenami. Zarządzanie tokenami wymaga Master Tokenu (sk_live_*).

⚠ Podobnie jak Master Token, wartość plaintext nowego tokenu API jest wyświetlana tylko raz w momencie tworzenia. Przechowaj go natychmiast.

POST /api/v1/tokens

Utwórz token

Tworzy nowy token API. Wymaga Master Tokenu (sk_live_*) w nagłówku Authorization. Plaintext tokenu jest zwracany tylko raz — przechowaj go natychmiast. Opcjonalnie ustaw czas wygaśnięcia w dniach. Jeśli pominięty, token nigdy nie wygasa.

Body Parameters
NameTypeDescription
name* string Etykieta tokenu — tylko do Twojej informacji. 3–255 znaków.
expires_in_days integer Opcjonalnie. Czas życia tokenu w dniach. 1–365. Jeśli pominięty, token nigdy nie wygasa.
Request
POST /api/v1/tokens

curl -X POST https://api.alexambros.com/api/v1/tokens \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-integration",
    "expires_in_days": 90
  }'
Response · 201 Created
{
  "success": true,
  "data": {
    "token_ref":  "NAHZ4GW2C26H",
    "name":       "my-integration",
    "expires_at": "2026-06-24T11:10:57+00:00",
    "is_active":  true,
    "plaintext":  "sk_api_4b06f7ebafdd3b3cde52712e12de4a5d...",
    "warning":    "Save this token now - it will never be shown again!"
  },
  "meta": {
    "timestamp": "2026-03-24T11:10:57+00:00"
  }
}
GET /api/v1/tokens

Lista tokenów

Zwraca wszystkie tokeny powiązane z Twoim kontem. Plaintexty tokenów nigdy nie są tu zwracane — tylko metadane. Wymaga Master Tokenu.

Request
GET /api/v1/tokens

curl https://api.alexambros.com/api/v1/tokens \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success": true,
  "data": [
    {
      "token_ref":    "NAHZ4GW2C26H",
      "name":         "my-integration",
      "expires_at":   "2026-06-24T11:10:57+00:00",
      "last_used_at": "2026-03-27T12:18:29+00:00",
      "last_used_ip": "192.168.1.1",
      "usage_count":  1,
      "is_active":    true,
      "revoked_at":   null,
      "created_at":   "2026-03-27T11:51:21+00:00"
    }
  ],
  "meta": {
    "total":     1,
    "timestamp": "2026-03-29T10:16:33+00:00"
  }
}
GET /api/v1/tokens/{token_ref}

Pobierz token

Zwraca metadane konkretnego tokenu. token_ref jest zwracany przy tworzeniu i na liście tokenów. Wymaga Master Tokenu.

URL Parameters
NameTypeDescription
token_ref* string Identyfikator referencyjny tokenu zwrócony przy tworzeniu. Np. NAHZ4GW2C26H
Request
GET /api/v1/tokens/{token_ref}

curl https://api.alexambros.com/api/v1/tokens/{token_ref} \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success": true,
  "data": {
    "token_ref":    "NAHZ4GW2C26H",
    "name":         "my-integration",
    "expires_at":   "2026-06-24T11:10:57+00:00",
    "last_used_at": "2026-03-27T12:18:29+00:00",
    "last_used_ip": "192.168.1.1",
    "usage_count":  1,
    "is_active":    true,
    "revoked_at":   null,
    "created_at":   "2026-03-27T11:51:21+00:00"
  },
  "meta": {
    "timestamp": "2026-03-29T10:35:33+00:00"
  }
}
PUT /api/v1/tokens/{token_ref}

Zaktualizuj token

Aktualizuje etykietę istniejącego tokenu. Wymaga Master Tokenu.

Body Parameters
NameTypeDescription
name* string Nowa etykieta tokenu. 3–255 znaków.
Request
PUT /api/v1/tokens/{token_ref}

curl -X PUT https://api.alexambros.com/api/v1/tokens/{token_ref} \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Content-Type: application/json" \
  -d '{ "name": "production-name-change" }'
Response · 200 OK
{
  "success": true,
  "data": {
    "token_ref":    "NAHZ4GW2C26H",
    "name":         "production-name-change",
    "expires_at":   "2026-06-24T11:10:57+00:00",
    "last_used_at": null,
    "last_used_ip": null,
    "usage_count":  0,
    "is_active":    true,
    "revoked_at":   null,
    "created_at":   "2026-03-27T11:51:21+00:00"
  },
  "meta": {
    "timestamp": "2026-03-29T10:41:29+00:00"
  }
}
DELETE /api/v1/tokens/{token_ref}

Unieważnij token

Trwale unieważnia token. Token staje się natychmiast nieaktywny — każde zapytanie używające go zwróci 401 Unauthorized. Tej operacji nie można cofnąć. Wymaga Master Tokenu.

Request
DELETE /api/v1/tokens/{token_ref}

curl -X DELETE https://api.alexambros.com/api/v1/tokens/{token_ref} \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success":  true,
  "message":  "Token revoked successfully",
  "meta": {
    "revoked_at": "2026-03-29T10:44:55+00:00"
  }
}
POST /api/v1/tokens/verify

Zweryfikuj token

Sprawdza czy token w nagłówku Authorization jest ważny i aktywny. Przydatne do testowania integracji. Działa zarówno z Master Tokenem jak i tokenami API.

Request
POST /api/v1/tokens/verify

curl -X POST https://api.alexambros.com/api/v1/tokens/verify \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success": true,
  "data": {
    "valid":        true,
    "token_ref":    "NAHZ4GW2C26H",
    "token_name":   "my-integration",
    "user_ref":     "3XPT7SS5VG3B",
    "user_name":    "my-integration",
    "expires_at":   "2026-06-27T10:48:53+00:00",
    "is_active":    true,
    "last_used_at": null
  },
  "meta": {
    "timestamp": "2026-03-29T10:49:21+00:00"
  }
}
POST /api/v1/tokens/{token_ref}/rotate

Rotuj token

Unieważnia bieżący token i generuje nowy z identycznymi ustawieniami — ta sama nazwa, to samo okno wygaśnięcia od dziś. Użyj tego do rotacji poświadczeń bez ręcznej rekonfiguracji integracji. Wymaga Master Tokenu.

⚠ Nowy plaintext tokenu jest zwracany tylko raz. Przechowaj go natychmiast. Stary token jest unieważniany od razu.

Request
POST /api/v1/tokens/{token_ref}/rotate

curl -X POST https://api.alexambros.com/api/v1/tokens/{token_ref}/rotate \
  -H "Authorization: Bearer sk_live_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success": true,
  "data": {
    "old_token": {
      "token_ref":  "NAHZ4GW2C26H",
      "name":       "my-integration",
      "revoked_at": "2026-03-29T10:53:26+00:00",
      "is_active":  false
    },
    "new_token": {
      "token_ref":  "5BCSA3AZ7INF",
      "name":       "my-integration (rotated)",
      "expires_at": "2026-06-27T10:48:53+00:00",
      "is_active":  true,
      "plaintext":  "sk_api_xxxx...",
      "warning":    "Save this token now - it will never be shown again!"
    }
  },
  "meta": {
    "timestamp": "2026-03-29T10:53:26+00:00"
  }
}

Wallet

Rozliczenia kredytowe. Każda operacja API odejmuje kredyty z salda portfela. Doładuj portfel przez Paddle — API zwraca URL płatności który otwierasz w przeglądarce. Kredyty są dodawane automatycznie po potwierdzeniu płatności.

GET /api/v1/wallet

Pobierz stan portfela

Zwraca aktualne saldo kredytów i łączną liczbę zakupionych kredytów. Działa zarówno z Master Tokenem jak i tokenami API.

Request
GET /api/v1/wallet

curl https://api.alexambros.com/api/v1/wallet \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json"
Response · 200 OK
{
  "status": "success",
  "data": {
    "balance":         99845,
    "total_purchased": 100000
  }
}
POST /api/v1/wallet/topup

Doładuj

Inicjuje doładowanie portfela. Przekaż slug pakietu kredytów który chcesz zakupić. Odpowiedź zawiera checkout_url — otwórz go w przeglądarce aby dokończyć płatność przez Paddle. Kredyty są dodawane automatycznie po potwierdzeniu.

Body Parameters
NameTypeDescription
package_slug* string Identyfikator pakietu kredytów. Dostępne pakiety znajdziesz na stronie cennika.
Request
POST /api/v1/wallet/topup

curl -X POST https://api.alexambros.com/api/v1/wallet/topup \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{ "package_slug": "pack_10k" }'
Response · 200 OK
{
  "status": "success",
  "data": {
    "checkout_url": "https://api.alexambros.com/checkout-pay?_ptxn=txn_01kkxrrc...",
    "package":      "pack_10k",
    "credits":      10000
  }
}
GET /api/v1/wallet/transactions

Historia transakcji

Zwraca paginowaną listę transakcji portfela — zarówno doładowania jak i zużycie kredytów przez API. Każdy wpis zawiera opis operacji, kwotę i saldo po transakcji.

Query Parameters
NameTypeDescription
page integer Numer strony. Domyślnie: 1.
Request
GET /api/v1/wallet/transactions?page=1

curl "https://api.alexambros.com/api/v1/wallet/transactions?page=1" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "status": "success",
  "data": [
    {
      "type":          "deposit",
      "amount":        "10000.00",
      "balance_after": "10100.00",
      "description":   "Wallet top-up (Paddle)",
      "created_at":    "2026-03-30T08:40:05.000000Z"
    },
    {
      "type":          "start",
      "amount":        "100.00",
      "balance_after": "100.00",
      "description":   "Welcome bonus credits",
      "created_at":    "2026-03-30T06:55:25.000000Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page":    1,
    "per_page":     20,
    "total":        2,
    "next_page":    null,
    "prev_page":    null
  }
}

Company Monitor

Monitoruj firmy które mają dla Ciebie znaczenie. Dodaj podmioty do Company Monitor przez identyfikator — system sprawdza zmiany codziennie i generuje typowane eventy dla każdej wykrytej różnicy. Możesz dodać do 100 identyfikatorów w jednym zapytaniu. Dodawanie jest asynchroniczne — otrzymasz natychmiastowe potwierdzenie i powiadomienie emailem gdy podmioty będą gotowe do monitorowania.

POST /api/v1/companies/add

Dodaj do monitora

Zgłasza jedną lub więcej firm do company monitor. Akceptuje do 100 identyfikatorów na zapytanie. Zapytanie zwraca natychmiast Accepted for processing — podmioty są kolejkowane i przetwarzane asynchronicznie.

Jeśli podmiot już istnieje w bazie rejestru jest dodawany natychmiast. Jeśli nie — najpierw przechodzi przez pełny pipeline importu. W obu przypadkach otrzymasz potwierdzenie emailem gdy wszystkie zgłoszone podmioty będą dostępne na monitoringu i gotowe do odbierania eventów.

PL
FR In progress
Body Parameters
NameTypeDescription
identifier_type* enum Typ identyfikatora: NIP, REGON9, KRS
identifier_value* string[] Tablica wartości identyfikatorów. Maks. 100 pozycji na zapytanie.
Request
POST /api/v1/companies/add

curl -X POST https://api.alexambros.com/api/v1/companies/add \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "identifier_type":  "REGON9",
    "identifier_value": ["241150780", "290368057", "543478623"]
  }'
Response · 202 Accepted
{
  "success": true,
  "message": "Accepted for processing."
}
GET /api/v1/companies/watched

Lista monitorowanych firm

Zwraca paginowaną listę wszystkich firm na liście monitorowania. Każdy wpis zawiera główny identyfikator, nazwę firmy, datę dodania, datę ostatniego wykrytego eventu i łączną liczbę eventów. Ten endpoint jest bezpłatny — kredyty nie są odejmowane.

PL
FR In progress
Query Parameters
NameTypeDescription
page integer Numer strony. Domyślnie: 1.
Request
GET /api/v1/companies/watched

curl "https://api.alexambros.com/api/v1/companies/watched?page=1" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "success": true,
  "data": [
    {
      "primary_identifier": "241150780",
      "name":               "Aleksander Ambros",
      "watched_since":      "2026-03-24",
      "last_event_at":      null,
      "events_count":       0
    },
    {
      "primary_identifier": "790313678",
      "name":               "LIPIŃSKI MARCIN",
      "watched_since":      "2026-03-18",
      "last_event_at":      null,
      "events_count":       6
    }
  ],
  "meta": {
    "total":        38,
    "per_page":     20,
    "current_page": 1,
    "last_page":    2
  }
}
DELETE /api/v1/companies/watched

Usuń z Company Monitor

Usuwa jedną lub więcej firm z listy company monitor. Używa tego samego formatu identyfikatorów co /companies/add. Odpowiedź zawiera szczegóły które identyfikatory zostały usunięte, które nie zostały znalezione w rejestrze i które nie były na liście monitorowania. Codzienne monitorowanie zatrzymuje się natychmiast dla usuniętych podmiotów.

PL
FR In progress
Body Parameters
NameTypeDescription
name* enum Typ identyfikatora: NIP, REGON9, KRS
value* string[] Tablica wartości identyfikatorów do usunięcia.
Request
DELETE /api/v1/companies/watched

curl -X DELETE https://api.alexambros.com/api/v1/companies/watched \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "identifier_type":  "REGON9",
    "identifier_value": ["241150780"]
  }'
Response · 200 OK
{
  "success": true,
  "data": {
    "removed":     ["241150780"],
    "not_found":   [],
    "not_watched": []
  },
  "meta": {
    "total":       1,
    "removed":     1,
    "not_found":   0,
    "not_watched": 0,
    "removed_at":  "2026-03-24T15:18:25+00:00"
  }
}
GET /api/v1/companies/events

Eventy firmy

Zwraca pełną historię eventów dla konkretnej firmy identyfikowanej przez NIP, REGON9 lub KRS. W przeciwieństwie do /watchlist/events który zwraca feed dla całej listy monitorowania, ten endpoint skupia się na jednym podmiocie i zwraca wszystkie wykryte zmiany dla niego.

PL
FR In progress
Query Parameters
NameTypeDescription
identifier_type* enum Wymagany. Typ identyfikatora: NIP, REGON9, KRS
identifier_value* string Wartość identyfikatora firmy.
page integer Numer strony. Domyślnie: 1.
per_page integer Wyniki na stronę. Domyślnie: 20.
Request
GET /api/v1/companies/events

curl "https://api.alexambros.com/api/v1/companies/events?identifier_type=NIP&identifier_value=6842685591" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "status": "success",
  "data": {
    "events": [
      {
        "event_type": "COMPANY_NAME_CHANGED",
        "old_value":  "Ireneusz Kupiec",
        "new_value":  "Ireneusz Kupiec wspólnik spółki cywilnej RAZBUD S.C.",
        "event_date": "2025-10-06",
        "severity":   "info"
      },
      {
        "event_type": "COMPANY_CLOSED_DATE",
        "old_value":  null,
        "new_value":  "2026-02-28",
        "event_date": "2025-10-06",
        "severity":   "info"
      }
    ]
  },
  "meta": {
    "total":        8,
    "per_page":     20,
    "current_page": 1,
    "last_page":    1,
    "fetched_at":   "2026-03-24T15:20:44+00:00"
  }
}
GET /api/v1/watchlist/events

Feed eventów monitora

Zwraca paginowany feed wszystkich eventów wykrytych na całej liście company monitor. W przeciwieństwie do /companies/events który skupia się na jednym podmiocie, ten endpoint agreguje zmiany ze wszystkich monitorowanych firm. Filtruj według typu eventu, zakresu dat. Zwraca 20 eventów na stronę.

PL
FR In progress
Query Parameters
NameTypeDescription
event_type string Filtruj według typu eventu. Np. COMPANY_NAME_CHANGED.
from_date date Data początkowa. Format: Y-m-d.
to_date date Data końcowa. Format: Y-m-d.
page integer Numer strony. Domyślnie: 1.
per_page integer Wyniki na stronę. Domyślnie: 20.
Request
GET /api/v1/watchlist/events

curl "https://api.alexambros.com/api/v1/watchlist/events?from_date=2026-03-01&to_date=2026-03-24" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Accept: application/json"
Response · 200 OK
{
  "status": "success",
  "data": [
    {
      "primary_identifier": "543701794",
      "identifier_type":    "CAR-PRO MAX DETAILING",
      "event_type":         "COMPANY_START_DATE_CHANGE",
      "old_value":          "2026-02-25",
      "new_value":          "2026-03-02",
      "event_date":         "2026-03-02",
      "severity":           "info"
    }
  ],
  "meta": {
    "total":        170,
    "per_page":     20,
    "current_page": 1,
    "last_page":    9,
    "fetched_at":   "2026-03-24T15:55:25+00:00"
  }
}

Firmy

Wyszukiwanie i inspekcja firm z rejestru. Wyszukiwanie zwraca lekki zestaw wyników — identyfikatory, nazwę, lokalizację, główną działalność, status i kontakty. Snapshot zwraca pełny profil podmiotu zawierający wszystkie adresy, jednostki, działalności, daty i osoby.

POST /api/v1/companies/snapshot

Snapshot firmy

Zwraca pełny aktualny profil firmy na podstawie identyfikatora. Jeden podmiot może mieć wiele profili — np. osoba fizyczna zarejestrowana zarówno jako praktyka medyczna jak i inna działalność gospodarcza. Odpowiedź zawiera wszystkie identyfikatory, profile, adresy, jednostki lokalne, kody działalności, daty, kontakty, strony internetowe i osoby powiązane z podmiotem.

PL
Body Parameters
NameTypeDescription
identifier_type* enum Typ identyfikatora: NIP, REGON9, KRS
identifier_value* string Wartość identyfikatora. Maks. 50 znaków.
Request
POST /api/v1/companies/snapshot

curl -X POST https://api.alexambros.com/api/v1/companies/snapshot \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "identifier_type": "REGON9",
    "identifier_value": "021168364"
  }'
Response · 200 OK
{
  "status": "success",
  "data": {
    "identity": {
      "identifiers": [
        { "type": "NIP",    "value": "6121106077" },
        { "type": "REGON9", "value": "021168364"  }
      ],
      "company_type": "Osoba fizyczna",
      "country_code": "PL"
    },
    "profiles": [
      {
        "name":       "Indywidualna Specjalistyczna Praktyka Lekarska Elżbieta Cieśla",
        "status":     "Aktywny",
        "legal_form": "OSOBY FIZYCZNE PROWADZĄCE DZIAŁALNOŚĆ GOSPODARCZĄ",
        "address": {
          "street":      "ul. staroszkolna",
          "building":    "2a",
          "apartment":   "9",
          "city":        "Bolesławiec",
          "postal_code": "59-700",
          "voivodeship": "dolnośląskie",
          "country_code": "PL"
        },
        "units": [
          {
            "identifier": "02116836400027",
            "name":       "Indywidualna Praktyka Lekarska Elżbieta Cieśla",
            "address":   { /* same structure as above */ },
            "dates": [
              { "type": "Data powstania",             "date": "2013-09-19" },
              { "type": "Data zakończenia działalności", "date": "2015-08-21" }
            ]
          }
        ],
        "contacts":   [],
        "activities": [
          { "code": "8622Z", "name": "PRAKTYKA LEKARSKA SPECJALISTYCZNA", "is_primary": true }
        ],
        "dates": [
          { "type": "Data powstania",           "date": "2026-01-02" },
          { "type": "Data wpisu do regon",      "date": "2026-01-02" }
        ],
        "websites": []
      }
    ],
    "persons": [
      { "full_name": "ELŻBIETA DANUTA CIEŚLA", "role": "Właściciel" }
    ]
  },
  "meta": {
    "fetched_at": "2026-03-24T14:48:49+00:00"
  }
}
Statystyki
Globalne statystyki rejestru pochodzące z GUS — dzienne snapshoty i agregaty dla zakresów dat. Wszystkie endpointy w tej grupie są rate-limitowane do 10 zapytań na minutę. Uwierzytelnianie nie jest wymagane.
GET /api/v1/stats/range/{date}

Aktywność rejestru — Zakres

Zwraca zagregowaną aktywność rejestru 30 dni w stecz. Odpowiedź zawiera obiekt meta z rozwiązanym zakresem dat i źródłem danych.

PL
Path Parameters
NameTypeDescription
date required string Data końcowa w formacie YYYY-MM-DD. Zwraca wszystkie rekordy do tej daty.
Request
GET /api/v1/stats/range/2026-04-01

curl "https://api.alexambros.com/api/v1/stats/range/2026-04-01" \
  -H "Accept: application/json"
Response · 200 OK
{
  "meta": {
    "from_date":   "2026-04-01",
    "to_date":     "2026-04-08",
    "source":      "GUS",
    "description": "Registry activity in Poland for the given date range"
  },
  "data": {
    "new":     6941,
    "updated": 41571,
    "deleted": 5690,
    "total":   54202
  }
}
GET /api/v1/stats/day/{date}

Aktywność rejestru — Pojedynczy dzień

Zwraca dzienny snapshot dla konkretnej daty — ile firm zostało dodanych, zaktualizowanych lub usuniętych z rejestru w tym dniu. Pole meta.type będzie zawsze daily_snapshot.

PL
Path Parameters
NameTypeDescription
date required string Docelowa data w formacie YYYY-MM-DD.
Request
GET /api/v1/stats/day/2026-04-01

curl "https://api.alexambros.com/api/v1/stats/day/2026-04-01" \
  -H "Accept: application/json"
Response · 200 OK
{
  "meta": {
    "date":        "2026-04-01",
    "type":        "daily_snapshot",
    "source":      "GUS",
    "description": "Daily registry activity in Poland"
  },
  "data": {
    "new":     1507,
    "updated": 12665,
    "deleted": 2057,
    "total":   16229
  }
}
Błędy — Reference
Wszystkie błędy API zwracają JSON. W zależności od typu błędu struktura odpowiedzi nieznacznie się różni — sprawdź każdy kod statusu poniżej aby zobaczyć dokładny format.

401 — Brak autoryzacji

Zwracany gdy brakuje tokena lub nieprawidłowy.

Missing token
{
  "error": "Missing API token",
  "code":  "UNAUTHORIZED"
}
Malformed token
{
  "error": "Malformed token format",
  "code":  "UNAUTHORIZED"
}

404 — Nie znaleziono

Zwracany gdy route lub zasób nie istnieje.

Route not found
{
  "message": "The route api/v1/stats/day could not be found."
}

422 — Błąd walidacji

Zwracany gdy ciało zapytania nie przechodzi walidacji. Obiekt errors zawiera komunikaty na poziomie pól — zawsze sprawdzaj każdy klucz osobno.

Validation failed
{
  "message": "The email field must be a valid email address. (and 1 more error)",
  "errors": {
    "email": [
      "The email field must be a valid email address."
    ],
    "name": [
      "The name field is required."
    ]
  }
}

429 — Zbyt wiele zapytań

Zwracany gdy przekroczysz limit zapytań. Endpointy statystyk pozwalają na 10 zapytań na minutę, wszystkie inne 180 zapytań na minutę. Odczekaj chwilę i spróbuj ponownie.

Rate limit exceeded
{
  "message": "Too Many Attempts."
}

500 — Błąd serwera

Coś poszło nie tak po naszej stronie. Jeśli problem się powtarza, skontaktuj się z contact@alexambros.com.

Internal server error
{
  "message": "Server Error"
}