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

# Uwierzytelnianie

> Jak uwierzytelniac sie w Wappfy API za pomoca kluczy API lub tokenow JWT.

# Uwierzytelnianie

Wappfy API obsluguje dwie metody uwierzytelniania. Kazde zapytanie musi zawierac jedna z nich.

## Klucz API (zalecane)

Przekaz klucz API w naglowku `X-Api-Key`:

```bash theme={null}
curl https://api.wappfy.io/api/instances \
  -H "X-Api-Key: wappfy_sk_abc123def456..."
```

### Tworzenie klucza API

Klucze API mozna tworzyc za pomoca panelu lub API. Klucze sa przypisane do uzytkownika i maja takie same uprawnienia jak konto uzytkownika.

```bash theme={null}
curl -X POST https://api.wappfy.io/api/api-keys \
  -H "Authorization: Bearer YOUR_SUPABASE_JWT" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Production Key" }'
```

<Warning>
  Wartosc klucza jest zwracana tylko raz podczas tworzenia. Przechowuj ja bezpiecznie.
</Warning>

## Token Bearer (Supabase JWT)

Przekaz token dostepu Supabase w naglowku `Authorization`:

```bash theme={null}
curl https://api.wappfy.io/api/instances \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
```

Tokeny JWT sa krotkotrwale i wymagaja odswiezania. Sa zwykle uzywane przez panel frontendowy, a nie do integracji serwer-serwer.

## Dobre praktyki bezpieczenstwa

<AccordionGroup>
  <Accordion title="Uzywaj kluczy API do komunikacji serwer-serwer">
    Klucze API nie wygasaja i sa latwiejsze w zarzadzaniu w przypadku integracji backendowych.
  </Accordion>

  <Accordion title="Regularnie rotuj klucze">
    Jesli klucz zostal skompromitowany, usun go i utworz nowy.
  </Accordion>

  <Accordion title="Zawsze uzywaj HTTPS">
    Wszystkie zapytania API musza uzywac HTTPS. Zapytania HTTP beda odrzucane.
  </Accordion>

  <Accordion title="Nie eksponuj kluczy w kodzie frontendowym">
    Klucze API powinny byc uzywane wylacznie w kodzie po stronie serwera, nigdy w JavaScript po stronie klienta.
  </Accordion>
</AccordionGroup>

## Odpowiedzi bledow

| Status | Opis                                               |
| ------ | -------------------------------------------------- |
| `401`  | Brakujacy lub nieprawidlowy token uwierzytelniania |
| `403`  | Niewystarczajace uprawnienia do tego zasobu        |
