Any script (generic)
The contract in full: one multipart POST, any field name, four accepted ways to send the key. Enough to wire up anything.
You need a BasiX API key for this. Free account, 3 GB included, no card.Get your key →
1.Create a key
Create an upload-scoped key in your client area. Upload-scoped keys work on every plan, including the free one, and cannot delete anything — which is what you want in a file that ends up in a resource folder.
2.POST a multipart form
One endpoint, one required part. The file part may be called anything: `file`, `image`, `video`, `audio`, `data` — BasiX takes the first file part it finds.
bashcurl -X POST https://upload.basix.media/api/v3/file \ -H "Authorization: Bearer YOUR_BASIX_KEY" \ -F "[email protected]" \ -F "path=reports/"3.Read the answer
The URL appears twice, deliberately: at the top level and under `data`. Whichever your script already reads, it finds one.
json{ "status": "ok", "success": true, "url": "https://cdn.basix.media/<your-prefix>/reports/<id>.png", "data": { "id": "<id>", "url": "https://cdn.basix.media/..." }, "size": 182344, "mime_type": "image/png" }
Worth knowing
- Sending the key: `Authorization: <key>`, `Authorization: Bearer <key>`, `Authorization: Key <key>`, `X-Api-Key: <key>`, or `?apiKey=<key>` on upload endpoints only.
- The optional `path` field is a folder. Spaces and capitals are repaired rather than refused, so `Player Photos` becomes `player-photos`.
- On failure the body carries `success: false`, a `code`, and the same text under both `error` and `message`.
Configuration last checked against the upstream project on 2026-09-20.
Try it on your own server
Create a free account and your API key is ready in about two minutes. 3 GB included, bandwidth never billed, no card needed.
Something not working, or a script not listed? Read the full FiveM docs or ask us — we will wire it up with you.