> ## Documentation Index
> Fetch the complete documentation index at: https://api.zglosscammera.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Status usług

> Sprawdza na żywo bazy danych, usługi zewnętrzne i boty Discord. Wynik jest cache'owany przez 15 sekund. `ok: false` przy usłudze oznacza brak odpowiedzi w ciągu 6 sekund.

**Limit:** 30 zapytań na minutę z jednego adresu IP.



## OpenAPI

````yaml GET /api/status
openapi: 3.1.0
info:
  title: Zgłoś Scammera — publiczne API
  version: 1.0.0
  description: >-
    Publiczne API Zgłoś Scammera: listy oszustów, serwerów oszukujących i
    zaufanych osób, sprawdzanie osoby, status usług i status wpłat. Bez
    logowania i bez klucza API, z otwartym CORS.
  contact:
    name: Zgłoś Scammera — Discord
    url: https://discord.gg/zglososzusta
servers:
  - url: https://zglosscammera.pl
    description: Produkcja
security: []
tags:
  - name: Listy
    description: Listy oszustów, serwerów i zaufanych osób
  - name: Sprawdzanie
    description: Sprawdzanie osoby lub serwera na wszystkich listach
  - name: Status
    description: Status usług i wpłat
  - name: Discord
    description: Pomocnicze endpointy Discord
paths:
  /api/status:
    get:
      tags:
        - Status
      summary: Status usług
      description: >-
        Sprawdza na żywo bazy danych, usługi zewnętrzne i boty Discord. Wynik
        jest cache'owany przez 15 sekund. `ok: false` przy usłudze oznacza brak
        odpowiedzi w ciągu 6 sekund.


        **Limit:** 30 zapytań na minutę z jednego adresu IP.
      operationId: status
      responses:
        '200':
          description: Wynik sprawdzenia
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusReport'
              example:
                checks:
                  - id: database
                    ok: true
                    latencyMs: 66
                  - id: guardly
                    ok: true
                    latencyMs: 94
                  - id: discord
                    ok: true
                    latencyMs: 192
                  - id: litecoin
                    ok: true
                    latencyMs: 369
                bots:
                  - id: zsBot
                    ok: true
                    state: running
                    uptimeMs: 186488475
                    memoryBytes: 424013824
                    cpuPercent: 0.3
                  - id: guardlyPublic
                    ok: true
                    state: running
                    uptimeMs: 272107984
                    memoryBytes: 623288320
                    cpuPercent: 0.4
                  - id: guardlyAdmin
                    ok: true
                    state: running
                    uptimeMs: 634079586
                    memoryBytes: 140668928
                    cpuPercent: 0.2
                checkedAt: '2026-10-14T14:51:09.725Z'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    StatusReport:
      type: object
      required:
        - checks
        - bots
        - checkedAt
      properties:
        checks:
          type: array
          items:
            $ref: '#/components/schemas/ServiceCheck'
        bots:
          type: array
          items:
            $ref: '#/components/schemas/BotCheck'
          description: Status botów Discord
        checkedAt:
          type: string
          format: date-time
    ServiceCheck:
      type: object
      required:
        - id
        - ok
        - latencyMs
      properties:
        id:
          type: string
          enum:
            - database
            - guardly
            - discord
            - litecoin
          description: >-
            `database` — baza danych Zgłoś Scammera, `guardly` — baza danych
            Guardly, `discord` — Discord API, `litecoin` — sieć Litecoin
        ok:
          type: boolean
        latencyMs:
          type:
            - integer
            - 'null'
          description: Czas odpowiedzi w ms albo `null`, gdy usługa nie odpowiada
    BotCheck:
      type: object
      required:
        - id
        - ok
        - state
        - uptimeMs
        - memoryBytes
        - cpuPercent
      properties:
        id:
          type: string
          enum:
            - zsBot
            - guardlyPublic
            - guardlyAdmin
          description: >-
            `zsBot` — bot Zgłoś Scammera, `guardlyPublic` — publiczny bot
            Guardly, `guardlyAdmin` — Guardly Administration
        ok:
          type: boolean
          description: '`true`, gdy bot działa'
        state:
          type: string
          enum:
            - running
            - starting
            - stopping
            - offline
            - unknown
          description: Stan bota; `unknown` oznacza brak danych
        uptimeMs:
          type:
            - integer
            - 'null'
          description: Czas działania w milisekundach
        memoryBytes:
          type:
            - integer
            - 'null'
          description: Zużycie RAM w bajtach; `null`, gdy bot nie działa
        cpuPercent:
          type:
            - number
            - 'null'
          description: Zużycie CPU w procentach; `null`, gdy bot nie działa
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Opis błędu
  responses:
    TooManyRequests:
      description: Przekroczony limit zapytań
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
        RateLimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        RateLimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Za dużo zapytań. Spróbuj ponownie za 57 s.
  headers:
    RetryAfter:
      description: Po ilu sekundach ponowić zapytanie
      schema:
        type: integer
    RateLimitLimit:
      description: Limit zapytań w bieżącym oknie (1 min)
      schema:
        type: integer
    RateLimitRemaining:
      description: Pozostała liczba zapytań w oknie
      schema:
        type: integer
    RateLimitReset:
      description: Sekundy do odnowienia limitu
      schema:
        type: integer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.