Access
Principals, groups, roles, and role bindings.
Operations
Each operation lists its specific responses. See Common error responses for errors shared by every operation on this page.
Approve or deny CLI device authorization
POST /api/v1/access/device-authorizations/approval
Operation ID: decideDeviceAuthorization
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List groups
GET /api/v1/groups
Operation ID: listGroups
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Create a group
POST /api/v1/groups
Operation ID: createGroup
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
Delete a group
DELETE /api/v1/groups/{group}
Operation ID: deleteGroup
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Get a group
GET /api/v1/groups/{group}
Operation ID: getGroup
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Update a group
PATCH /api/v1/groups/{group}
Operation ID: updateGroup
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List group members
GET /api/v1/groups/{group}/members
Operation ID: listGroupMembers
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Remove a group member
DELETE /api/v1/groups/{group}/members/{principal}
Operation ID: removeGroupMember
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
principal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Add a group member
PUT /api/v1/groups/{group}/members/{principal}
Operation ID: addGroupMember
Effect: idempotent-write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
principal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
GET /api/v1/groups/{group}/semantic-attributes
GET /api/v1/groups/{group}/semantic-attributes
Operation ID: listGroupSemanticAttributeAssignments
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
DELETE /api/v1/groups/{group}/semantic-attributes/{attribute}
DELETE /api/v1/groups/{group}/semantic-attributes/{attribute}
Operation ID: removeGroupSemanticAttributeAssignment
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
attribute |
path | Yes | string | |
If-Match |
header | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
PUT /api/v1/groups/{group}/semantic-attributes/{attribute}
PUT /api/v1/groups/{group}/semantic-attributes/{attribute}
Operation ID: upsertGroupSemanticAttributeAssignment
Effect: idempotent-write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
group |
path | Yes | string | |
attribute |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List principals
GET /api/v1/principals
Operation ID: listPrincipals
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
email |
query | No | string | |
q |
query | No | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Create a local principal
POST /api/v1/principals
Operation ID: createPrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
Delete a principal
DELETE /api/v1/principals/{principal}
Operation ID: deletePrincipal
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Get a principal
GET /api/v1/principals/{principal}
Operation ID: getPrincipal
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Update a principal
PATCH /api/v1/principals/{principal}
Operation ID: updatePrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Block a principal in LeapView and reject its credentials
POST /api/v1/principals/{principal}/disable
Sets an independent LeapView administrator block. External provisioning cannot clear this block.
Operation ID: disablePrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
Idempotency-Key |
header | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Remove a principal's LeapView administrator block
POST /api/v1/principals/{principal}/enable
Clears only the LeapView administrator block. An externally disabled principal remains disabled.
Operation ID: enablePrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
Idempotency-Key |
header | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Reset a local principal password
POST /api/v1/principals/{principal}/password-reset
Operation ID: resetPrincipalPassword
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
Idempotency-Key |
header | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
GET /api/v1/principals/{principal}/semantic-attributes
GET /api/v1/principals/{principal}/semantic-attributes
Operation ID: listPrincipalSemanticAttributeAssignments
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
DELETE /api/v1/principals/{principal}/semantic-attributes/{attribute}
DELETE /api/v1/principals/{principal}/semantic-attributes/{attribute}
Operation ID: removePrincipalSemanticAttributeAssignment
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
attribute |
path | Yes | string | |
If-Match |
header | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
PUT /api/v1/principals/{principal}/semantic-attributes/{attribute}
PUT /api/v1/principals/{principal}/semantic-attributes/{attribute}
Operation ID: upsertPrincipalSemanticAttributeAssignment
Effect: idempotent-write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
attribute |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List a principal's sessions
GET /api/v1/principals/{principal}/sessions
Operation ID: listPrincipalSessions
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Revoke a principal's session
DELETE /api/v1/principals/{principal}/sessions/{session}
Operation ID: revokePrincipalSession
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
principal |
path | Yes | string | |
session |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Check multiple authorization decisions
POST /api/v1/projects/{project}/authorization-checks
Operation ID: checkAuthorizationBatch
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List effective capabilities
GET /api/v1/projects/{project}/effective-capabilities
Operation ID: listEffectiveCapabilities
Effect: read
Confirmation: never
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
resourceKind |
query | No | ResourceKind | |
resourceId |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List grants
GET /api/v1/projects/{project}/grants
Operation ID: listGrants
Effect: read
Confirmation: never
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
resourceKind |
query | No | ResourceKind | |
resourceId |
query | No | string | |
includeInherited |
query | No | boolean | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Create a grant
POST /api/v1/projects/{project}/grants
Operation ID: createGrant
Effect: write
Confirmation: conditional
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
Delete a grant
DELETE /api/v1/projects/{project}/grants/{grant}
Operation ID: deleteGrant
Effect: destructive
Confirmation: required
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
grant |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Get a resource capability grant
GET /api/v1/projects/{project}/grants/{grant}
Operation ID: getGrant
Effect: read
Confirmation: never
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
grant |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Update a resource capability grant
PATCH /api/v1/projects/{project}/grants/{grant}
Operation ID: updateGrant
Effect: write
Confirmation: conditional
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
grant |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List project roles
GET /api/v1/projects/{project}/roles
Operation ID: listProjectRoles
Effect: read
Confirmation: never
Required privilege: PROJECT_ADMIN
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
project |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
GET /api/v1/semantic-attributes
GET /api/v1/semantic-attributes
Operation ID: listSemanticAttributeDefinitions
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
q |
query | No | string | |
ownerKind |
query | No | SemanticAttributeOwnerKindValue | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
POST /api/v1/semantic-attributes
POST /api/v1/semantic-attributes
Operation ID: registerSemanticAttribute
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
GET /api/v1/semantic-attributes/{attribute}
GET /api/v1/semantic-attributes/{attribute}
Operation ID: getSemanticAttributeDefinition
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
PATCH /api/v1/semantic-attributes/{attribute}
PATCH /api/v1/semantic-attributes/{attribute}
Operation ID: updateSemanticAttributeMetadata
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
GET /api/v1/semantic-attributes/{attribute}/claim-mappings
GET /api/v1/semantic-attributes/{attribute}/claim-mappings
Operation ID: listSemanticAttributeClaimMappings
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
POST /api/v1/semantic-attributes/{attribute}/claim-mappings
POST /api/v1/semantic-attributes/{attribute}/claim-mappings
Operation ID: upsertSemanticAttributeClaimMapping
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
Idempotency-Key |
header | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
DELETE /api/v1/semantic-attributes/{attribute}/claim-mappings/{mapping}
DELETE /api/v1/semantic-attributes/{attribute}/claim-mappings/{mapping}
Operation ID: removeSemanticAttributeClaimMapping
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
mapping |
path | Yes | string | |
If-Match |
header | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
POST /api/v1/semantic-attributes/{attribute}/disable
POST /api/v1/semantic-attributes/{attribute}/disable
Operation ID: disableSemanticAttribute
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
Idempotency-Key |
header | Yes | string | |
If-Match |
header | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Preview semantic attribute assignment impact
POST /api/v1/semantic-attributes/{attribute}/impact-preview
Operation ID: previewSemanticAttributeImpact
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
POST /api/v1/semantic-attributes/{attribute}/restore
POST /api/v1/semantic-attributes/{attribute}/restore
Operation ID: restoreSemanticAttribute
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
attribute |
path | Yes | string | |
Idempotency-Key |
header | Yes | string | |
If-Match |
header | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List service principals
GET /api/v1/service-principals
Operation ID: listServicePrincipals
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Create a service principal
POST /api/v1/service-principals
Operation ID: createServicePrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
Delete a service principal
DELETE /api/v1/service-principals/{servicePrincipal}
Operation ID: deleteServicePrincipal
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Get a service principal
GET /api/v1/service-principals/{servicePrincipal}
Operation ID: getServicePrincipal
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Update a service principal
PATCH /api/v1/service-principals/{servicePrincipal}
Operation ID: updateServicePrincipal
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string | |
If-Match |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
List service-principal secrets
GET /api/v1/service-principals/{servicePrincipal}/secrets
Operation ID: listServicePrincipalSecrets
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string | |
limit |
query | No | integer | |
pageToken |
query | No | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Create a service principal secret
POST /api/v1/service-principals/{servicePrincipal}/secrets
Operation ID: createServicePrincipalSecret
Effect: write
Confirmation: conditional
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string | |
Idempotency-Key |
header | Yes | string |
Request body
Content types: application/json.
Responses
| Status | Description |
|---|---|
201 |
The request has succeeded and a new resource has been created as a result. |
Revoke a service principal secret
DELETE /api/v1/service-principals/{servicePrincipal}/secrets/{secret}
Operation ID: revokeServicePrincipalSecret
Effect: destructive
Confirmation: required
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string | |
secret |
path | Yes | string |
Responses
| Status | Description |
|---|---|
204 |
There is no content to send for this request, but the headers may be useful. |
Get service-principal secret metadata
GET /api/v1/service-principals/{servicePrincipal}/secrets/{secret}
Operation ID: getServicePrincipalSecret
Effect: read
Confirmation: never
Focused reference: JSON · Markdown
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
servicePrincipal |
path | Yes | string | |
secret |
path | Yes | string |
Responses
| Status | Description |
|---|---|
200 |
The request has succeeded. |
Common error responses
These error responses apply to every operation on this page.
| Status | Description |
|---|---|
400 |
The server could not understand the request due to invalid syntax. |
401 |
Access is unauthorized. |
403 |
Access is forbidden. |
404 |
The server cannot find the requested resource. |
409 |
The request conflicts with the current state of the server. |
412 |
Precondition failed. |
413 |
Client error |
415 |
Client error |
422 |
Client error |
429 |
Client error |
500 |
Server error |
502 |
Server error |
503 |
Service unavailable. |