Skip to content

Files API

Ħarsa ġenerali

Il-Files API tospita fajls fuq qr3 u tipprovdi URL stabbli għalihom. Il-QR code jipponta lejn din il-URL — tista’ tbiddel il-fajl warajha fi kwalunkwe ħin mingħajr ma terġa’ tipprintja l-code.

URL Bażika: https://qr3.app/v1/files

B’mod mhux obbligatorju, tista’ tikkoppla fajl ma’ code permezz ta’ code_id. Din hija l-bażi għal- landing page għal kull code, li telenka l-fajls pubbliċi kollha ta’ code.

It-tipi appoġġjati jiġu vverifikati permezz ta’ magic byte, mhux mill-isem tal-fajl: PDF, PNG, JPEG, WebP, MP4, glTF/GLB, JSON. Fajl .pdf li mhuwiex PDF jiġi rrifjutat.

Rwoli

OperazzjoniMeħtieġJirċievi 403
Il-GET kollhakwalunkwe rwol
POST /upload, PUT /:idrwol ta’ kitbaviewer
DELETE /:idrwol ta’ tħassirviewer, contributor

Ir-regola speċjali hija contributor: Dan ir-rwol jista’ joħloq u jimmodifika, iżda ma jista’ jneħħi xejn.

Tella’ fajl

POST /v1/files/upload

Jistenna multipart/form-data.

KampObbligatorjuDeskrizzjoni
fileIvaIl-fajl
code_idLeIkkoppla ma’ code (għandu jappartjeni għall-workspace)
visibilityLeprivate (default) jew public
Terminal window
curl -X POST https://qr3.app/v1/files/upload \
-H "Authorization: Bearer qr3_sk_..." \
-F "code_id=qr_a1b2c3d4" \
-F "visibility=public"

Response (HTTP 201):

{
"data": {
"id": "file_a1b2c3d4",
"code_id": "qr_a1b2c3d4",
"filename": "datenblatt.pdf",
"mime_type": "application/pdf",
"size_bytes": 284913,
"hash_sha256": "9f86d081884c7d65…",
"visibility": "public",
"status": "active",
"created_at": "2026-03-14T12:00:00.000Z",
"download_url": "https://qr3.app/v1/files/file_a1b2c3d4/download",
"public_url": "https://qr3.app/f/file_a1b2c3d4"
},
"meta": { "request_id": "req_abc123" }
}

public_url hija ssettjata biss f’każ ta’ visibility: "public" u status: "active". L-indirizz m’għandux bżonn login u huwa adattat direttament bħala l-URL tad-destinazzjoni ta’ QR code.

Elenka l-fajls

GET /v1/files

Query: code_id u visibility, it-tnejn mhux obbligatorji. Jirritorna l-fajls attivi tal-workspace, bl-aktar wieħed reċenti l-ewwel.

Terminal window
curl "https://qr3.app/v1/files?code_id=qr_a1b2c3d4" \
-H "Authorization: Bearer qr3_sk_..."

Response (HTTP 200):

{
"data": [ { "id": "file_a1b2c3d4", "…": "" } ],
"meta": {
"request_id": "req_abc123",
"file_count": 3,
"total_size_bytes": 812004
}
}

Ikseb informazzjoni dwar il-fajl

GET /v1/files/:id

Jirritorna l-metadata inkluż download_url (u public_url f’każ ta’ fajls pubbliċi). Jista’ jinqara mir-rwoli kollha.

Niżżel il-fajl

GET /v1/files/:id/download

Jittrażmetti l-kontenut bħala stream b’ Content-Disposition: attachment u Cache-Control: private, no-store — għalhekk ir-rispons huwa dejjem l-aktar stat reċenti, b’differenza mill-URL pubblika /f/:id li tkun cached.

404 jiġri f’żewġ każijiet: Il-fajl ma jeżistix fil-workspace (jew huwa mħassar), jew jeżisti iżda l-oġġett maħżun huwa nieqes.

Ibdel il-fajl

PUT /v1/files/:id

Ibdel il-kontenut u żomm l-id — u b’hekk l-indirizz pubbliku /f/:id u d-download_url jibqgħu l-istess. QR code li diġà ġie stampat jibqa’ validu.

Terminal window
curl -X PUT https://qr3.app/v1/files/file_a1b2c3d4 \
-H "Authorization: Bearer qr3_sk_..." \

visibility, code_id u created_at jinżammu; filename, mime_type, size_bytes u hash_sha256 jiġu aġġornati. Il-limitu tal-pjan għal kull fajl japplika bħal fl-upload, u l-limitu tal-ħażna tal-workspace jiġi vverifikat kontra d-differenza. Il-limitu ta’ “fajls għal kull code” ma japplikax, peress li ma qed jiżdied l-ebda fajl ġdid.

Ħassar il-fajl

DELETE /v1/files/:id

Soft-Delete: Il-fajl jisparixxi immedjatament mil-lista, ma jibqax aċċessibbli u — jekk ikun pubbliku — ma jibqax ipprovdut taħt /f/:id.

Response (HTTP 200):

{
"data": { "id": "file_a1b2c3d4", "deleted": true },
"meta": { "request_id": "req_abc123" }
}

Limiti

PjanMax. għal kull fajl
Free5 MB
Pro25 MB
Business100 MB
Agency100 MB
Enterprise250 MB

Barra minn hekk, japplikaw numru massimu ta’ fajls għal kull code u ħażna totali għal kull workspace skont il-pjan. Il-limitu tar-rata tal-uploads huwa ta’ 100 upload fis-siegħa għal kull workspace.

Żbalji

StatusMeta
400Firma tal-fajl mhux magħrufa jew mhux xierqa, multipart body invalidu
401API key nieqsa jew invalida
403Ir-rwol m’għandux permess jikteb jew iħassar
404code_id jew fajl mhux fil-workspace; waqt id-download ukoll: l-oġġett huwa nieqes mill-ħażna
413Il-fajl huwa akbar mil-limitu tal-pjan
422Fajl nieqes, visibility invalida, intlaħaq il-limitu ta’ “fajls għal kull code”, inqabeż il-limitu tal-ħażna tal-workspace
429Limitu tar-rata tal-uploads (100/siegħa/workspace) jew limitu tar-rata ġenerali

Relatati