**Source URL:** https://limited.veevavault.dev/safety/vault-api/api-reference/18.1/document-roles/assign-users-groups-to-roles-on-a-single-document.md

# Assign Users & Groups to Roles on a Single Document



<Aside>If you need to assign users and groups to roles on more than one document or binder, or to assign users and groups to roles with Dynamic Access Control (DAC) enabled, it is best practice to use the [bulk API](/vault-api/api-reference/18.1/document-roles/assign-users-groups-to-roles-on-multiple-documents).

</Aside>
Assign users and groups to roles on a single document or binder. The single document API does not support assigning users and groups to roles with Dynamic Access Control (DAC) enabled.

<Endpoint path="/api/{version}/objects/documents/{id}/roles" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `application/x-www-form-urlencoded` |
| `Accept` | `application/json` (default) or `application/xml` |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `{id}` | The document or binder `id` field value. |
</FieldTable>

## Body Parameters {#body-parameters}

Include name-value pairs of all users or groups with their corresponding roles in the form `{Role_name}.{USERS or GROUPS}=ID1,ID2,ID3`. For example, `reviewer__v.users = "3003, 4005"`.

## Request {#request}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "consumer__v.users=35565,35571" \
-d "approver__v.users-45585,45594" \
https://myvault.veevavault.com/api/v15.0/objects/documents/245/roles

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
  "responseStatus": "SUCCESS",
  "responseMessage": "Document roles updated",
  "updatedRoles": {
    "consumer__v": {
      "users": [
        19376,18234,19456
      ]
    },
    "legal__c": {
      "groups": [
        19365,18923
      ]
    }
  }
}

```
</CodeExample>

## Response Details {#response-details}

The response includes `ROLE:ID` pairs for the users and groups successfully assigned to roles on the document or binder.



---

**Previous:** [Retrieve Roles](/safety/vault-api/api-reference/18.1/document-roles/retrieve-roles)  
**Next:** [Assign Users & Groups to Roles on Multiple Documents](/safety/vault-api/api-reference/18.1/document-roles/assign-users-groups-to-roles-on-multiple-documents)