Przewodniki Company Monitor Company Search Cennik API Reference Changelog Statystyki
Dokumentacja poglądowa Rejestracja i dostęp do API są obecnie wyłączone — dokumentacja ma charakter poglądowy. Pełny dostęp udostępnimy wkrótce.

Company Data API

https://api.entiway.com · Uwierzytelnianie tokenem Bearer · jeden wallet · płatność za wywołanie. · Zobacz cennik →

Przegląd i uwierzytelnianie

Każde żądanie uwierzytelniasz tokenem Bearer — nie ma anonimowych wywołań danych. Master Token (sk_live_) ma pełny dostęp, łącznie z zarządzaniem tokenami; tokeny API o zawężonym zakresie (sk_api_) sięgają wyłącznie endpointów danych. Operacje na koncie, tokenach i wallecie są bezpłatne; operacje na danych odejmują kredyty z walleta.

Master Token sk_live_…

Pełny dostęp — zarządzanie tokenami, walletem i wszystkimi danymi. Pokazywany raz, przy inicjalizacji.

Token API sk_api_…

Zawężony do endpointów danych. Tworzony z Master Tokena. Pokazywany raz.

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"
}

Uwierzytelnianie

Dwuetapowa konfiguracja konta. Zarejestruj się podając email, nazwę i hasło — 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 free

Rejestracja

Tworzy nowe konto. 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.

Ograniczenia adresów email
Tymczasowe adresy email od znanych dostawców jednorazowych skrzynek oraz znanych globalnych providerów email są zablokowane i zostaną odrzucone błędem 422. Użyj stałego adresu firmowego lub prywatnego.
Body Parameters
NameTypeDescription
email* string Twój adres email. Musi być stałym adresem — tymczasowe i jednorazowe skrzynki są zablokowane.
name* string Nazwa lub etykieta konta — używana wyłącznie do celów identyfikacyjnych. 3–255 znaków.
password* string Hasło do konta. Min. 8 znaków.
password_confirmation* string Musi być identyczne z polem password.
Request
POST /api/v1/auth/register

curl -X POST https://api.entiway.com/api/v1/auth/register \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "email":                 "you@example.com",
    "name":                  "my-integration",
    "password":             "YourPassword123",
    "password_confirmation": "YourPassword123"
  }'
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 free

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. Ten endpoint jest mocno ograniczony throttlingiem.

⚠ 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.entiway.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 free

Odzyskiwanie konta

Inicjuje odzyskiwanie konta. Podaj swój zarejestrowany adres email oraz nowe hasło które chcesz ustawić. Jeśli konto istnieje, na adres email zostanie wysłany link odzyskiwania ważny przez 24 godziny. Po kliknięciu linku 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.
password* string Nowe hasło do ustawienia dla konta. Min. 8 znaków.
Request
POST /api/v1/auth/recover

curl -X POST https://api.entiway.com/api/v1/auth/recover \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "email":    "you@example.com",
    "password": "YourPassword123"
  }'
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 free

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

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.entiway.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} free

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.entiway.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} free

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.entiway.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} free

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

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

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

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

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.entiway.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.entiway.com/checkout-pay?_ptxn=txn_01kkxrrc...",
    "package":      "pack_10k",
    "credits":      10000
  }
}
GET /api/v1/wallet/transactions free

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

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 5 credits

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.entiway.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"
  }
}

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 free

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

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

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.entiway.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 2 credits

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.entiway.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 10 credits

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.entiway.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"
  }
}
PATCH /api/v1/watchlist/alerts free

Ustawienia alertów

Konfiguruje preferencje alertów dla company monitor. Określa które eventy wyzwalają powiadomienia, minimalny próg ważności i kanał powiadomień. Ustawienia można stosować globalnie — dla wszystkich monitorowanych firm — lub per firma z użyciem jej identyfikatora. Ustawienia per firma mają pierwszeństwo nad globalnymi.

Modes
ModeDescription
Global Pomiń identifier_type i identifier_value — dotyczy wszystkich firm bez indywidualnych ustawień.
Global + force Przekaż force: true aby nadpisać również indywidualne ustawienia. Resetuje też has_custom_settings do false dla wszystkich wpisów.
Per company Przekaż identifier_type i identifier_value aby celować w konkretną firmę. Ustawia has_custom_settings: true dla tego wpisu.
Body Parameters
NameTypeDescription
alert_min_severity* enum Wymagany. Minimalny poziom ważności eventu który wyzwala alert. Eventy poniżej tego progu są ignorowane. Dostępne wartości: info, notice, warning, high, error, critical.
alerts_enabled boolean Włącz lub wyłącz alerty. Gdy pole zostanie pominięte, aktualna wartość jest zachowana. Powiadomienia są domyślnie wyłączone — musisz explicite przekazać true żeby je aktywować.
notify_via_email boolean Włącz powiadomienia email. Domyślnie wyłączone — przekaż true aby otrzymywać alerty emailem.
alert_event_classes array Filtruj alerty po klasie eventu. Gdy ustawione, tylko eventy pasujące do tych klas wyzwalają powiadomienie. Dostępne wartości: initialization, change, growth, risk, anomaly, recovery. Pomiń aby otrzymywać wszystkie klasy.
alert_categories array Filtruj alerty po kategorii danych. Dostępne wartości: status, identity, location, ownership, activities, contacts, web_presence, finance. Pomiń aby otrzymywać wszystkie kategorie.
force boolean Gdy true, nadpisuje ustawienia per firma i resetuje has_custom_settings do false dla wszystkich wpisów. Użyj do wymuszenia jednolitej konfiguracji globalnej. Ignorowane w trybie per firma.
identifier_type enum Typ identyfikatora przy targetowaniu per firma: NIP, REGON9, KRS. Wymagany razem z identifier_value.
identifier_value string Wartość identyfikatora docelowej firmy. Wymagana razem z identifier_type. Maks. 50 znaków.
Request — global
PATCH /api/v1/watchlist/alerts

curl -X PATCH "https://api.entiway.com/api/v1/watchlist/alerts" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_min_severity": "warning",
    "alerts_enabled":     true,
    "notify_via_email":   true
  }'
Request — per company
PATCH /api/v1/watchlist/alerts

curl -X PATCH "https://api.entiway.com/api/v1/watchlist/alerts" \
  -H "Authorization: Bearer sk_api_xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_min_severity":  "high",
    "alerts_enabled":      true,
    "notify_via_email":    true,
    "alert_event_classes": ["risk", "anomaly"],
    "identifier_type":     "NIP",
    "identifier_value":    "6842685591"
  }'
Response · 200 OK
{
  "success": true,
  "data": {
    "updated": 14
  }
}
Response · 404 — per company only
{
  "success": false,
  "message": "Company not found on your watchlist."
}
Statystyki
Globalne statystyki rejestru pochodzące z GUS — dzienne snapshoty, agregaty dla zakresów dat oraz pełny publiczny read-model analityki. Uwierzytelnianie nie jest wymagane; limity zapytań ustawiane są per endpoint (10–60 zapytań na minutę).
GET /api/v1/stats/range/{date} no auth · 10/min

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.entiway.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} no auth · 10/min

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.entiway.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
  }
}
GET /api/v1/analytics/public no auth · 60/min

Aktywność rejestru — Statystyki publiczne

Zagregowana aktywność rejestru w pełnej taksonomii eventów — 41 typów zmian w 8 kategoriach, z klasą i ważnością, wykrywanych codziennie z całego rejestru. Odpowiedź zawiera cztery bloki: sumy summary, serię dzienną pulse, trend miesięczny trend oraz rozbicie structure (po kategorii / klasie / severity / typie, każde z sumą kroczącą 30 dni i all-time). Cache odświeżany po każdym dziennym przebiegu pipeline — pola meta.updated_at i meta.data_through mówią, jak świeże są dane.

PL
Query Parameters
NameTypeDescription
country string Kod kraju ISO-3166-1 alpha-2. Obecnie dostępne tylko PL; domyślnie PL.
Request
GET /api/v1/analytics/public?country=PL

curl "https://api.entiway.com/api/v1/analytics/public?country=PL" \
  -H "Accept: application/json"
Response · 200 OK
{
  "meta": {
    "country":      "PL",
    "data_through": "2026-06-24",
    "updated_at":   "2026-06-25 17:25:04",
    "windows": { "pulse_days": 90, "trend_months": 24, "structure_days": 30 }
  },
  "summary": {
    "events_total":       368823,
    "identities_total":   4105082,
    "events_yesterday":   2087,
    "event_types_active": 41,
    "categories_active":  8
  },
  "pulse": {
    "daily": [ { "date": "2026-06-24", "total": 2087 } ]
  },
  "trend": {
    "monthly": [ { "month": "2026-06", "total": 51230 } ]
  },
  "structure": {
    "by_category": [ { "code": "status", "total_30d": 18234, "total_all": 94062 } ],
    "by_class":    [ { "code": "change", "total_30d": 47161, "total_all": 143350 } ],
    "by_severity": [ { "code": "critical", "total_30d": 9123, "total_all": 38420 } ],
    "by_type": [
      {
        "code":        "COMPANY_ACTIVITIES_ADDED",
        "name":        "Dodanie PKD",
        "category":    "activities",
        "event_class": "growth",
        "severity":    "notice",
        "total_30d":   25522,
        "total_all":   74363,
        "spark":       [ 820, 910, 1024 ]
      }
    ]
  }
}