# DCM/DFA Reporting And Trafficking API . userRoles

## Instance Methods

Deletes an existing user role.

Gets one user role by ID.

Inserts a new user role.

Retrieves a list of user roles, possibly filtered. This method supports paging.

Retrieves the next page of results.

Updates an existing user role. This method supports patch semantics.

Updates an existing user role.

### Method Details

`delete(profileId, id)`

    Deletes an existing user role.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      id: string, User role ID. (required)

`get(profileId, id)`

    Gets one user role by ID.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      id: string, User role ID. (required)

    Returns:
      An object of the form:

        { # Contains properties of auser role, which is used to manage user access.
          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
          "permissions": [ # List of permissions associated with this user role.
            { # Contains properties of a user role permission.
              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
              "availability": "A String", # Levels of availability for a user role permission.
              "name": "A String", # Name of this user role permission.
              "id": "A String", # ID of this user role permission.
            },
          ],
          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
        }

`insert(profileId, body)`

    Inserts a new user role.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Contains properties of auser role, which is used to manage user access.
        "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
        "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
        "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
        "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
        "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
        "permissions": [ # List of permissions associated with this user role.
          { # Contains properties of a user role permission.
            "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
            "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
            "availability": "A String", # Levels of availability for a user role permission.
            "name": "A String", # Name of this user role permission.
            "id": "A String", # ID of this user role permission.
          },
        ],
        "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
        "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
      }

    Returns:
      An object of the form:

        { # Contains properties of auser role, which is used to manage user access.
          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
          "permissions": [ # List of permissions associated with this user role.
            { # Contains properties of a user role permission.
              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
              "availability": "A String", # Levels of availability for a user role permission.
              "name": "A String", # Name of this user role permission.
              "id": "A String", # ID of this user role permission.
            },
          ],
          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
        }

`list(profileId, searchString=None, subaccountId=None, pageToken=None, ids=None, maxResults=None, accountUserRoleOnly=None, sortOrder=None, sortField=None)`

    Retrieves a list of user roles, possibly filtered. This method supports paging.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      searchString: string, Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, "userrole*2015" will return objects with names like "userrole June 2015", "userrole April 2015", or simply "userrole 2015". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of "userrole" will match objects with name "my userrole", "userrole 2015", or simply "userrole".
      subaccountId: string, Select only user roles that belong to this subaccount.
      pageToken: string, Value of the nextPageToken from the previous result page.
      ids: string, Select only user roles with the specified IDs. (repeated)
      maxResults: integer, Maximum number of results to return.
      accountUserRoleOnly: boolean, Select only account level user roles not associated with any specific subaccount.
      sortOrder: string, Order of sorted results.
        Allowed values
          ASCENDING -
          DESCENDING -
      sortField: string, Field by which to sort the list.
        Allowed values
          ID -
          NAME -

    Returns:
      An object of the form:

        { # User Role List Response
        "nextPageToken": "A String", # Pagination token to be used for the next list operation.
        "kind": "dfareporting#userRolesListResponse", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolesListResponse".
        "userRoles": [ # User role collection.
          { # Contains properties of auser role, which is used to manage user access.
              "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
              "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
              "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
              "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
              "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
              "permissions": [ # List of permissions associated with this user role.
                { # Contains properties of a user role permission.
                  "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
                  "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
                  "availability": "A String", # Levels of availability for a user role permission.
                  "name": "A String", # Name of this user role permission.
                  "id": "A String", # ID of this user role permission.
                },
              ],
              "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
              "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
            },
        ],
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(profileId, id, body)`

    Updates an existing user role. This method supports patch semantics.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      id: string, User role ID. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Contains properties of auser role, which is used to manage user access.
        "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
        "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
        "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
        "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
        "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
        "permissions": [ # List of permissions associated with this user role.
          { # Contains properties of a user role permission.
            "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
            "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
            "availability": "A String", # Levels of availability for a user role permission.
            "name": "A String", # Name of this user role permission.
            "id": "A String", # ID of this user role permission.
          },
        ],
        "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
        "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
      }

    Returns:
      An object of the form:

        { # Contains properties of auser role, which is used to manage user access.
          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
          "permissions": [ # List of permissions associated with this user role.
            { # Contains properties of a user role permission.
              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
              "availability": "A String", # Levels of availability for a user role permission.
              "name": "A String", # Name of this user role permission.
              "id": "A String", # ID of this user role permission.
            },
          ],
          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
        }

`update(profileId, body)`

    Updates an existing user role.

    Args:
      profileId: string, User profile ID associated with this request. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Contains properties of auser role, which is used to manage user access.
        "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
        "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
        "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
        "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
        "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
        "permissions": [ # List of permissions associated with this user role.
          { # Contains properties of a user role permission.
            "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
            "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
            "availability": "A String", # Levels of availability for a user role permission.
            "name": "A String", # Name of this user role permission.
            "id": "A String", # ID of this user role permission.
          },
        ],
        "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
        "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
      }

    Returns:
      An object of the form:

        { # Contains properties of auser role, which is used to manage user access.
          "defaultUserRole": True or False, # Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions.
          "kind": "dfareporting#userRole", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRole".
          "subaccountId": "A String", # Subaccount ID of this user role. This is a read-only field that can be left blank.
          "name": "A String", # Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account.
          "parentUserRoleId": "A String", # ID of the user role that this user role is based on or copied from. This is a required field.
          "permissions": [ # List of permissions associated with this user role.
            { # Contains properties of a user role permission.
              "permissionGroupId": "A String", # ID of the permission group that this user role permission belongs to.
              "kind": "dfareporting#userRolePermission", # Identifies what kind of resource this is. Value: the fixed string "dfareporting#userRolePermission".
              "availability": "A String", # Levels of availability for a user role permission.
              "name": "A String", # Name of this user role permission.
              "id": "A String", # ID of this user role permission.
            },
          ],
          "id": "A String", # ID of this user role. This is a read-only, auto-generated field.
          "accountId": "A String", # Account ID of this user role. This is a read-only field that can be left blank.
        }