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

# Quick Start

> Get started with Null Drop in 3 simple steps

## 1) Create an API key

1. Go to `Manage → API Keys` in the app
2. Click "Create key" and copy the value (treat as secret)

## 2) Upload a file (cURL)

```bash theme={null}
curl -X POST \
  -H "Authorization: Bearer <API_KEY>" \
  -F "file=@/path/to/file.png" \
  https://nulldrop.xyz/api/v1/upload
```

Response (201):

```json theme={null}
{
  "success": true,
  "data": {
    "id": "file_123",
    "filename": "file.png",
    "size": 12345,
    "mimeType": "image/png",
    "downloadUrl": "https://nulldrop.xyz/api/v1/files/file_123/download",
    "shareUrl": "https://nulldrop.xyz/share/abc123",
    "uploadedAt": "2025-01-01T12:00:00.000Z"
  }
}
```

## 3) List your files (fetch)

```ts theme={null}
await fetch('https://nulldrop.xyz/api/v1/files', {
  headers: { Authorization: `Bearer ${API_KEY}` }
}).then(r => r.json())
```

## Tips

* Rate limits are returned via headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`.
* Common errors: `NO_FILE`, `INVALID_FILE_TYPE`, `FILE_TOO_LARGE`, `STORAGE_LIMIT_EXCEEDED`.
* Base URL: `https://nulldrop.xyz/api/v1`

<Card title="API Reference" icon="code" href="/api-reference/introduction">
  Explore all endpoints and schemas.
</Card>
