# requestUsageRights

Mutation

Request usage rights or an ad code for items through the workspace's UGC Repurpose campaign.

Available to agents as MCP tool `requestUsageRights` — see [Write tools](/api/v2/docs/mcp/write-tools#request-usage-rights).

## Arguments

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `itemIds` | `[ID!]!` | Yes | — | Item ids to request, 1 to 100. Only Instagram and TikTok items can be requested; any other id is listed in `skippedItemIds`. |
| `message` | `String` | No | — | The message to the creator, 5 to 1000 characters. Defaults to the workspace default message for the request type and platform. |
| `requestType` | [`UsageRightsRequestType!`](/api/v2/docs/types/usage-rights-request-type) | Yes | — | What to ask the creator for. |

## Returns

| Name | Type | Description |
| --- | --- | --- |
| `requestedItemIds` | `[ID!]!` | Items requested by this call. Each now has a usage-rights request with status IN_QUEUE. |
| `skippedItemIds` | `[ID!]!` | Items not requested, as passed in `itemIds`. These are ids outside this workspace, items not from Instagram or TikTok, and items that already have a request. Items past the campaign item or creator limit are skipped too. |
| `userErrors` | [`[UserError!]!`](/api/v2/docs/types/user-error) | Errors that refused the whole call. Causes: an empty or oversized itemIds list, or a message of the wrong length. Also no message while the workspace default is blank. Also a workspace with no user to attribute the write to. Nothing is requested when this is non-empty. |

## Examples

### Request usage rights for items

Ask a creator for permission to repost an Instagram post. The YouTube item is skipped, as only Instagram and TikTok items take requests.

```graphql
mutation RequestUsageRightsDefault($itemIds: [ID!]!, $requestType: UsageRightsRequestType!, $message: String) {
  requestUsageRights(itemIds: $itemIds, requestType: $requestType, message: $message) {
    requestedItemIds
    skippedItemIds
    userErrors {
      field
      message
    }
  }
}
```

Variables:

```json
{
  "itemIds": [
    "63c311c4-32f0-5d8c-ac02-78b160f2290a",
    "a78ec1f9-5c4b-5c8a-b3b1-e028e575b606"
  ],
  "requestType": "USAGE_RIGHTS",
  "message": "We love this post. May we share it on our channels?"
}
```

Response — HTTP 200:

```json
{
  "data": {
    "requestUsageRights": {
      "requestedItemIds": [
        "63c311c4-32f0-5d8c-ac02-78b160f2290a"
      ],
      "skippedItemIds": [
        "a78ec1f9-5c4b-5c8a-b3b1-e028e575b606"
      ],
      "userErrors": []
    }
  }
}
```
