Bulk Access
- Last UpdatedJul 18, 2022
- 6 minute read
Defines the public API endpoints for bulk access jobs.
List Bulk Access Job Summaries
Retrieves all bulk access job summaries for a namespace.
Request
GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/bulk/accesscontrol/jobs
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | BulkAccessJobSummary[] | Success. |
| 401 | ErrorResponse | Unauthorized. |
| 403 | ErrorResponse | Forbidden. |
| 408 | ErrorResponse | Operation timed out. |
| 500 | ErrorResponse | Internal server error. |
Example response body
200 Response (BulkAccessJobSummary[])
[
{
"Id": "string",
"Name": "string",
"Description": "string",
"OperationId": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Requester": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"StepsSucceeded": 0,
"StepsFailed": 0,
"StepsProcessed": 0,
"TotalSteps": 0
}
]
Authorization
Allowed for these roles:
- Tenant Member
Create Bulk Access Job
Creates a bulk access job for updating multiple access control lists.
Request
POST /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/bulk/accesscontrol/jobs
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.
Request Body
Input containing information for the access control list update operation.
{
"AccessControlList": {
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
]
},
"Operation": 0,
"Scope": 0,
"ResourceIds": [
"string"
],
"RoleIds": [
"string"
],
"ResourceType": 0,
"Description": "string"
}
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | BulkAccessJobSummary | Success. |
| 400 | ErrorResponseBody | Missing or invalid inputs. |
| 401 | ErrorResponseBody | Unauthorized. |
| 403 | ErrorResponseBody | Forbidden. |
| 408 | ErrorResponseBody | Operation timed out. |
| 500 | ErrorResponseBody | Internal server error. |
Example response body
200 Response (BulkAccessJobSummary)
{
"Id": "string",
"Name": "string",
"Description": "string",
"OperationId": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Requester": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"StepsSucceeded": 0,
"StepsFailed": 0,
"StepsProcessed": 0,
"TotalSteps": 0
}
Authorization
Allowed for these roles:
- Tenant Member
Get Bulk Access Job Summary
Retrieves the summary of a bulk access job.
Request
GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/bulk/accesscontrol/jobs/{jobId}
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.string jobId
Job identifier.
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | BulkAccessJobSummary | Success. |
| 401 | ErrorResponse | Unauthorized. |
| 403 | ErrorResponse | Forbidden. |
| 408 | ErrorResponse | Operation timed out. |
| 500 | ErrorResponse | Internal server error. |
Example response body
200 Response (BulkAccessJobSummary)
{
"Id": "string",
"Name": "string",
"Description": "string",
"OperationId": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Requester": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"StepsSucceeded": 0,
"StepsFailed": 0,
"StepsProcessed": 0,
"TotalSteps": 0
}
Authorization
Allowed for these roles:
- Tenant Member
List Bulk Access Job Steps
Retrieves the job steps of a completed bulk access job. No steps are returned if the job has not completed.
Request
GET /api/v1-preview/tenants/{tenantId}/namespaces/{namespaceId}/bulk/accesscontrol/jobs/{jobId}/jobsteps
?filterBy={filterBy}&skip={skip}&count={count}
Parameters
string tenantId
Tenant identifier.string namespaceId
Namespace identifier.string jobId
Job identifier.
[optional] any filterBy
Filter to specify if successful, failed, or all job steps are returned.[optional] integer skip
Parameter representing the zero-based offset of the first object to retrieve. If unspecified, a default value of 0 is used.[optional] integer count
Parameter representing the maximum number of objects to retrieve. If unspecified, a default value of 100 is used.
Response
| Status Code | Body Type | Description |
|---|---|---|
| 200 | BulkAccessJobStep[] | Success. |
| 401 | ErrorResponse | Unauthorized. |
| 403 | ErrorResponse | Forbidden. |
| 408 | ErrorResponse | Operation timed out. |
| 500 | ErrorResponse | Internal server error. |
Example response body
200 Response (BulkAccessJobStep[])
[
{
"Id": "string",
"Name": "string",
"Description": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Errors": [
{
"OperationId": "string",
"Error": "string",
"Reason": "string",
"Resolution": "string"
}
],
"ResourceId": "string"
}
]
Authorization
Allowed for these roles:
- Tenant Member
Definitions
BulkAccessJobSummary
Provides summary information for the job.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Id | string | false | true | Identifier of the job. |
| Name | string | false | true | Name of the job. |
| Description | string | false | true | Description of the job. |
| OperationId | string | false | true | Operation identifier of the job. |
| StartTime | date-time | false | true | Start time of the job. |
| EndTime | date-time | false | true | End time of the job. |
| Status | Status | false | false | Status of the job. |
| Requester | Trustee | false | true | Requester of the job. |
| StepsSucceeded | int32 | false | false | Number of succeeded steps of the job. |
| StepsFailed | int32 | false | false | Number of failed steps of the job. |
| StepsProcessed | int32 | false | false | Number of steps of the job that have finished, regardless of status. |
| TotalSteps | int32 | false | false | Total count of steps of the job. |
{
"Id": "string",
"Name": "string",
"Description": "string",
"OperationId": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Requester": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"StepsSucceeded": 0,
"StepsFailed": 0,
"StepsProcessed": 0,
"TotalSteps": 0
}
Status
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Invalid | 0 | |
| NotStarted | 1 | |
| InProgress | 2 | |
| Succeeded | 3 | |
| Cancelled | 4 | |
| Failed | 5 | |
| PartiallySucceeded | 6 |
Trustee
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Type | TrusteeType | false | false | None |
| ObjectId | string | false | true | None |
| TenantId | string | false | true | None |
{
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
}
TrusteeType
Enumerated Values
| Property | Value |
|---|---|
| User | 1 |
| Client | 2 |
| Role | 3 |
ErrorResponseBody
{}
BulkAccessUpdateInput
Specifies the behavior of a bulk access job.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| AccessControlList | AccessControlList | false | true | The access control list to be applied to the specified resources. If Operation is UpdateAll, this access control list will replace the entire access control list of each resource. If Operation is UpdateRoleAccess, it will replace only the access control entries within the access control list whose trustees match those provided in RoleIds. |
| Operation | Operation | false | false | Operation type of the bulk access job. |
| Scope | Scope | false | false | Scope of the bulk access job. |
| ResourceIds | string[] | false | true | Identifiers of resources to update. Only required when Scope is Resource. |
| RoleIds | string[] | false | true | Role identifiers of trustee whose access control entries are being updated. Only required when Operation is UpdateRoleAccess. |
| ResourceType | ResourceType | false | false | Type of resource to update. |
| Description | string | false | true | Optional description of the bulk access job. |
{
"AccessControlList": {
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
]
},
"Operation": 0,
"Scope": 0,
"ResourceIds": [
"string"
],
"RoleIds": [
"string"
],
"ResourceType": 0,
"Description": "string"
}
AccessControlList
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| RoleTrusteeAccessControlEntries | [AccessControlEntry] | false | true | None |
{
"RoleTrusteeAccessControlEntries": [
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
]
}
AccessControlEntry
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Trustee | Trustee | false | true | None |
| AccessType | AccessType | false | false | None |
| AccessRights | int64 | false | false | None |
{
"Trustee": {
"Type": 1,
"ObjectId": "string",
"TenantId": "string"
},
"AccessType": 0,
"AccessRights": 0
}
AccessType
Enumerated Values
| Property | Value |
|---|---|
| Allowed | 0 |
| Denied | 1 |
Operation
Operation being performed during a bulk access job.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| UpdateRoleAccess | 0 | Operation being performed during a bulk access job. |
| UpdateAll | 1 | Operation being performed during a bulk access job. |
Scope
Scope of a bulk access job.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Namespace | 0 | Scope of a bulk access job. |
| Resource | 1 | Scope of a bulk access job. |
ResourceType
Type of resource whose access is being bulk updated.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Stream | 0 | Type of resource whose access is being bulk updated. |
ErrorResponse
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| OperationId | string | true | false | None |
| Error | string | true | false | None |
| Reason | string | true | false | None |
| Resolution | string | true | false | None |
| DynamicProperties | object | false | true | None |
{
"OperationId": "string",
"Error": "string",
"Reason": "string",
"Resolution": "string",
"DynamicProperties": {
"property1": null,
"property2": null
},
"property1": null,
"property2": null
}
BulkAccessJobStep
Job step of a bulk access job. Each job step corresponds to a resource being updated during the job.
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| Id | string | false | true | None |
| Name | string | false | true | None |
| Description | string | false | true | None |
| StartTime | date-time | false | true | None |
| EndTime | date-time | false | true | None |
| Status | Status | false | false | None |
| Errors | [ErrorResponse2] | false | true | None |
| ResourceId | string | false | true | Identifier of resource being updated. |
{
"Id": "string",
"Name": "string",
"Description": "string",
"StartTime": "2019-08-24T14:15:22Z",
"EndTime": "2019-08-24T14:15:22Z",
"Status": 0,
"Errors": [
{
"OperationId": "string",
"Error": "string",
"Reason": "string",
"Resolution": "string"
}
],
"ResourceId": "string"
}
ErrorResponse2
Properties
| Property Name | Data Type | Required | Nullable | Description |
|---|---|---|---|---|
| OperationId | string | false | true | None |
| Error | string | false | true | None |
| Reason | string | false | true | None |
| Resolution | string | false | true | None |
{
"OperationId": "string",
"Error": "string",
"Reason": "string",
"Resolution": "string"
}
JobStepFilter
Filter to be applied to bulk access job steps.
Enumerated Values
| Property | Value | Description |
|---|---|---|
| Success | 0 | Returns job steps with status of success. |
| Failure | 1 | Returns job steps with status of failed. |
| All | 2 | Returns all job steps. |