---
title: "Grant a consumer access to a media item"
method: POST
path: "/media/{uuid}/grant"
---

# Grant a consumer access to a media item

`POST /media/{uuid}/grant`

## Request

- Base URL: `https://api.fanvue.com`
- URL: `https://api.fanvue.com/media/{uuid}/grant`
- Auth: OAuth 2
  - Authorization code: `https://auth.fanvue.com/oauth2/auth`
  - Token URL: `https://auth.fanvue.com/oauth2/token` scopes: `write:media`

Grant a specific consumer access to a piece of media owned by the authenticated creator.
    The grant is idempotent: repeated calls with the same parameters return the existing entitlement.

## Path parameters

- `uuid` string, uuid, required

## Headers

- `X-Fanvue-API-Version` string, required

## Request body

- object
  - `consumerId` string, uuid, required: UUID of the consumer to grant media access to
  - `source` string, required: Identifier for the granting application or reason (e.g. spin_the_wheel_reward)
  - `sourceRef` string, required: Unique identifier within the source, used for idempotency (e.g. spin attempt UUID)

## Response `200`

Media access granted (or already existed)

- object
  - `entitlementId` string, uuid, required: UUID of the created or existing entitlement
  - `status` 'granted', required

## Other responses

- `400`: Bad Request - API version not supported OR validation failed
- `401`: Unauthorized Response
- `403`: Unauthorized Response
- `404`: Not Found Response
- `410`: API version no longer supported (sunset)
- `429`: Too many requests - rate limit exceeded

---

[API](https://skmtc.dev/fanvue/apis/fanvue-api.md) - [All operations](https://skmtc.dev/fanvue/apis/fanvue-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fanvue/apis/fanvue-api/revisions/966260af2770?raw)
