Noxie CDN API

Upload, manage, and serve files through the Noxie CDN. Authenticate with an API key and interact with all endpoints over HTTPS.

Authentication

All API requests require an API key passed in the X-API-Key header.

X-API-Key: your-api-key-here

API keys are created in the Admin Panel under the API Keys tab. Each key is scoped to a user account and can have granular permissions (upload, read, delete).

Requests without a valid API key will receive a 401 Unauthorized response.

Base URL

All API endpoints are relative to:

https://cdn.noxie.xyz/api/v1

Endpoints

POST /api/v1/upload

Upload a file to the CDN. The request must be multipart/form-data with the file in a field named file.

Request Body

FieldTypeDescription
file File required The file to upload

Response

{
  "success": true,
  "file": {
    "id": "aBcDeF",
    "name": "photo.png",
    "url": "https://cdn.noxie.xyz/watch/aBcDeF",
    "size": 204800,
    "type": "image/png",
    "uploadedAt": "2026-02-08T12:00:00.000Z"
  }
}
GET /api/v1/files

List files belonging to the authenticated user. Super admins see all files.

Query Parameters

ParamTypeDescription
page Number optional Page number (default: 1)
limit Number optional Results per page, max 100 (default: 50)
type String optional Filter by MIME type prefix, e.g. image/, video/

Response

{
  "success": true,
  "files": [
    {
      "id": "aBcDeF",
      "name": "photo.png",
      "url": "https://cdn.noxie.xyz/watch/aBcDeF",
      "size": 204800,
      "type": "image/png",
      "downloads": 42,
      "uploadedAt": "2026-02-08T12:00:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "pages": 1
}
GET /api/v1/files/:id

Get metadata for a single file. You can only access files you own unless you are a super admin.

Path Parameters

ParamTypeDescription
:id String required The file ID

Response

{
  "success": true,
  "file": {
    "id": "aBcDeF",
    "name": "photo.png",
    "url": "https://cdn.noxie.xyz/watch/aBcDeF",
    "size": 204800,
    "type": "image/png",
    "downloads": 42,
    "uploadedAt": "2026-02-08T12:00:00.000Z"
  }
}
DELETE /api/v1/files/:id

Delete a file from the CDN. You can only delete files you own unless you are a super admin.

Path Parameters

ParamTypeDescription
:id String required The file ID to delete

Response

{
  "success": true
}
GET /api/v1/account

Get account information for the authenticated user, including storage usage and quota.

Response

{
  "success": true,
  "account": {
    "username": "noxie",
    "storageUsed": 52428800,
    "quota": 1073741824,
    "fileCount": 15
  }
}

Permissions

Each API key can be assigned specific permissions. The table below shows which permission is required for each endpoint.

Endpoint upload read delete
POST /api/v1/upload
GET /api/v1/files
GET /api/v1/files/:id
DELETE /api/v1/files/:id
GET /api/v1/account

Error Handling

All error responses follow the same format:

{
  "success": false,
  "error": "Description of what went wrong"
}
Code Meaning Description
400 Bad Request Missing required fields (e.g. no file in upload)
401 Unauthorized Missing or invalid API key
403 Forbidden Insufficient permissions, not your file, or storage quota exceeded
404 Not Found File or resource does not exist
500 Server Error Something went wrong on our end
507 Insufficient Storage Server disk space is full

Code Examples

All examples use curl. Replace YOUR_API_KEY with your actual key.

Upload a file

curl -X POST https://cdn.noxie.xyz/api/v1/upload \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@photo.png"

List your files

curl https://cdn.noxie.xyz/api/v1/files \
  -H "X-API-Key: YOUR_API_KEY"

List files with filters

curl "https://cdn.noxie.xyz/api/v1/files?page=1&limit=10&type=image/" \
  -H "X-API-Key: YOUR_API_KEY"

Get file info

curl https://cdn.noxie.xyz/api/v1/files/aBcDeF \
  -H "X-API-Key: YOUR_API_KEY"

Delete a file

curl -X DELETE https://cdn.noxie.xyz/api/v1/files/aBcDeF \
  -H "X-API-Key: YOUR_API_KEY"

Get account info

curl https://cdn.noxie.xyz/api/v1/account \
  -H "X-API-Key: YOUR_API_KEY"