AuthorizationManagementClient icon

AuthorizationManagementClient

Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups

COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Role based access control provides you a way to apply granular level policy administration down to individual resources or resource groups. These operations enable you to manage role definitions and role assignments. A role definition describes the set of actions that can be performed on resources. A role assignment grants access to Azure Active Directory users.",
    "title": "AuthorizationManagementClient",
    "version": "2015-07-01",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "azure.com",
    "x-serviceName": "authorization",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json",
    "text/json"
  ],
  "produces": [
    "application/json",
    "text/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "The API version to use for this operation.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "description": "The ID of the target subscription.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.Authorization/elevateAccess": {
      "post": {
        "description": "Elevates access for a Global Administrator.",
        "operationId": "ElevateAccess_Post",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an HttpResponseMessage with HttpStatusCode 200."
          }
        },
        "tags": [
          "ElevateAccess"
        ]
      }
    },
    "/providers/Microsoft.Authorization/providerOperations": {
      "get": {
        "description": "Gets provider operations metadata for all resource providers.",
        "operationId": "ProviderOperationsMetadata_List",
        "parameters": [
          {
            "description": "The API version to use for this operation.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "default": "resourceTypes",
            "description": "Specifies whether to expand the values.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of the operations metadata.",
            "schema": {
              "$ref": "#/definitions/ProviderOperationsMetadataListResult"
            }
          }
        },
        "tags": [
          "ProviderOperationsMetadata"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "displayName": "displayName",
                      "id": "id",
                      "name": "name",
                      "operations": [],
                      "resourceTypes": [
                        {
                          "displayName": "name",
                          "name": "name",
                          "operations": []
                        }
                      ],
                      "type": "type"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}": {
      "get": {
        "description": "Gets provider operations metadata for the specified resource provider.",
        "operationId": "ProviderOperationsMetadata_Get",
        "parameters": [
          {
            "description": "The namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "The API version to use for the operation.",
            "in": "query",
            "name": "api-version",
            "required": true,
            "type": "string"
          },
          {
            "default": "resourceTypes",
            "description": "Specifies whether to expand the values.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns the operations metadata.",
            "schema": {
              "$ref": "#/definitions/ProviderOperationsMetadata"
            }
          }
        },
        "tags": [
          "ProviderOperationsMetadata"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "resourceProviderNamespace": "resourceProviderNamespace"
            },
            "responses": {
              "200": {
                "body": {
                  "displayName": "displayName",
                  "id": "id",
                  "name": "name",
                  "operations": [],
                  "resourceTypes": [
                    {
                      "displayName": "name",
                      "name": "name",
                      "operations": []
                    }
                  ],
                  "type": "type"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": {
      "get": {
        "description": "Gets all role assignments for the subscription.",
        "operationId": "RoleAssignments_List",
        "parameters": [
          {
            "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of role assignments.",
            "schema": {
              "$ref": "#/definitions/RoleAssignmentListResult"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "subscriptionId": "subId"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                      "name": "raId",
                      "properties": {
                        "principalId": "Pid",
                        "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                        "scope": "/subscriptions/subId/resourcegroups/rgname"
                      },
                      "type": "Microsoft.Authorization/roleAssignments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/RoleAssignmentFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": {
      "get": {
        "description": "Gets role assignments for a resource group.",
        "operationId": "RoleAssignments_ListForResourceGroup",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of role assignments.",
            "schema": {
              "$ref": "#/definitions/RoleAssignmentListResult"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "resourceGroupName": "rgname",
              "subscriptionId": "subId"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                      "name": "raId",
                      "properties": {
                        "principalId": "Pid",
                        "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                        "scope": "/subscriptions/subId/resourcegroups/rgname"
                      },
                      "type": "Microsoft.Authorization/roleAssignments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/RoleAssignmentFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Authorization/permissions": {
      "get": {
        "description": "Gets all permissions the caller has for a resource group.",
        "operationId": "Permissions_ListForResourceGroup",
        "parameters": [
          {
            "description": "The name of the resource group to get the permissions for. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of permissions.",
            "schema": {
              "$ref": "#/definitions/PermissionGetResult"
            }
          }
        },
        "tags": [
          "Permissions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "resourceGroupName": "rgname",
              "subscriptionId": "subID"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": "nextlink",
                  "value": [
                    {
                      "actions": [],
                      "notActions": []
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/permissions": {
      "get": {
        "description": "Gets all permissions the caller has for a resource.",
        "operationId": "Permissions_ListForResource",
        "parameters": [
          {
            "description": "The name of the resource group containing the resource. The name is case insensitive.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parent resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The resource type of the resource.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the resource to get the permissions for.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of permissions.",
            "schema": {
              "$ref": "#/definitions/PermissionGetResult"
            }
          }
        },
        "tags": [
          "Permissions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "parentResourcePath": "parentResourcePath",
              "resourceGroupName": "rgname",
              "resourceName": "resourceName",
              "resourceProviderNamespace": "rpnamespace",
              "resourceType": "resourceType",
              "subscriptionId": "subId"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "actions": [],
                      "notActions": []
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": {
      "get": {
        "description": "Gets role assignments for a resource.",
        "operationId": "RoleAssignments_ListForResource",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The namespace of the resource provider.",
            "in": "path",
            "name": "resourceProviderNamespace",
            "required": true,
            "type": "string"
          },
          {
            "description": "The parent resource identity.",
            "in": "path",
            "name": "parentResourcePath",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The resource type of the resource.",
            "in": "path",
            "name": "resourceType",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the resource to get role assignments for.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of role assignments.",
            "schema": {
              "$ref": "#/definitions/RoleAssignmentListResult"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "parentResourcePath": "parentResourcePath",
              "resourceGroupName": "rgname",
              "resourceName": "resourceName",
              "resourceProviderNamespace": "resourceProviderNamespace",
              "resourceType": "resourceType",
              "subscriptionId": "subId"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                      "name": "raId",
                      "properties": {
                        "principalId": "Pid",
                        "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                        "scope": "/subscriptions/subId/resourcegroups/rgname"
                      },
                      "type": "Microsoft.Authorization/roleAssignments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/RoleAssignmentFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{roleAssignmentId}": {
      "delete": {
        "description": "Deletes a role assignment.",
        "operationId": "RoleAssignments_DeleteById",
        "parameters": [
          {
            "description": "The fully qualified ID of the role assignment, including the scope, resource name and resource type. Use the format, /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/{subId}/resourcegroups/{rgname}//providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.",
            "in": "path",
            "name": "roleAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleAssignmentId": "roleAssignmentId",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "roleassignmentId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      },
      "get": {
        "description": "Gets a role assignment by ID.",
        "operationId": "RoleAssignments_GetById",
        "parameters": [
          {
            "description": "The fully qualified ID of the role assignment, including the scope, resource name and resource type. Use the format, /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/{subId}/resourcegroups/{rgname}//providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.",
            "in": "path",
            "name": "roleAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleAssignmentId": "roleassignmentId"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "roleassignmentId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a role assignment by ID.",
        "operationId": "RoleAssignments_CreateById",
        "parameters": [
          {
            "description": "The fully qualified ID of the role assignment, including the scope, resource name and resource type. Use the format, /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/{subId}/resourcegroups/{rgname}//providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}.",
            "in": "path",
            "name": "roleAssignmentId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "Parameters for the role assignment.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RoleAssignmentCreateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "Created - Returns the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "parameters": {
                "properties": {
                  "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
                  "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772"
                }
              },
              "roleAssignmentId": "roleAssignmentId",
              "scope": "scope"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "roleassignmentId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/roleAssignments": {
      "get": {
        "description": "Gets role assignments for a scope.",
        "operationId": "RoleAssignments_ListForScope",
        "parameters": [
          {
            "description": "The scope of the role assignments.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of role assignments.",
            "schema": {
              "$ref": "#/definitions/RoleAssignmentListResult"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                      "name": "raId",
                      "properties": {
                        "principalId": "Pid",
                        "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                        "scope": "/subscriptions/subId/resourcegroups/rgname"
                      },
                      "type": "Microsoft.Authorization/roleAssignments"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/RoleAssignmentFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": {
      "delete": {
        "description": "Deletes a role assignment.",
        "operationId": "RoleAssignments_Delete",
        "parameters": [
          {
            "description": "The scope of the role assignment to delete.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the role assignment to delete.",
            "in": "path",
            "name": "roleAssignmentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleAssignmentName": "roleAssignmentName",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "roleassignmentId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      },
      "get": {
        "description": "Get the specified role assignment.",
        "operationId": "RoleAssignments_Get",
        "parameters": [
          {
            "description": "The scope of the role assignment.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the role assignment to get.",
            "in": "path",
            "name": "roleAssignmentName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleAssignmentName": "roleAssignmentName",
              "scope": "scope",
              "subscriptionId": "subId"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "raId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates a role assignment.",
        "operationId": "RoleAssignments_Create",
        "parameters": [
          {
            "description": "The scope of the role assignment to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The name of the role assignment to create. It can be any valid GUID.",
            "in": "path",
            "name": "roleAssignmentName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters for the role assignment.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RoleAssignmentCreateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "Created - Returns information about the role assignment.",
            "schema": {
              "$ref": "#/definitions/RoleAssignment"
            }
          }
        },
        "tags": [
          "RoleAssignments"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "parameters": {
                "properties": {
                  "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
                  "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772"
                }
              },
              "roleAssignmentName": "roleAssignmentName",
              "scope": "scope"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
                  "name": "roleassignmentId",
                  "properties": {
                    "principalId": "Pid",
                    "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
                    "scope": "/subscriptions/subId/resourcegroups/rgname"
                  },
                  "type": "Microsoft.Authorization/roleAssignments"
                }
              }
            }
          }
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/roleDefinitions": {
      "get": {
        "description": "Get all role definitions that are applicable at scope and above.",
        "operationId": "RoleDefinitions_List",
        "parameters": [
          {
            "description": "The scope of the role definition.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well.",
            "in": "query",
            "name": "$filter",
            "required": false,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns an array of role definitions.",
            "schema": {
              "$ref": "#/definitions/RoleDefinitionListResult"
            }
          }
        },
        "tags": [
          "RoleDefinitions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                      "name": "roleDefinitionId",
                      "properties": {
                        "assignableScopes": [
                          "/subscriptions/subId"
                        ],
                        "description": "Role description",
                        "permissions": [
                          {
                            "actions": [
                              "action"
                            ],
                            "notActions": []
                          }
                        ],
                        "roleName": "Role name",
                        "type": "roletype"
                      },
                      "type": "Microsoft.Authorization/roleDefinitions"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-odata": "#/definitions/RoleDefinitionFilter",
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/{scope}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId}": {
      "delete": {
        "description": "Deletes a role definition.",
        "operationId": "RoleDefinitions_Delete",
        "parameters": [
          {
            "description": "The scope of the role definition.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The ID of the role definition to delete.",
            "in": "path",
            "name": "roleDefinitionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role definition.",
            "schema": {
              "$ref": "#/definitions/RoleDefinition"
            }
          }
        },
        "tags": [
          "RoleDefinitions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2017-04-19",
              "roleDefinitionId": "roleDefinitionId",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                  "name": "roleDefinitionId",
                  "properties": {
                    "assignableScopes": [
                      "/subscriptions/subId"
                    ],
                    "description": "Role description",
                    "permissions": [
                      {
                        "actions": [
                          "action"
                        ],
                        "notActions": []
                      }
                    ],
                    "roleName": "Role name",
                    "type": "roletype"
                  },
                  "type": "Microsoft.Authorization/roleDefinitions"
                }
              }
            }
          }
        }
      },
      "get": {
        "description": "Get role definition by name (GUID).",
        "operationId": "RoleDefinitions_Get",
        "parameters": [
          {
            "description": "The scope of the role definition.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The ID of the role definition.",
            "in": "path",
            "name": "roleDefinitionId",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role definition.",
            "schema": {
              "$ref": "#/definitions/RoleDefinition"
            }
          }
        },
        "tags": [
          "RoleDefinitions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleDefinitionId": "roleDefinitionId",
              "scope": "scope"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                  "name": "roleDefinitionId",
                  "properties": {
                    "assignableScopes": [
                      "/subscriptions/subId"
                    ],
                    "description": "Role description",
                    "permissions": [
                      {
                        "actions": [
                          "action"
                        ],
                        "notActions": []
                      }
                    ],
                    "roleName": "Role name",
                    "type": "roletype"
                  },
                  "type": "Microsoft.Authorization/roleDefinitions"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Creates or updates a role definition.",
        "operationId": "RoleDefinitions_CreateOrUpdate",
        "parameters": [
          {
            "description": "The scope of the role definition.",
            "in": "path",
            "name": "scope",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "description": "The ID of the role definition.",
            "in": "path",
            "name": "roleDefinitionId",
            "required": true,
            "type": "string"
          },
          {
            "description": "The values for the role definition.",
            "in": "body",
            "name": "roleDefinition",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RoleDefinition"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "201": {
            "description": "OK - Returns information about the role definition.",
            "schema": {
              "$ref": "#/definitions/RoleDefinition"
            }
          }
        },
        "tags": [
          "RoleDefinitions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "body": {
                "roleDefinition": {
                  "assignableScopes": [
                    "/subscriptions/subId"
                  ],
                  "description": "Role description",
                  "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                  "name": "roleDefinitionId",
                  "permissions": [
                    {
                      "actions": [
                        "action"
                      ],
                      "notActions": []
                    }
                  ],
                  "roleName": "Role name",
                  "type": "Microsoft.Authorization/roleDefinitions"
                }
              },
              "roleDefinition": {},
              "roleDefinitionId": "roleDefinitionId",
              "scope": "scope"
            },
            "responses": {
              "201": {
                "body": {
                  "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                  "name": "roleDefinitionId",
                  "properties": {
                    "assignableScopes": [
                      "/subscriptions/subId"
                    ],
                    "description": "Role description",
                    "permissions": [
                      {
                        "actions": [
                          "action"
                        ],
                        "notActions": []
                      }
                    ],
                    "roleName": "Role name",
                    "type": "roletype"
                  },
                  "type": "Microsoft.Authorization/roleDefinitions"
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "Permission": {
      "description": "Role definition permissions.",
      "properties": {
        "actions": {
          "description": "Allowed actions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "notActions": {
          "description": "Denied actions.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "PermissionGetResult": {
      "description": "Permissions information.",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "An array of permissions.",
          "items": {
            "$ref": "#/definitions/Permission"
          },
          "type": "array"
        }
      }
    },
    "ProviderOperation": {
      "description": "Operation",
      "properties": {
        "description": {
          "description": "The operation description.",
          "type": "string"
        },
        "displayName": {
          "description": "The operation display name.",
          "type": "string"
        },
        "name": {
          "description": "The operation name.",
          "type": "string"
        },
        "origin": {
          "description": "The operation origin.",
          "type": "string"
        },
        "properties": {
          "description": "The operation properties.",
          "type": "object"
        }
      }
    },
    "ProviderOperationsMetadata": {
      "description": "Provider Operations metadata",
      "properties": {
        "displayName": {
          "description": "The provider display name.",
          "type": "string"
        },
        "id": {
          "description": "The provider id.",
          "type": "string"
        },
        "name": {
          "description": "The provider name.",
          "type": "string"
        },
        "operations": {
          "description": "The provider operations.",
          "items": {
            "$ref": "#/definitions/ProviderOperation"
          },
          "type": "array"
        },
        "resourceTypes": {
          "description": "The provider resource types",
          "items": {
            "$ref": "#/definitions/ResourceType"
          },
          "type": "array"
        },
        "type": {
          "description": "The provider type.",
          "type": "string"
        }
      }
    },
    "ProviderOperationsMetadataListResult": {
      "description": "Provider operations metadata list",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "The list of providers.",
          "items": {
            "$ref": "#/definitions/ProviderOperationsMetadata"
          },
          "type": "array"
        }
      }
    },
    "ResourceType": {
      "description": "Resource Type",
      "properties": {
        "displayName": {
          "description": "The resource type display name.",
          "type": "string"
        },
        "name": {
          "description": "The resource type name.",
          "type": "string"
        },
        "operations": {
          "description": "The resource type operations.",
          "items": {
            "$ref": "#/definitions/ProviderOperation"
          },
          "type": "array"
        }
      }
    },
    "RoleAssignment": {
      "description": "Role Assignments",
      "properties": {
        "id": {
          "description": "The role assignment ID.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The role assignment name.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RoleAssignmentPropertiesWithScope",
          "description": "Role assignment properties."
        },
        "type": {
          "description": "The role assignment type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "RoleAssignmentCreateParameters": {
      "description": "Role assignment create parameters.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/RoleAssignmentProperties",
          "description": "Role assignment properties."
        }
      },
      "required": [
        "properties"
      ]
    },
    "RoleAssignmentFilter": {
      "description": "Role Assignments filter",
      "properties": {
        "principalId": {
          "description": "Returns role assignment of the specific principal.",
          "type": "string"
        }
      }
    },
    "RoleAssignmentListResult": {
      "description": "Role assignment list operation result.",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Role assignment list.",
          "items": {
            "$ref": "#/definitions/RoleAssignment"
          },
          "type": "array"
        }
      }
    },
    "RoleAssignmentProperties": {
      "description": "Role assignment properties.",
      "properties": {
        "principalId": {
          "description": "The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can point to a user, service principal, or security group.",
          "type": "string"
        },
        "roleDefinitionId": {
          "description": "The role definition ID used in the role assignment.",
          "type": "string"
        }
      },
      "required": [
        "roleDefinitionId",
        "principalId"
      ]
    },
    "RoleAssignmentPropertiesWithScope": {
      "description": "Role assignment properties with scope.",
      "properties": {
        "principalId": {
          "description": "The principal ID.",
          "type": "string"
        },
        "roleDefinitionId": {
          "description": "The role definition ID.",
          "type": "string"
        },
        "scope": {
          "description": "The role assignment scope.",
          "type": "string"
        }
      }
    },
    "RoleDefinition": {
      "description": "Role definition.",
      "properties": {
        "id": {
          "description": "The role definition ID.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The role definition name.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RoleDefinitionProperties",
          "description": "Role definition properties."
        },
        "type": {
          "description": "The role definition type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "RoleDefinitionFilter": {
      "description": "Role Definitions filter",
      "properties": {
        "roleName": {
          "description": "Returns role definition with the specific name.",
          "type": "string"
        }
      }
    },
    "RoleDefinitionListResult": {
      "description": "Role definition list operation result.",
      "properties": {
        "nextLink": {
          "description": "The URL to use for getting the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Role definition list.",
          "items": {
            "$ref": "#/definitions/RoleDefinition"
          },
          "type": "array"
        }
      }
    },
    "RoleDefinitionProperties": {
      "description": "Role definition properties.",
      "properties": {
        "assignableScopes": {
          "description": "Role definition assignable scopes.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "description": {
          "description": "The role definition description.",
          "type": "string"
        },
        "permissions": {
          "description": "Role definition permissions.",
          "items": {
            "$ref": "#/definitions/Permission"
          },
          "type": "array"
        },
        "roleName": {
          "description": "The role name.",
          "type": "string"
        },
        "type": {
          "description": "The role type.",
          "type": "string"
        }
      }
    }
  },
  "x-ms-paths": {
    "/{roleDefinitionId}?disambiguation_dummy": {
      "get": {
        "description": "Gets a role definition by ID.",
        "operationId": "RoleDefinitions_GetById",
        "parameters": [
          {
            "description": "The fully qualified role definition ID. Use the format, /subscriptions/{guid}/providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for subscription level role definitions, or /providers/Microsoft.Authorization/roleDefinitions/{roleDefinitionId} for tenant level role definitions.",
            "in": "path",
            "name": "roleDefinitionId",
            "required": true,
            "type": "string",
            "x-ms-skip-url-encoding": true
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK - Returns information about the role definition.",
            "schema": {
              "$ref": "#/definitions/RoleDefinition"
            }
          }
        },
        "tags": [
          "RoleDefinitions"
        ],
        "x-ms-examples": {
          "GetConfigurations": {
            "parameters": {
              "api-version": "2015-07-01",
              "roleDefinitionId": "roleDefinitionId"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/subID/providers/Microsoft.Authorization/roleDefinitions/roleDefinitionId",
                  "name": "roleDefinitionId",
                  "properties": {
                    "assignableScopes": [
                      "/subscriptions/subId"
                    ],
                    "description": "Role description",
                    "permissions": [
                      {
                        "actions": [
                          "action"
                        ],
                        "notActions": []
                      }
                    ],
                    "roleName": "Role name",
                    "type": "roletype"
                  },
                  "type": "Microsoft.Authorization/roleDefinitions"
                }
              }
            }
          }
        }
      }
    }
  }
}