Skip to content

Organization → Roles

Custom roles controlling which sections a member can view/edit/delete, and their signature-action permissions/quotas. Assigned to members from the Users tab.

Endpoint summary

Method Path Notes
GET /user/v1/roles List roles (paginated, filters: name, description, status, searchValue)
GET /user/v1/roles/{id} Get one role
POST /user/v1/roles Create
PUT /user/v1/roles/{id} Update
PUT /user/v1/roles/{id}/permissions Replace the permission set
DELETE /user/v1/roles?roleId=1&roleId=2 Delete
GET /user/v1/roles/available Lightweight list for the invite/reassign picker

Creating a role

POST /user/v1/roles
Content-Type: application/json

{
  "name": "Sales Rep",
  "description": "Can send and view documents, no admin access",
  "status": "ACTIVE",
  "signatureSettings": {
    "allowSignElectronic": true,
    "allowSignAdvanced": false,
    "allowSignQualified": false,
    "allowDocSend": true,
    "allowDocUseTemplates": true,
    "quotaElectronic": 100,
    "quotaAdvanced": 0,
    "quotaQualified": 0
  },
  "permissions": [
    { "moduleName": "TEMPLATES", "accessRights": { "canView": true, "canAdd": true, "canEdit": false, "canDelete": false } }
  ]
}
Field Validation
name required
status ACTIVE, INACTIVE, or DISABLED
signatureSettings required, every quota an integer, every capability flag a boolean
permissions[].moduleName one of BILLING_DETAILS, BRANDING, BUSINESS_APPS, TEMPLATES, ROLES, ORGANIZATIONS, USERS — matches the Organization page's own tabs
permissions[].accessRights canView/canAdd/canEdit/canDelete, each defaulting to true if omitted

Error: validation failure, or a role with this name already exists in the org.

GET /user/v1/roles/available returns just {roleId, roleName} pairs — used when inviting a member on the Users tab or reassigning someone's role.