Permission service#
The PermissionService provides an interface for checking permissions for a user, where a permission is an action that is performed on a resource.
OpenAPI file: nominal.authorization.permissions.v1.json
Endpoints#
Check permissions#
POST /authorization/permissions/v1/check
Checks a list of permissions for the calling user and returns results in the same order.
Body
requestsarray ofCheckPermissionRequest
Fields of
CheckPermissionRequestactionstring required
resourcestring requiredMatches
^ri\.[a-z][a-z0-9\-]*\.([a-z0-9][a-z0-9\-]*)?\.[a-z][a-z0-9\-]*\.[a-zA-Z0-9\-\._]+$.
Response
responsesarray ofCheckPermissionResponse
Fields of
CheckPermissionResponseisAuthorizedboolean
requestedPermissionCheckPermissionRequest
Fields of
CheckPermissionRequestactionstring
resourcestringMatches
^ri\.[a-z][a-z0-9\-]*\.([a-z0-9][a-z0-9\-]*)?\.[a-z][a-z0-9\-]*\.[a-zA-Z0-9\-\._]+$.
Request
curl -X POST "https://api.gov.nominal.io/api/authorization/permissions/v1/check" \
-H "Authorization: Bearer <api key>" \
-H "Content-Type: application/json" \
--data '{
"requests": [
{
"action": "<action>",
"resource": "<resource>"
}
]
}'
import requests
response = requests.post(
"https://api.gov.nominal.io/api/authorization/permissions/v1/check",
headers={"Authorization": "Bearer <api key>"},
json={"requests": [{"action": "<action>", "resource": "<resource>"}]},
)
response.raise_for_status()
print(response.json())
import httpx
response = httpx.post(
"https://api.gov.nominal.io/api/authorization/permissions/v1/check",
headers={"Authorization": "Bearer <api key>"},
json={"requests": [{"action": "<action>", "resource": "<resource>"}]},
)
response.raise_for_status()
print(response.json())
import asyncio
import aiohttp
async def main() -> None:
async with aiohttp.ClientSession() as session:
async with session.post(
"https://api.gov.nominal.io/api/authorization/permissions/v1/check",
headers={"Authorization": "Bearer <api key>"},
json={"requests": [{"action": "<action>", "resource": "<resource>"}]},
) as response:
response.raise_for_status()
print(await response.json())
asyncio.run(main())
Response: 200
{
"responses": [
{
"isAuthorized": true,
"requestedPermission": {
"action": "<action>",
"resource": "<resource>"
}
}
]
}
Types#
CheckPermissionRequest#
A permission is the declaration of an action that can be performed on a resource.
actionstring required
resourcestring requiredMatches
^ri\.[a-z][a-z0-9\-]*\.([a-z0-9][a-z0-9\-]*)?\.[a-z][a-z0-9\-]*\.[a-zA-Z0-9\-\._]+$.
CheckPermissionResponse#
isAuthorizedboolean
requestedPermissionCheckPermissionRequestrequired
Page design based on Scalar, MIT License.