Skip to main content

Authorisations API Usage Examples

The Authorisations API can be used to view and manage Authorisation objects.

The complete, up-to-date API documentation is accessible from the Management API documentation. This page walks through some of the basic features with examples.

Creating an Authorisation

A new Authorisation can be created by a client or a user with the required permission to create Authorisations.

In this example, an Authorisation to file for a permit is created between two Users — a subject (delegate) authorised to act, and an object (principal) on whose behalf the subject may act:

POST /api/rest/v1/authorisation
Content-Type: application/json
{
"type": "file_for_permit",
"subject": {
"type": "User",
"value": "5c3dc19ade95082b300d2b41"
},
"object": {
"type": "User",
"value": "5c3dc19ade95082b300d2b4a"
},
"validFrom": "2022-05-24T10:49:36.271Z",
"validTo": "2023-05-24T10:49:36.271Z"
}

The response to a successful request includes all details about the new Authorisation, including its generated id and creator:

{
"id": "5c3dc19ade95082b300d2b4a",
"type": "file_for_permit",
"subject": {
"type": "User",
"value": "5c3dc19ade95082b300d2b41"
},
"object": {
"type": "User",
"value": "5c3dc19ade95082b300d2b4a"
},
"nsCode": "customers",
"creator": {
"type": "User",
"id": "5c3dc19ade95082b300d2b41"
},
"validFrom": "2022-05-24T10:49:36.271Z",
"validTo": "2023-05-24T10:49:36.271Z",
"active": true,
"revoked": false
}

Listing Authorisations delegated to a User

This example lists the active Authorisations that have been delegated to a specific User, by filtering on subject.value and revoked:

GET /api/rest/v1/authorisation?filter=subject.value eq "5c3dc19ade95082b300d2b41" AND revoked ne true

The response includes the Authorisation created above, among any others matching the filter.

Revoking an Authorisation

This example revokes the Authorisation created above, giving a reason for the revocation:

POST /api/rest/v1/authorisation/5c3dc19ade95082b300d2b4a/revoke
Content-Type: application/json
{
"cause": "Permit application withdrawn"
}

The response includes all details of the now-revoked Authorisation. The changed fields are revoked, revokedAt, revocationDetails, and active:

{
"id": "5c3dc19ade95082b300d2b4a",
"type": "file_for_permit",
"subject": {
"type": "User",
"value": "5c3dc19ade95082b300d2b41"
},
"object": {
"type": "User",
"value": "5c3dc19ade95082b300d2b4a"
},
"nsCode": "customers",
"creator": {
"type": "User",
"id": "5c3dc19ade95082b300d2b41"
},
"validFrom": "2022-05-24T10:49:36.271Z",
"validTo": "2023-05-24T10:49:36.271Z",
"active": false,
"revoked": true,
"revokedAt": "2022-06-01T08:12:03.000Z",
"revocationDetails": {
"cause": "Permit application withdrawn"
}
}