--- title: "Profil konta (`getLoggedUser`)" source: https://docs.senuto.com/modules/user/user-getLoggedUser api: GET /api/users/getLoggedUser --- # Profil konta (`getLoggedUser`) **`GET /api/users/getLoggedUser`** Zwraca **profil zalogowanego konta** — identyfikator, adres e-mail, język i walutę, aktualny plan wraz z datą wygaśnięcia oraz mapę dostępu do modułów (`access`). Przydatny na starcie integracji: pozwala jednym żądaniem ustalić, czym konto dysponuje, zanim wywołasz raporty — a zarazem jest najprostszym sprawdzeniem, czy token działa. --- ## Żądanie `GET` `/api/users/getLoggedUser` Nagłówki: `Authorization: Bearer `. Endpoint nie przyjmuje parametrów. **Żądanie** ```jsonc filename="żądanie.jsonc" {} ``` **cURL** ```bash curl --location --request GET 'https://api.senuto.com/api/users/getLoggedUser' \ --header 'Authorization: Bearer $YOUR_TOKEN_HERE' ``` ### Parametry Endpoint nie przyjmuje parametrów — działa w kontekście tokena z nagłówka `Authorization`. > **Ostrzeżenie:** > Odpowiedź zawiera **dane osobowe i rozliczeniowe konta** (adres e-mail, telefon, adres IP ostatniego logowania, identyfikatory planu). Traktuj ją jak dane wrażliwe — nie loguj całej odpowiedzi i nie przekazuj jej do systemów trzecich. > **Ostrzeżenie:** > Zestaw pól jest szerszy niż udokumentowany powyżej i **może się zmieniać** — czytaj po nazwach pól, nie po pozycji, i nie waliduj odpowiedzi zamkniętym schematem. ## Odpowiedź Przykład to **rzeczywista odpowiedź produkcyjna**, skrócona. ```json filename="przykładowa-odpowiedź" { "success": true, "data": { "id": 1234, "email": "user@example.com", "account_id": 1234, "parent_id": null, "country_id": 1, "lang": "pl-PL", "currency": "PLN", "status": 1, "plan_id": 49, "product_id": 49, "is_trial": false, "is_expired": false, "expiration": 1801909285, "sys_last_plan_length": "1y", "is_enterprise": false, "access": { "visibility_analysis_ranking": true, "serp_analysis": true } } } ``` ### Struktura odpowiedzi ```ts type GetLoggedUserResponse = { success: boolean; /** * Profil konta. Odpowiedź zawiera **cały rekord użytkownika** wraz z ustawieniami * i danymi rozliczeniowymi — poniżej pola przydatne przy integracji. Hasło nie jest * zwracane. Zestaw pól może się rozszerzać, więc nie zakładaj zamkniętej listy. */ data: { id: number; email: string; /** Konto nadrzędne (subkonta) — `null` dla konta głównego. */ parent_id: number | null; account_id: number; country_id: number; /** Język interfejsu, np. `pl-PL`. */ lang: string; currency: string; /** Status konta (1 = potwierdzone). */ status: number; plan_id: number | null; product_id: number | null; is_trial: boolean | null; is_expired: boolean; /** Znacznik czasu wygaśnięcia planu (Unix) albo `null`. */ expiration: number | null; /** Długość ostatniego planu, np. `12m`. */ sys_last_plan_length: string | null; is_enterprise: boolean; /** Mapa dostępu do modułów — klucz modułu → czy konto ma dostęp. */ access: Record; }; } export default GetLoggedUserResponse ``` ## Błędy Błędy tego endpointu przychodzą we [wspólnej kopercie ze statusem `418`](/types/errors). ## Powiązane akcje - [Limity zapytań](/rate-limits) — `GET /api/users/getLimits` zwraca stan wszystkich limitów konta.