> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.6mm.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.6mm.com/_mcp/server.

# Publiczne punkty końcowe

> Dostęp do publicznych 6MM API punktów końcowych dla instrumentów, tickerów, ksiąg zleceń, transakcji i innych nieuwierzytelnionych informacji rynkowych.

<h2 id="base-url">
  Bazowy URL
</h2>

```
https://api.6mm.com
```

<h2 id="service-version">
  Wersja serwisowa
</h2>

```http
GET /v1/version
```

Uzyskaj informacje o wersji usługi.

<h2 id="server-time">
  Czas na serwerze
</h2>

```http
GET /v1/time
```

Uzyskaj czas serwera. Ten endpoint może służyć do kalibracji czasu klienta przed API Key podpisaniem.

<h2 id="user-login">
  Logowanie użytkownika
</h2>

```http
POST /v1/public/user/login
```

Parametry żądania:

| Parametr     | Typ    | Wymagane | Opis                                  |
| ------------ | ------ | -------- | ------------------------------------- |
| `username`   | string | Tak      | Nazwa użytkownika, długość 3 - 32     |
| `password`   | string | Tak      | Hasło, długość 1 - 64                 |
| `deviceId`   | string | Nie      | Odcisk palca urządzenia, do 64 znaków |
| `deviceName` | string | Nie      | Nazwa urządzenia, do 128 znaków       |

Przykład prośby:

```bash
curl -X POST https://api.6mm.com/v1/public/user/login \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice",
    "password": "yourPassword",
    "deviceId": "device-001",
    "deviceName": "server-001"
  }'
```

Przykład odpowiedzi:

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "accessToken": "YOUR_ACCESS_TOKEN",
    "accessExpire": 1769676656
  },
  "requestId": "req-login"
}
```

<h2 id="refresh-token">
  Token odświeżania
</h2>

```http
POST /v1/public/user/refresh-token
```

W normalnych scenariuszach integracji stan logowania jest odświeżany przez Cookie. Zachowaj Cookie zwrócone przez odpowiedź logowania.

Pola odpowiedzi:

| Pole           | Typ    | Opis                            |
| -------------- | ------ | ------------------------------- |
| `accessToken`  | string | Token nowego dostępu            |
| `accessExpire` | int64  | Czas wygaśnięcia tokena dostępu |

<h2 id="agent-sso">
  Agent SSO
</h2>

<h2 id="ticket-exchange">
  Wymiana biletów
</h2>

```http
POST /v1/public/agent-sso/exchange-ticket
```

Parametry żądania:

| Parametr   | Typ    | Wymagane | Opis                                         |
| ---------- | ------ | -------- | -------------------------------------------- |
| `ticket`   | string | Tak      | Jednorazowy bilet wydany przez usługę agenta |
| `deviceId` | string | Nie      | Odcisk palca urządzenia, do 64 znaków        |

Pola odpowiedzi:

| Pole           | Typ    | Opis                              |
| -------------- | ------ | --------------------------------- |
| `accessToken`  | string | Token dostępu                     |
| `accessExpire` | int64  | Czas wygaśnięcia tokena dostępu   |
| `redirectPath` | string | Sugerowana ścieżka przekierowania |

<h2 id="embed-token-exchange">
  Wymiana tokenów osadzona
</h2>

```http
POST /v1/public/agent-sso/exchange-embed-token
```

Parametry żądania:

| Parametr     | Typ    | Wymagane | Opis                                                               |
| ------------ | ------ | -------- | ------------------------------------------------------------------ |
| `embedToken` | string | Tak      | Krótkotrwały wbudowany token handlowy wydawany przez usługę agenta |
| `channelId`  | string | Tak      | Wbudowany identyfikator kanału iframe, do 128 znaków               |
| `deviceId`   | string | Nie      | Odcisk palca urządzenia, do 64 znaków                              |

Pola odpowiedzi:

| Pole           | Typ    | Opis                            |
| -------------- | ------ | ------------------------------- |
| `accessToken`  | string | Token dostępu                   |
| `accessExpire` | int64  | Czas wygaśnięcia tokena dostępu |

<h2 id="pnl-leaderboard">
  Tabela wyników PnL
</h2>

```http
GET /v1/public/leaderboard/pnl?period=30d
```

Parametry żądania:

| Parametr | Typ    | Wymagane | Opis                 |
| -------- | ------ | -------- | -------------------- |
| `period` | string | Tak      | `7d` / `30d` / `90d` |

Pola odpowiedzi:

| Pole               | Typ    | Opis                                                                                          |
| ------------------ | ------ | --------------------------------------------------------------------------------------------- |
| `list[].rank`      | int32  | Stopień                                                                                       |
| `list[].userId`    | string | Zewnętrzny identyfikator użytkownika                                                          |
| `list[].trader`    | string | Imię zamaskowanego handlarza                                                                  |
| `list[].volume`    | string | Wolumen handlu w oknie                                                                        |
| `list[].pnlAmount` | string | Zorientowano się w oknie PnL                                                                  |
| `list[].pnlPct`    | string | Stosunek PnL, dziesiętny od `0` do `1`                                                        |
| `myRank`           | int32  | Aktualna ranga użytkownika. Zwraca `0` jeśli nie jest uwierzytelniony lub nie jest w rankingu |

<h2 id="related-documentation">
  Powiązana dokumentacja
</h2>

* [Dane rynkowe](/pl/developer-api/rest-api/market-data)
* [Kanały WebSocket publiczne](/pl/developer-api/websocket/public-market-channels)
* [Środowiska i wspólne konwencje](/pl/developer-api/environments-and-common-conventions)