Skip to main content

Authorization

A package providing a base authorizations class to help check which permissions a user has.

Version

Installation

NPM

npm install @availity/authorizations-axios @availity/api-axios

Yarn

yarn add @availity/authorizations-axios @availity/api-axios

Usage

@availity/authorizations-axios exports a pre-configured singleton that uses AvPermissionsApi and AvRegionsApi from @availity/api-axios. You do not need to provide these yourself.

import avAuthorizations from '@availity/authorizations-axios';

// Check if the user is authorized for a given permission
const authorized = await avAuthorizations.isAuthorized('7890', 'FL');

Methods

For all methods, if no region is passed in, it defaults to the current region (resolved via avRegionsApi.getCurrentRegion()). Permissions are cached after the first fetch — subsequent calls for the same permission/region return cached results without additional network requests.

isAuthorized(permissionId, region)

Returns Promise<boolean>true if the current user has access to the permission in the given region.

import avAuthorizations from '@availity/authorizations-axios';

const canAccess = await avAuthorizations.isAuthorized('7890');
if (canAccess) {
// show feature
}

isAnyAuthorized(permissionIds, region)

Returns Promise<boolean>true if the current user has access to any of the permissions in the given region.

const canAccessAny = await avAuthorizations.isAnyAuthorized(['7890', '7891']);

getPermission(permissionId, region)

Returns Promise<{ id, isAuthorized, organizations, geographies }> — the full permission object.

const permission = await avAuthorizations.getPermission('7890');
// {
// id: '7890',
// isAuthorized: true,
// organizations: [{ id: '1234', resources: [...] }],
// geographies: []
// }

getPermissions(permissionIds, region)

Returns Promise<Array<{ id, isAuthorized, organizations, geographies }>> — an array of permission objects.

const permissions = await avAuthorizations.getPermissions(['7890', '7891']);

getOrganizations(permissionId, region)

Returns the organizations array for the given permission. Will be empty if not authorized.

const orgs = await avAuthorizations.getOrganizations('7890');
// [{ id: '1234', resources: [...] }]

getPayers(permissionId, organizationId, region)

Returns the resources array for the given organization within the permission. Returns an empty array if the organization is not found.

const payers = await avAuthorizations.getPayers('7890', '1234');
// [{ id: 'payer1', ... }]