Skip to main content
Upload mediów (zrzuty ekranu, obrazy) odbywa się w 3 krokach z wykorzystaniem presigned URL. Pliki są przechowywane w Backblaze B2. Wymagany scope: media:write

Proces uploadu

Krok 1: Uzyskaj presigned URL

curl -s -X POST https://my.clarife.app/api/v1/media/presign \
  -H "Authorization: Bearer clrf_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "document_id": "d1234567-...",
    "media_id": "m1234567-...",
    "filename": "screenshot.png",
    "mime_type": "image/png",
    "file_size_bytes": 245760
  }' | jq
Parametry body:
PoleTypWymaganeOpis
document_iduuidtakDokument, do którego dodajesz media
media_iduuidtakID wygenerowane po stronie klienta
filenamestringtakOryginalna nazwa pliku (max 255 znaków)
mime_typestringtakTyp MIME (patrz tabela poniżej)
file_size_bytesintegertakRozmiar pliku w bajtach
Obsługiwane typy MIME (tylko obrazy):
TypRozszerzenie
image/png.png
image/jpeg.jpg
image/gif.gif
image/webp.webp
image/svg+xml.svg
image/bmp.bmp
image/tiff.tiff
Odpowiedź 200 OK:
{
  "upload_url": "https://s3.us-west-004.backblazeb2.com/...",
  "b2_key": "media/user-id/doc-id/media-id.png",
  "media_id": "m1234567-..."
}
Maksymalny rozmiar pliku to 30 MB. Presigned URL jest ważny przez 15 minut.

Krok 2: Upload pliku

Wyślij plik binarny na upload_url zwrócony w kroku 1 za pomocą PUT:
curl -X PUT "UPLOAD_URL_Z_KROKU_1" \
  -H "Content-Type: image/png" \
  --data-binary @screenshot.png

Krok 3: Potwierdź upload

Po pomyślnym uploadzie potwierdź, że plik jest gotowy:
curl -s -X POST https://my.clarife.app/api/v1/media/confirm \
  -H "Authorization: Bearer clrf_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "media_id": "m1234567-..." }' | jq
Odpowiedź 200 OK:
{
  "id": "m1234567-...",
  "status": "active"
}
Media ze statusem pending (niepotwierdzony upload) są automatycznie czyszczone po 24 godzinach.

Limity storage

PlanLimit storage
Free100 MB
Pro10 GB
Business100 GB
Przekroczenie limitu zwraca błąd 403 z kodem PLAN_LIMIT_REACHED.