Nursa · OAuth Scopes

Nursa OAuth Scopes

OAuth 2.0 searched

Nursa publishes 26 OAuth 2.0 scopes via the authorizationCode and clientCredentials flows. Scopes are the fine-grained permissions an application requests at authorization time to act against the Nursa API on a user’s behalf.

Tokens are issued from https://auth.nursa.com/oidc/oauth/token.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

CompanyHealthcareHealthStaffingNursingMarketplaceWorkforce ManagementSchedulingHuman ResourcesPer DiemShiftsWebhooks
Scopes: 26 Flows: authorizationCode, clientCredentials Method: searched

OAuth endpoints

Authorization URL
https://auth.nursa.com/oidc/authorize
Token URL
https://auth.nursa.com/oidc/oauth/token
Flows
authorizationCodeclientCredentials

Scopes (26)

ScopeDescriptionFlows
openid Returns the sub claim, which uniquely identifies the user. In an ID Token, iss, aud, exp, iat and at_hash are also present.
profile Returns basic profile claims — name, nickname, picture.
email Returns the email claim.
phone Returns the phone_number claim.
address Returns the address claim — an object with city and state.
role Returns the role claim; NURSE_USER or FACILITY_USER.
offline_access Returns a refresh_token from the Get Token endpoint.
marketplace:write User allows your application to post and update shifts on their behalf.
marketplace:read User allows your application to read shifts on their behalf.
marketplace-policy:write User allows your application to manage shift policy on their behalf.
marketplace-policy:read User allows your application to read shift policy on their behalf.
shift-requests:write User allows your application to manage shift requests on their behalf.
shift-requests:read User allows your application to read shift requests on their behalf.
shift-reports:write User allows your application to manage shift reports on their behalf.
shift-reports:read User allows your application to read shift reports on their behalf.
facilities:write User allows your application to manage the facility profile on their behalf.
facilities:read User allows your application to read the facility profile on their behalf.
finances:write User allows your application to manage the facility's financial information on their behalf.
finances:read User allows your application to read the facility's financial information on their behalf.
communication-policy:write User allows your application to manage the communication policy on their behalf.
communication-policy:read User allows your application to read the communication policy on their behalf.
permissions:write User allows your application to manage the user permissions under an organization on their behalf.
permissions:read User allows your application to read the user permissions under an organization on their behalf.
integrations:write User allows your application to manage the integration settings of the organization on their behalf.
oidc-application:write User allows your application to manage the OpenID Connect applications of the organization on their behalf.
oidc-application:read User allows your application to read the OpenID Connect applications of the organization on their behalf.

Source

OAuth Scopes

Raw ↑
generated: '2026-08-04'
method: searched
source: https://docs.nursa.com/docs/Integration%20Guideline/Scopes/
docs: https://docs.nursa.com/docs/Integration%20Guideline/Scopes/
discovery: well-known/nursa-openid-configuration.json
note: >-
  Nursa's OpenAPI declares no oauth2 securityScheme, so no scope is derivable from the spec —
  0-working/derive-oauth-scopes.py returns "with oauth2: 0". Every scope below was read from the
  provider's published Scopes reference. The OIDC discovery document advertises only the seven
  UserInfo/OIDC scopes in `scopes_supported`; the twenty resource scopes are documented in prose
  and are NOT advertised in discovery, so an OAuth client cannot enumerate them programmatically.
schemes:
- name: nursa-oidc
  type: openIdConnect
  source: https://auth.nursa.com/oidc/.well-known/openid-configuration
  flows:
  - flow: authorizationCode
    authorizationUrl: https://auth.nursa.com/oidc/authorize
    tokenUrl: https://auth.nursa.com/oidc/oauth/token
  - flow: clientCredentials
    tokenUrl: https://auth.nursa.com/oidc/oauth/token
    note: enabled per-application on request only
enforcement:
  granted: HTTP 2xx
  missing_scope: HTTP 403 Forbidden Resource
  consent: >-
    Scopes are requested in the `scope` parameter of the authorization request; the authorization
    server may show a consent screen and the user may deny all or part of the request. The granted
    set lands in the access token's `scope` claim.
scopes:
- scope: openid
  description: Returns the sub claim, which uniquely identifies the user. In an ID Token, iss, aud, exp, iat and at_hash are also present.
  category: openid
  advertised_in_discovery: true
- scope: profile
  description: Returns basic profile claims — name, nickname, picture.
  category: openid
  advertised_in_discovery: true
- scope: email
  description: Returns the email claim.
  category: openid
  advertised_in_discovery: true
- scope: phone
  description: Returns the phone_number claim.
  category: openid
  advertised_in_discovery: true
- scope: address
  description: Returns the address claim — an object with city and state.
  category: openid
  advertised_in_discovery: true
- scope: role
  description: Returns the role claim; NURSE_USER or FACILITY_USER.
  category: openid
  advertised_in_discovery: true
- scope: offline_access
  description: Returns a refresh_token from the Get Token endpoint.
  category: openid
  advertised_in_discovery: true
- scope: marketplace:write
  name: Post Shifts
  description: User allows your application to post and update shifts on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: marketplace:read
  name: View Posted Shifts
  description: User allows your application to read shifts on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: marketplace-policy:write
  name: Manage Shift Policy
  description: User allows your application to manage shift policy on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: marketplace-policy:read
  name: View Shift Policy
  description: User allows your application to read shift policy on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: shift-requests:write
  name: Manage Shift Requests
  description: User allows your application to manage shift requests on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: shift-requests:read
  name: View Shift Requests
  description: User allows your application to read shift requests on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: shift-reports:write
  name: Manage Shift Reports
  description: User allows your application to manage shift reports on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: shift-reports:read
  name: View Shift Reports
  description: User allows your application to read shift reports on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: facilities:write
  name: Manage Facility Profile
  description: User allows your application to manage the facility profile on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: facilities:read
  name: View Facility Profile
  description: User allows your application to read the facility profile on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: finances:write
  name: Manage Financial Information
  description: User allows your application to manage the facility's financial information on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: finances:read
  name: View Financial Information
  description: User allows your application to read the facility's financial information on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: communication-policy:write
  name: Manage Communication Policy
  description: User allows your application to manage the communication policy on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: communication-policy:read
  name: View Communication Policy
  description: User allows your application to read the communication policy on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: permissions:write
  name: Manage Permissions
  description: User allows your application to manage the user permissions under an organization on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: permissions:read
  name: View Permissions
  description: User allows your application to read the user permissions under an organization on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: integrations:write
  name: Manage Integrations
  description: User allows your application to manage the integration settings of the organization on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: oidc-application:write
  name: Manage OIDC Applications
  description: User allows your application to manage the OpenID Connect applications of the organization on their behalf.
  category: resource
  advertised_in_discovery: false
- scope: oidc-application:read
  name: View OIDC Applications
  description: User allows your application to read the OpenID Connect applications of the organization on their behalf.
  category: resource
  advertised_in_discovery: false
coverage:
  total: 27
  openid: 7
  resource: 20
  read_write_pairs: 9
  write_only: 1
gaps:
- >-
  No operation-to-scope binding is published anywhere machine-readable. The docs say "The API
  documentation will define which scopes will be requested for each endpoint", but the OpenAPI's
  only security requirement is `public-api: []` — an empty scope array on all 40 operations. An
  agent or client cannot compute least privilege from the contract.
- >-
  `integrations:write` has no matching `integrations:read`, unlike every other resource family.
x-evidence:
  fetched: '2026-08-04'
  urls:
  - url: https://docs.nursa.com/docs/Integration%20Guideline/Scopes/
    status: 200
  - url: https://auth.nursa.com/oidc/.well-known/openid-configuration
    status: 200