# createAccessRequest

> Part of the MAP Audio Music API docs. Index of every page: https://map.audio/developers/music-api/llms.txt. OpenAPI document: https://map.audio/developers/music-api/openapi.json.

`POST https://api.map.audio/v1/access-requests`

Request Music API access

Ask MAP Audio for Music API access as the signed-in map.audio account behind the access token. Use it when a call answers 403 not_invited: send the same token, with a line about what you will build and a website if you like. One request per account; sending again updates the fields you send (null clears one), keeps the ones you leave out, and answers 200. MAP Audio emails the account when access is ready, and https://map.audio/music does the same signed in. An API key cannot call this route, and it never answers not_invited. Free.

Auth: `Authorization: Bearer` with a map.audio access token; an API key is refused. Not an MCP tool: An MCP session already has Music API access; an account without it requests access signed in at https://map.audio/music.

## Body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `useCase` | string or null | no | What you want to build with the API, in a sentence or two. null clears a saved one; leaving it out keeps it. At most 1000 characters. |
| `website` | string or null | no | A public https URL for you or your product: a host name, not an IP address, localhost or a URL with credentials. null clears a saved one; leaving it out keeps it. At most 200 characters. Matches `^https://`. |

## Example

```sh
curl -sS "https://api.map.audio/v1/access-requests" \
  -H "Authorization: Bearer $MAP_ACCESS_TOKEN" \
  -H "Map-Version: 2026-11-01" \
  -H "Content-Type: application/json" \
  -d '{"useCase":"A game that scores every level with new loops from PAM presets.","website":"https://example.com"}'
```

### Request: A short note about the project

```json
{
  "useCase": "A game that scores every level with new loops from PAM presets.",
  "website": "https://example.com"
}
```

### 200: Updated

```json
{
  "object": "access_request",
  "id": "areq_01M6BPS09M7WAVD3A2N3JPJE0X",
  "status": "pending",
  "email": "dev@example.com",
  "useCase": "A game that scores every level with new loops from PAM presets.",
  "website": "https://example.com",
  "createdAt": "2026-11-01T13:40:12.007Z",
  "updatedAt": "2026-11-01T14:05:51.630Z"
}
```

### 201: Created

```json
{
  "object": "access_request",
  "id": "areq_01M6BPS09M7WAVD3A2N3JPJE0X",
  "status": "pending",
  "email": "dev@example.com",
  "useCase": "A game that scores every level with new loops from PAM presets.",
  "website": "https://example.com",
  "createdAt": "2026-11-01T13:40:12.007Z",
  "updatedAt": "2026-11-01T13:40:12.007Z"
}
```

### 403: Access requests need a sign-in

```json
{
  "error": {
    "type": "entitlement",
    "code": "access_request_needs_sign_in",
    "message": "An API key cannot request access: every key belongs to an account that has it already. Sign in at https://map.audio/music with the map.audio account that needs access, and request it there.",
    "param": null,
    "retryable": false,
    "jobId": null,
    "docUrl": "https://map.audio/developers/music-api/errors#access_request_needs_sign_in",
    "requestId": "9a3f7c2e5b1d8f40-LHR"
  }
}
```

### 409: Already has access

```json
{
  "error": {
    "type": "conflict",
    "code": "already_has_access",
    "message": "This map.audio account already has Music API access, so there is nothing to request. Call the API with this token, or create API keys at https://map.audio/music.",
    "param": null,
    "retryable": false,
    "jobId": null,
    "docUrl": "https://map.audio/developers/music-api/errors#already_has_access",
    "requestId": "9a3f7c2e5b1d8f40-LHR"
  }
}
```

## Responses

- `200`: The request, updated.
- `201`: The request, created.
- `403`: Access requests need a sign-in
- `409`: Already has access
- `default`: Any other error: `error.code` names it, `error.param` the field at fault, and `error.docUrl` its entry in the error catalogue.

## Errors

- [`access_request_needs_sign_in`](https://map.audio/developers/music-api/errors#access_request_needs_sign_in)
- [`already_has_access`](https://map.audio/developers/music-api/errors#already_has_access)
- [`customer_erased`](https://map.audio/developers/music-api/errors#customer_erased)
- [`rate_limited`](https://map.audio/developers/music-api/errors#rate_limited)
- [`invalid_request`](https://map.audio/developers/music-api/errors#invalid_request)
- [`unsupported_media_type`](https://map.audio/developers/music-api/errors#unsupported_media_type)
- [`payload_too_large`](https://map.audio/developers/music-api/errors#payload_too_large)
- [`idempotency_key_unsupported`](https://map.audio/developers/music-api/errors#idempotency_key_unsupported)
