Onboarding
Onboarding

Create Client (Onboarding)

Changed on

Onboard a FHIR client. Send EntityType and Entities (GlobalEntityId is a UUID). Returns ClientId and one-time ClientSecret.

post/v1/fhir-onboarding/client

Request

  • Base URL
    https://api.hhaexchange.com (the document declares no server; this is the origin it was published from)
  • URL
    https://api.hhaexchange.com/v1/fhir-onboarding/client
  • Auth
    OAuth 2
    Client credentials
    Token URL: https://api.hhaexchange.com/v1/fhir/auth/token scopes: write

Request body

ClientNamestring required

Name of the client

ClientType'Provider' | 'Aggregator' | 'ThirdParty' | 'Payer' required

Type of FHIR client

EntityType'Provider' | 'Payer' nullable

Optional when Entities omitted or empty; required when Entities is non-empty

Descriptionstring nullable

Client description

Example request

{
  "ClientName": "Client 1",
  "ClientType": "Provider",
  "Description": "HHAX Client",
  "Entities": [
    {
      "GlobalEntityId": "d72ef4cd-0867-4e6c-abd2-d7f8b7f5fd03",
      "RateLimit": 50,
      "RateLimitWindow": "Minute"
    },
    {
      "GlobalEntityId": "10fea9d1-079d-43c2-80e2-7615cb34dea6"
    },
    {
      "GlobalEntityId": "7223b2d6-18f7-4831-bb27-419bd76fb276",
      "RateLimit": 50,
      "RateLimitWindow": "Minute"
    }
  ],
  "EntityType": "Provider"
}

Response

Successful Response

Messagestring required

Response message

Example response

{
  "Data": {
    "ClientId": "9b2f1a6e-3c84-4d8e-9b8a-7e2c9f2a1c45",
    "ClientName": "Client 1",
    "ClientSecret": "3f9c7a21-82b4-4c91-a8e7-6b4f2c9a1d78",
    "ClientType": "Provider",
    "CreatedAt": "2026-01-12T07:45:30Z",
    "Description": "HHAX Client",
    "Entities": [
      {
        "AgencyId": 123,
        "Env": "app",
        "GlobalEntityId": "d72ef4cd-0867-4e6c-abd2-d7f8b7f5fd03",
        "ProviderTaxId": "12-3456789",
        "RateLimit": 50,
        "RateLimitWindow": "Minute",
        "UserId": -6789,
        "UserName": "FHIRAPIUser_1_123"
      },
      {
        "AgencyId": 678,
        "Env": "app2",
        "GlobalEntityId": "10fea9d1-079d-43c2-80e2-7615cb34dea6",
        "ProviderTaxId": "98-7654321",
        "RateLimit": 50,
        "RateLimitWindow": "Minute",
        "UserId": -4567,
        "UserName": "FHIRAPIUser_1_678"
      },
      {
        "AgencyId": 789,
        "Env": "cloud",
        "GlobalEntityId": "7223b2d6-18f7-4831-bb27-419bd76fb276",
        "ProviderTaxId": "11-2223333",
        "RateLimit": 100,
        "RateLimitWindow": "Second",
        "UserId": -8765,
        "UserName": "FHIRAPIUser_1_789"
      }
    ],
    "EntityType": "Provider",
    "RateLimitingPlan": "Basic",
    "Status": "Active",
    "XApiKey": "brcRWv6qZQanfxwoZYvuYpMpfTUsvxEnkli2n998"
  },
  "Message": "Client onboarded successfully"
}

Changes

    • breaking

      removed the enum value FhirAggregator of the request property

    • breaking

      removed the enum value FhirPayer of the request property

    • breaking

      removed the enum value FhirProvider of the request property

    • breaking

      removed the enum value FhirThirdParty of the request property

    • breaking

      removed the enum value Payer of the request property

    • breaking

      removed the enum value Provider of the request property

    • info

      the request property became optional

    • info

      the request property became optional

    • info

      added the new Aggregator enum value to the request property

    • info

      added the new Payer enum value to the request property

    • info

      added the new Provider enum value to the request property

    • info

      added the new ThirdParty enum value to the request property

    • info

      request property list-of-types was widened by adding types null to media type application/json

    • info

      request property list-of-types was widened by adding types null to media type application/json

    • breaking

      added the new required request property

    • breaking

      added the new required request property

    • warning

      removed the request property

    • warning

      removed the request property

    • warning

      removed the optional property / from the response with the status

    • warning

      removed the optional property / from the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property /// to the response with the status