Skip to main content
This API reference is useful if you are trying to manage Domo Roles from anywhere ‘outside’ of your Domo instance such as:
  1. Jupyter scripts
  2. Code Engine Functions
  3. Custom Java/Node/Python scripts

Create Role

Playground

Overview

Create a Role based on an existing role’s authorities

Endpoint

POST /api/authorization/v1/roles

Body Parameters

ParameterTypeRequiredDescription
nameStringYesThe name that will be displayed for the role
descriptionStringYesDescription that will be displayed for the role
fromRoleIdIntegerYesThe ID of the role to fetch

Example

{
  "method": "POST",
  "url": "https://{instance}.domo.com/api/authorization/v1/roles",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json"
  },
  "body": {
    "name": string,
    "description": string,
    "fromRoleId": number
  }
}

Response

HTTP/1.1 200 OK
  Content-Type: application/json;charset=UTF-8
  {
    "id": 1234567,
    "name": "",
    "description": ""
  }

Get Role By Id

Playground

Overview

Fetch a single Role by role id

Endpoint

GET /api/authorization/v1/roles/{roleId}

Path Parameters

ParameterTypeRequiredDescription
roleIdIntegerYesThe ID of the role to fetch

Example

{
  "method": "GET",
  "url": "https://{instance}.domo.com/api/authorization/v1/roles/{roleId}",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json"
  }
}

Response

HTTP/1.1 200 OK
  Content-Type: application/json;charset=UTF-8
  {
    "id": 1,
    "name": "Admin",
    "description": "Full access to everything",
    "authorityCount": 94,
    "userCount": 358,
    "created": 1550093701000,
    "modified": 1550093701000
  }

Get All Roles

Playground

Overview

Fetch a all Roles in an instance

Endpoint

GET /api/authorization/v1/roles

Example

{
  "method": "GET",
  "url": "https://{instance}.domo.com/api/authorization/v1/roles",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json"
  }
}

Response

HTTP/1.1 200 OK
  Content-Type: application/json;charset=UTF-8
  [
    {
      "id": 1,
      "name": "Admin",
      "description": "Full access to everything",
      "authorityCount": 94,
      "userCount": 358,
      "created": 1550093701000,
      "modified": 1550093701000
    },
    ...
  ]

Update Role Authorities

Playground

Overview

Updates the authorities or grants which a role is capable of utilizing

Endpoint

PATCH /api/authorization/v1/roles/{roleId}/authorities

Path Parameters

ParameterTypeRequiredDescription
roleIdIntegerYesThe ID of the role to updated

Body

The body for this query is a string array containing the complete list of authorities the role should have after the update

Example

{
  "method": "PATCH",
  "url": "https://{instance}.domo.com/api/authorization/v1/roles/{roleId}/authorities",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json",
    "body": ["dataset.manage", "dataset.export"]
  }
}

Response

HTTP/1.1 200 OK
  Content-Type: application/json;charset=UTF-8
  {
    "status": "SUCCESS",
    "message": ""
  }

Delete Role

Playground

Overview

Delete a Role

Endpoint

DELETE /api/authorization/v1/roles/{roleId}

Path Parameters

ParameterTypeRequiredDescription
roleIdIntegerYesThe ID of the role to updated

Example

{
  "method": "DELETE",
  "url": "https://{instance}.domo.com/api/authorization/v1/roles/{roleId}",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json"
  }
}

Response

HTTP/1.1 204 No Content
  1