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

# POST /v1/custom-background-noises/upload-url

> Get an upload URL for a background noise.

Returns `upload_url` and `storage_path`.1) Send the file bytes to `upload_url` with HTTP PUT.
2) Send `storage_path` to [Create Custom Background Noise](/api-reference/endpoint/create-custom-background-noise.md).The file name must end in `.mp3` or `.wav`. Other types return 400.Rate limit: 30 requests per minute.## Headers

\<table><thead><tr><th>Name</th>
            \<th>Type</th>
            \<th>Required</th>
            \<th>Description</th></tr></thead>
        \<tbody /></table>

## Request body

\<table><thead><tr><th>Name</th>
            \<th>Type</th>
            \<th>Required</th>
            \<th>Description</th></tr></thead>
        \<tbody /></table>

## ResponseThe response is `object`.## Status codes| Status | Meaning |
| - | - |
| `200` | Successful Response |
| `422` | Validation Error |## Example request```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
curl --request POST \
  --url https://api.getbluejay.ai/v1/custom-background-noises/upload-url \
  --header 'X-API-Key: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "filename": "<string>"
  }'
```## Example response```json 200 theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
{}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.