Skip to main content
GET
Get authorization utilization

Get Authorization Utilization

Retrieve per-period utilization for a patient authorization or an authorization pool: how many units have been delivered and how many are scheduled in each period. Results are scoped to the organization that owns the API key. The endpoint returns utilization only. For the authorization details themselves (number, status, authorized units, dates), use the Users endpoints.

Headers

Path Parameters

  • publicId (required): Public identifier of an authorization (auth_...) or of an authorization pool (apool_...). Both come from the Users endpoints on a patient: authorizations[].publicId for a standalone authorization and authorizationPools[].publicId for a pool. An authorization inside a pool has its own publicId too, at authorizationPools[].authorizations[].publicId (also returned in this endpoint’s members).

Query Parameters

  • startDate (optional): First calendar day of the window (YYYY-MM-DD), read as the start of that day in timezone. Default: the authorization start date (the earliest start date among the members for a pool)
  • endDate (optional): Last calendar day of the window (YYYY-MM-DD), read as the end of that day in timezone. Default: six weeks from today
  • timezone (optional): IANA timezone identifier, for example America/Chicago. Default: the timezone of the patient’s home address
startDate and endDate are independent: supply either, both, or neither. When you supply both, startDate must be on or before endDate.

How the window and periods work

  • Default window. With no dates, the window runs from the authorization start date through six weeks from today, regardless of the authorization’s unit frequency.
  • Your own range. A range you supply is used as given. The only limit is the one-year maximum the authorization engine enforces; an endDate beyond it is shortened to that limit rather than rejected.
  • Periods. Each entry in periods is one period of the authorization’s unit frequency (daily, weekly, monthly, yearly or total) that overlaps the window. An authorization or pool that is not active in the window returns an empty periods array.
  • Units. Units are counted in the authorization’s billing unit (for example 15-minute units, or visits). unitsUtilized is delivered units, counted from encounters. unitsScheduled is units scheduled in the period, counted from appointments.
  • Timezone. timezone, the window dates and every period date use the same IANA timezone. If you do not pass one and the patient has no home address timezone, the request fails with 422.

Pools and members

The response always contains both a pool and a members list:
  • For a standalone authorization (not part of a pool), pool is null and members contains just that authorization.
  • For an authorization pool, or for an authorization that belongs to a pool, pool holds the pool-wide utilization and members lists every authorization in the pool.
  • Each member’s periods count only that authorization’s own units. The pool’s periods count the units of all members together.

Response Fields

  • subject: AUTHORIZATION or POOL, depending on whether publicId was an authorization or a pool
  • publicId: The publicId from the request
  • startDate / endDate: The window that was used (YYYY-MM-DD), in timezone
  • timezone: The IANA timezone used for the window and for period dates
  • pool: Pool-wide utilization (poolPublicId and periods), or null for a standalone authorization
  • members: Utilization of each authorization (authorizationPublicId, serviceLinePublicId and periods)
Each entry in periods has:
  • startDate / endDate: First and last calendar day of the period (YYYY-MM-DD)
  • unitsUtilized: Units delivered in the period
  • unitsScheduled: Units scheduled in the period

Success Response (200)

The example below is a request for an authorization that belongs to a pool, with startDate=2026-09-14, endDate=2026-09-27 and timezone=America/Chicago. The two authorizations are on different service lines and the pool’s units are the sum of its members’ units.
For a standalone authorization, pool is null and members has one entry:

Error Responses

400 - Validation Error

Returned when a query parameter is malformed (startDate or endDate that is not a valid YYYY-MM-DD calendar date, or a timezone that is not a supported IANA identifier).

400 - Invalid Date Range

Returned when you supply both dates and startDate is after endDate.

401 - Unauthorized

403 - Forbidden

Returned when the API key’s user is not allowed to read user data.

404 - Not Found

Returned when no authorization or pool with this publicId exists in your organization. An ID that belongs to another organization is indistinguishable from an unknown one.

422 - Unprocessable Entity

Returned when you do not pass timezone and the patient has no home address timezone. Pass timezone explicitly to resolve it.

500 - Internal Server Error

Returned when utilization could not be computed.

Examples

cURL Example

JavaScript Example

Authorizations

Authorization
string
header
required

API key authentication. Include your API key in the Authorization header as 'Bearer '

Path Parameters

publicId
string
required

Public identifier of an authorization or of an authorization pool

Minimum string length: 1

Query Parameters

startDate
string<date>

First calendar day of the window (YYYY-MM-DD), read as the start of that day in the timezone. Defaults to the authorization start date (the earliest member start date for a pool).

endDate
string<date>

Last calendar day of the window (YYYY-MM-DD), read as the end of that day in the timezone. Defaults to six weeks from today. Dates beyond the one-year maximum the authorization engine enforces are shortened to it.

timezone
string

IANA timezone identifier, for example America/Chicago. Defaults to the timezone of the patient's home address.

Response

Successful response

subject
enum<string>
required

Whether the publicId in the request was an authorization or an authorization pool

Available options:
AUTHORIZATION,
POOL
publicId
string
required

The publicId from the request

startDate
string<date>
required

First calendar day of the window in YYYY-MM-DD format, in the response timezone

endDate
string<date>
required

Last calendar day of the window in YYYY-MM-DD format, in the response timezone

timezone
string
required

IANA timezone used to interpret the window and to render period dates

Example:

"America/Chicago"

pool
object | null
required

Pool-wide utilization. Null when the authorization is not part of a pool.

members
object[]
required

Every authorization in the pool, or just the requested authorization when it is not part of a pool