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

# Update upload grants

> Replace the complete list of user grants on an upload or folder; an empty list revokes every grant.

`updateUploadGrants(input: UpdateUploadGrantsInput!): UploadPathGrants!`

Requires project.uploads.admin.

## Arguments

| Argument | Type | Required |
| - | - | - |
| `input` | [`UpdateUploadGrantsInput!`](https://veryfront.com/docs/cloud/graphql/types/updateuploadgrantsinput) | Yes |

## Input fields

### input

[`UpdateUploadGrantsInput`](https://veryfront.com/docs/cloud/graphql/types/updateuploadgrantsinput)

| Field | Type | Required | Description |
| - | - | - | - |
| `projectReference` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | Project UUID, slug or configured domain. |
| `uploadPath` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Yes | Upload UUID for grants on that upload, or an upload path or folder prefix resolved to the folder setting that governs it. |
| `grants` | [`[UploadPathGrantInput!]!`](https://veryfront.com/docs/cloud/graphql/types/uploadpathgrantinput) | Yes | The complete replacement list. An empty list revokes every grant. |

## Response

Returns [`UploadPathGrants!`](https://veryfront.com/docs/cloud/graphql/types/uploadpathgrants). Open the type for its fields and nested types.

| Field | Type | Description |
| - | - | - |
| `data` | [`[UploadPathGrant!]!`](https://veryfront.com/docs/cloud/graphql/types/uploadpathgrant) | Complete grant list on the resolved target. |
| `resolvedPath` | [`String!`](https://veryfront.com/docs/cloud/graphql/types/string) | Actual upload or folder visibility path whose grants were read or replaced. |
| `resolvedType` | [`UploadGrantTargetType!`](https://veryfront.com/docs/cloud/graphql/types/uploadgranttargettype) | Type of the resolved grant target. |
| `resolvedId` | [`ID!`](https://veryfront.com/docs/cloud/graphql/types/id) | UUID of the resolved upload or folder. |

Types marked with `!` cannot be null. Lists use `[Type]` notation. The [type index](https://veryfront.com/docs/cloud/graphql/schema.md) lists all published input and response types.

## Example

```graphql title="query.graphql" theme={null}
mutation UpdateUploadGrants($input: UpdateUploadGrantsInput!) {
  updateUploadGrants(input: $input) {
    resolvedId
    resolvedPath
    resolvedType
    data {
      createdAt
      permission
      userId
    }
  }
}
```

```json title="variables.json" theme={null}
{
  "input": {
    "projectReference": "00000000-0000-4000-8000-000000000001",
    "uploadPath": "example",
    "grants": []
  }
}
```

<details>
  <summary>Try this mutation</summary>

  Calls use `https://api.veryfront.com/graphql`. Replace sample values with resources you can access. See [Authentication](https://veryfront.com/docs/cloud/authentication.md) for credentials and permissions.

  Bearer token or API key

  Stored in this tab's session. Clear credential

  Mutation

  Variables (JSON)
</details>


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