---
title: "Prace administracyjne — API v1 i MCP | Dokumentacja Nodea"
description: "Reference modułu Prace administracyjne: endpointy REST API v1 (projekty, wpisy, podsumowanie miesiąca), zakres account:read, uprawnienie konta products, narzędzia MCP work-log-summary i work-log-entries."
url: "https://nodea.pl/pl/dokumentacja-api/work-log"
lang: "pl"
updated: "2026-10-14"
---

# Prace administracyjne — API v1 i MCP | Dokumentacja Nodea

> Reference modułu Prace administracyjne — czas pracy administratorów Nodea na Twoim koncie: endpointy API v1 tylko do odczytu (projekty miesięczne, wpisy, podsumowanie względem pakietu godzin), zakres account:read, narzędzia MCP i przykłady.

Moduł **Prace administracyjne** pokazuje czas, który administratorzy Nodea przepracowali na Twoim koncie w ramach usług *Administracja* i *Programowanie*: wpisy dzień po dniu (data, przedział godzin, zakres prac, administrator, czas rozliczony, rodzaj — standardowe albo awaria) oraz miesięczne podsumowanie względem pakietu godzin usług. Ten sam widok jest w panelu pod /app/work-log. Dokument opisuje warstwę REST API v1 (/api/v1/work-log/\*) oraz narzędzia MCP tego modułu. Moduł jest tylko do odczytu i nie zawiera kwot.

## Uwierzytelnianie i zakresy (scopes)

API v1 uwierzytelnia się tokenem osobistym Passport przez nagłówek Authorization: Bearer \<token\>.

- account:read — wszystkie endpointy i narzędzia modułu.

Limit zapytań: throttle:api-v1 = 240/min na użytkownika tokenu. W MCP każde narzędzie wymaga dodatkowo zakresu transportowego mcp:use.

**Dostępność:** moduł jest udostępniany klientom stopniowo. Dopóki nie jest włączony dla klientów, endpointy zwracają 404, a narzędzia MCP — błąd „The work log is not available for this account yet.”.

## Konto klienta i widoczność

Dane należą do **konta klienta** (patrz [Konta klientów](https://nodea.pl/pl/dokumentacja-api/accounts)). Żądanie działa w bieżącym koncie (przypięcie tokenu → nagłówek X-Account-Id → konto domyślne). Obok scope'a tokenu wymagane jest uprawnienie konta products. API zwraca wyłącznie wpisy widoczne dla klienta — wpisy, które administrator oznaczył jako wewnętrzne, nie są zwracane i nie wliczają się do sum. Okres to miesiąc kalendarzowy w strefie Europe/Warsaw w formacie YYYY-MM; czasy zwracane są w UTC (ISO 8601 z Z).

## API v1 — endpointy

MetodaŚcieżkaScopeOpisGET/api/v1/work-log/projectsaccount:readProjekty miesięczne (konto × rodzaj usługi × miesiąc), od najnowszego. Parametry: period (YYYY-MM), category (administration|programming|other), per\_page (1–100, domyślnie 20), page. Tylko projekty z co najmniej jednym widocznym wpisem. GET/api/v1/work-log/entriesaccount:readWpisy jednego miesiąca chronologicznie. Parametry: period (YYYY-MM, domyślnie bieżący miesiąc), category, per\_page (1–200, domyślnie 50), page. GET/api/v1/work-log/summaryaccount:readPodsumowanie miesiąca per rodzaj usługi: liczba wpisów, czas rozliczony, wykorzystane godziny względem pakietu i nadwyżka. Parametr: period (domyślnie bieżący miesiąc).

### Odpowiedź — WorkProjectResource

- id, period (YYYY-MM), category, title, status (open|closed — zamknięty miesiąc nie przyjmuje już zmian), closed\_at (nullable), service\_id (nullable).
- entries\_count, billed\_seconds, billed\_hours — sumy widocznych wpisów.

### Odpowiedź — WorkEntryResource

- id, project\_id, period, category.
- task\_label (zakres prac), description (nullable), kind (regular|incident).
- started\_at, ended\_at (ISO 8601 UTC), billed\_seconds, billed\_hours — czas rozliczony (po zaokrągleniach; wpisy awaryjne mogą mieć mnożnik).
- staff\_name — administrator, który wykonał prace (nullable).

Lista wpisów zwraca obok data pole period oraz standardowe links i meta paginacji.

### Odpowiedź — summary

{ "data": { "period": "2026-09", "categories": \[{ "category": "administration", "category\_label": "Administracja", "entries\_count": 12, "billed\_seconds": 37800, "billable\_seconds": 37800, "used\_hours": 10.5, "included\_hours": 8, "overage\_hours": 2.5, "closed": false, "services": \[{ "id": 42, "name": "Administracja Linux", "included\_hours": 8 }\] }\] } }

included\_hours = null oznacza, że usługi nie mają określonego pakietu (wtedy także overage\_hours = null) — to nie to samo co pakiet 0 h.

### Kody błędów

- 401 — brak/niepoprawny token.
- 403 — brak scope'a account:read, brak kontekstu konta (no\_account\_context) albo brak uprawnienia products (account\_permission\_denied).
- 404 — moduł nie jest jeszcze dostępny dla klientów.
- 422 — niepoprawny period, category lub parametry paginacji.

## Przykłady — API

curl -s "https://app.nodea.io/api/v1/work-log/summary?period=2026-09" \\ -H "Authorization: Bearer $NODEA\_TOKEN" \\ -H "Accept: application/json" curl -s "https://app.nodea.io/api/v1/work-log/entries?period=2026-09&per\_page=100" \\ -H "Authorization: Bearer $NODEA\_TOKEN" \\ -H "Accept: application/json"

## MCP — narzędzia

NarzędzieScopeArgumentyOpiswork-log-summaryaccount:readperiod?Podsumowanie miesiąca — ten sam kształt co GET /api/v1/work-log/summary. work-log-entriesaccount:readperiod?, category?, page, per\_page (≤100)Wpisy miesiąca — pola jak WorkEntryResource, plus period i meta paginacji.

Oba narzędzia są oznaczone jako read-only i idempotentne. Przykład wywołania JSON-RPC:

{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"work-log-summary","arguments":{"period":"2026-09"}}}

Wpisy trafiają do Nodea z systemu ewidencji czasu przez [API integracyjne](https://nodea.pl/pl/dokumentacja-api/integration-api); ten moduł ich nie modyfikuje.

## Powiązane

- [Konta klientów — API v1 i MCP | Dokumentacja Nodea](https://nodea.pl/pl/dokumentacja-api/accounts)
- [Rozliczenia (billing) — API v1 i MCP | Dokumentacja Nodea](https://nodea.pl/pl/dokumentacja-api/billing)
- [API integracyjne (mTLS) | Dokumentacja Nodea](https://nodea.pl/pl/dokumentacja-api/integration-api)

---

Wersje językowe: [en](https://nodea.io/en/api-docs/work-log.md)  
Spis treści witryny: [llms.txt](https://nodea.pl/pl/llms.txt)
