Actors
The following actors are part of (and specific to) the OnyxOS Payer Portal:
-
Payer : User who can create applications and submit application access requests.
-
Payer Admin : User who acts on behalf of a payer organization to review and approve payer access requests.
-
Organization : A health insurance organization affiliated with Onyx Health. A single organization comprises one or more data providers.
-
Data Provider : The environment under control of an organization, e.g., an organization’s test or production environments.
Payer Account Registration
To register as a payer for the Payer Portal, complete and submit the registration form.
After successfully registering an account, the user is redirected to the following page:

Before the user can log in for the first time, the following steps must be completed:
-
A verification email will be sent to the email address provided during registration.
Click the verification link verify my email address within the email to confirm your account.
-
If a United States mobile phone number was provided, a welcome text message will be sent to that number.
Text messages are sent using SMS. Non-US phone numbers are not supported at this time.
-
An activation request is sent to the OnyxOS Agent for approval.
Note: You can log in only after the OnyxOS Agent approves your account and after verifying your email address.
Application Creation Flow
Payer to Payer
Click on Create New Application button a dialog will appear prompting you to select the type of application to create. Select Payer to Payer.

After selecting the Payer to Payer application, you will be presented with an application registration form which comprises three sections:
- Application Details
- Client Details
- Application Access Request
Note: Fields marked with an asterisk (*) are required. The Continue button remains inactive until all required fields in each step are completed.
-
Application ID and Application Type are pre-set by default.
-
The Application ID is a unique auto-generated value and cannot be modified.
-
The Application Type is set to Service by default. Service machine-to-machine applications use the OAuth 2.0 client credentials grant type and are configured to authenticate without user interaction.
-
After completing the first two sections, the next step is to choose a Data provider from the dropdown menu. As a payer registering an application for the first time, your selection is restricted to our sandbox environments. Please ensure that “TEST OnyxOS Sandbox” is selected as the Data Provider.
-
You must choose at least one Implementation Guide (IG). To understand more about the APIs and IGs in detail, please refer to the corresponding API Documentation.

After successfully submitting an application access request, you will land on the following page. Click Go to Your Applications to return to your dashboard homepage.

Payer Dashboard Pages
After logging in, you will be redirected to the payer dashboard page where you can view application statuses under Pending Approval, Approved, Rejected, and Revoked tabs, and Clicking on each tab will navigate you to the respective page where you can view detailed application statuses.

-
When you submit an application access request, all Payer Admins with approval privileges for the requested data provider will be notified.
-
The Pending Approval page lists all applications that are awaiting approval. Click on any application to view more details and available actions.

-
The Clone Software button opens the application registration form with existing app details pre-filled (except for a new Software ID). This allows you to quickly create another access request for a different data provider with minimal changes.
-
The Registration Details modal displays all the information provided during registration, organized into the same two tabs as seen in the application registration form. This allows You and authorized Payer Admins to review all application details in a structured format.

- When your application is approved, you will receive an email notification stating that your application has been approved. The approved application will appear under the Approved tab.

- The Application Credentials button opens a modal displaying the Client ID, Client Secret, and other credentials required to connect to OnyxOS APIs. Simply left-click on any field to copy its value to your clipboard.

-
If your application is rejected, you will receive an email notification stating that your request has been rejected, and the application will appear under the Rejected tab.
-
If an approved application’s access is later revoked by the Payer Admin, you’ll receive an email notification, and the application will appear under the Revoked tab.
Payer Sandbox access
The credentials for a particular application include client ID, client secret, token URI, OnyxOS base URI, and scopes.
There are a few ways to execute the OAuth 2.0 client credentials flow to access the Payer Sandbox – the following steps describe one method using curl:
1. Get access token
Using curl, run this command in the terminal using your corresponding application credentials:
curl --location --request POST \
--url '<<YOUR_TOKEN_URI>>' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<<YOUR_CLIENT_ID>>' \
--data-urlencode 'client_secret=<<YOUR_CLIENT_SECRET>>' \
--data-urlencode 'scope=<<YOUR_SCOPES>>'
In exchange for your credentials, the authorization server returns your access token in the access_token field as shown in this sample response:
{
"access_token": "eyJhbGciOiJSUzI1Ni...rm8xA",
"token_type": "Bearer",
"expires_in": 3600,
"scope": "system/Group.read system/Patient.read system/Coverage.read"
}
Note: The access token will expire in 3600 seconds (1 hour) from when the response was generated.
2. Make API calls
You must include this access token in the Authorization header with the Bearer authentication scheme in every subsequent API call, as shown in this sample request:
curl --location --request POST \
--url '{base_url}/Group/$bulk-member-match' \
--header 'Authorization: Bearer <<YOUR_ACCESS_TOKEN>>' \
--header 'Prefer: respond-async' \
See the API Documentation for further guidance, which includes our Postman Collections.
Note: After gaining some experience with using our APIs, contact us at support@safhir.io to request access to our clients’ data providers.
Payer Sandbox Test Data
| MemberPatient | CoverageToMatch | Consent |
|---|---|---|
|
John Carter FHIR ID: 16c3c09f-2475-4461-916f-cec8ff110270Identifier: Patient-Test-00001Family Name: CarterGiven Name: JohnGender: femaleBirth Date: 1953-04-19Birth Sex: F
|
Coverage ID: 2f253548-2a43-4055-b4fa-23b9ddb088b4Identifier: Coverage-Test-00001System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00001Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-001Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-11Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Priya Shah FHIR ID: a50d4c2d-78e5-4da7-9e95-e92ad2bcc2bfIdentifier: Patient-Test-00002Family Name: ShahGiven Name: PriyaGender: maleBirth Date: 1946-10-10Birth Sex: M
|
Coverage ID: 3057e3bd-f094-4ffc-b137-408474cc7ac7Identifier: Coverage-Test-00002System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00002Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-002Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-12Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Miguel Ramirez FHIR ID: 96739879-7051-4023-ab1c-8f66bcb9011bIdentifier: Patient-Test-00003Family Name: RamirezGiven Name: MiguelGender: femaleBirth Date: 1949-06-26Birth Sex: F
|
Coverage ID: 1f60d3f2-c5fc-4e5d-adfa-38f6d90b41e0Identifier: Coverage-Test-00003System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00003Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-003Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-13Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Sarah Thompson FHIR ID: 7364abc4-b126-487d-8146-cae2605e3b36Identifier: Patient-Test-00004Family Name: ThompsonGiven Name: SarahGender: maleBirth Date: 1953-04-29Birth Sex: M
|
Coverage ID: dd0b13aa-1e7a-4623-b278-23522a643d96Identifier: Coverage-Test-00004System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00004Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-004Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-14Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Ahmed El-Sayed FHIR ID: dbc184cc-13c1-4b48-b443-c8a0de6f18fbIdentifier: Patient-Test-00005Family Name: El-SayedGiven Name: AhmedGender: femaleBirth Date: 1958-10-11Birth Sex: F
|
Coverage ID: bae9f230-f258-455e-a1ce-4ea3995cb1b5Identifier: Coverage-Test-00005System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00005Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-005Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-15Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Lisa Nguyen FHIR ID: f2110371-39b0-4d6c-88d2-6432b814b17eIdentifier: Patient-Test-00006Family Name: NguyenGiven Name: LisaGender: maleBirth Date: 1948-01-16Birth Sex: M
|
Coverage ID: 89738364-edfa-4d8a-858d-dcf2af37f85eIdentifier: Coverage-Test-00006System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00006Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-006Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-16Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Jacob Brown FHIR ID: 392e299c-bb80-40aa-82f3-5fe27d6ed4c1Identifier: Patient-Test-00007Family Name: BrownGiven Name: JacobGender: femaleBirth Date: 1947-12-10Birth Sex: F
|
Coverage ID: 73b06aba-8950-4305-944b-e39c86ac6e2aIdentifier: Coverage-Test-00007System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00007Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-007Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-17Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Emily Davis FHIR ID: 6128e641-b19c-4c34-b2fa-64cfbd8db78dIdentifier: Patient-Test-00008Family Name: DavisGiven Name: EmilyGender: maleBirth Date: 1955-08-16Birth Sex: M
|
Coverage ID: be08773e-3b3a-410b-999a-6ee07d02f783Identifier: Coverage-Test-00008System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00008Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-008Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-18Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Rajesh Patel FHIR ID: 58a45409-e833-44b4-842c-06395c222c43Identifier: Patient-Test-00009Family Name: PatelGiven Name: RajeshGender: femaleBirth Date: 1954-11-22Birth Sex: F
|
Coverage ID: ccc9f54e-c0c1-4fb3-9d26-281999c3521dIdentifier: Coverage-Test-00009System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00009Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-009Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2023-07-07Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Angela Kim FHIR ID: 70f3669e-631a-40ed-b9d5-8c28bda8adf4Identifier: Patient-Test-00010Family Name: KimGiven Name: AngelaGender: maleBirth Date: 1948-11-28Birth Sex: M
|
Coverage ID: 745e8b72-417e-430f-8ee4-97b5966cd3d7Identifier: Coverage-Test-00010System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Test-00010Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-010Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2023-07-08Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Smith Michal FHIR ID: 65405e58-014d-4a57-815f-20eea86ec8a0Identifier: Patient-Dummy-0001Family Name: MichalGiven Name: SmithGender: femaleBirth Date: 2024-04-19Birth Sex: F
|
Coverage ID: a261f005-9826-412a-bc6a-2900bc5dcc75Identifier: Coverage-Dummy-0001System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Dummy-0001Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-0011Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-11Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|
|
Joe Angelina FHIR ID: 8eeccb5f-702f-4510-a582-c9aa04f98709Identifier: Patient-Dummy-0002Family Name: AngelinaGiven Name: JoeGender: maleBirth Date: 2023-10-10Birth Sex: M
|
Coverage ID: f3763a7b-f864-4016-8bd1-6c45187bbb04Identifier: Coverage-Dummy-0002System: https://identifiertest/coverageStatus: activeSubscriber ID: Patient-Dummy-0002Relationship: selfPeriod: 2000-12-27 to 2024-12-27Payor: Org-Test-00001
|
Consent ID: Consent-Test-0012Status: activeSource: DocumentReference/Doc-001Type: permitPeriod: 2022-01-01 to 2028-10-11Actor (Source): Org-Test-00001Actor (Recipient): 123456789
|