Skip to main content

Authorizing User Access

Assuming object types, users and warrants are defined for your system, you can add runtime checks to your application to check user access.

For example, you may want to check if the user identified by userId 5djfs6 can view the report with id avk2837. A warrant check for this condition will return a 200 OK if the user has access or a 401 Not Authorized if the user does not have access.

POST /v1/authorize

Parameters

ParameterDescriptionTypeRequired
objectTypeThe type of object. Must be one of your system's existing object types.JSON bodyyes
objectIdThe id of the specific object.JSON bodyyes
relationThe relation to check for this object to user association. The relation must be valid as per the object type definition.JSON bodyyes
userThe specific user for which access will be checked. Can be a specific user by id or an objectType, objectId and relation set.JSON bodyyes

Sample Request

curl "https://api.warrant.dev/v1/authorize" \
-X POST \
-H "Authorization: ApiKey YOUR_KEY" \
--data-raw \
'{
"objectType": "report",
"objectId": "avk2837",
"relation": "viewer",
"user": {
"userId": "5djfs6"
}
}'

Sample Response

200 OK
{
"Authorized"
}