Skip to main content

Authorization

Nullplatform has a powerful role-based access control schema that is based on the following concepts:

  • Users. Every action is initiated by a user, who can be a person or a machine user.
  • Actions. Every API endpoint specifies the action that is associated with its execution and for which users will need to have a grant on (eg: scope:read).
  • Grants. A grant (sometimes referred to as 'permission') is an authorization to execute certain action (eg: scope:read) on a certain NRN (eg: organization=1:...:scope=5). Learn more about NRN here.
  • Roles. Roles are a handy way to assign a bag of low-level actions to a user. A role by itself is useless unless it is granted at a certain resource (NRN).

Roles

Every user has one or more roles that regulate which actions that user can execute. We have roles that are oriented towards managers, developers, operations, security, CI, and more.

You can read more about this on the roles section.

API keys for machine users

If you have a system that will interact with nullplatform programmatically (eg: CI workflow), you have to create an API key with the adequate roles.

Read more about this on the API keys section.

Access Tokens

Most API endpoints will require you to send an access token through the use of the Authorization: Bearer... HTTP header.

How do I get a token?

Getting a token is easy and dependent on whether the API calls will be placed by people (humans users) or machines (script/integration/automation users).

  • Human users must use their personal access token to place calls to the API. This token is the same one that the UI uses on every API call on the frontend, and can be retrieved using our Chrome Extension.

  • API keys / Machine users must place calls using access tokens obtained from an API key. Read the API keys section to learn how to obtain one.

Chrome Extension

We have developed a browser extension that makes it easier to get your personal access token to place calls to our API.

The extension can be downloaded from https://github.com/nullplatform/chrome-extension.