Onboarding
Onboarding

Migrate a client with ClientId, XApiKey, EntityType, and Entities (GlobalEntityId is a UUID). No AWS key creation and no IDP write.

post/v1/fhir-onboarding/client/migrate

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/migrate
  • Auth
    OAuth 2
    Client credentials
    Token URL: https://api.hhaexchange.com/v1/fhir/auth/token scopes: write

Request body

ClientIdstring required

Client identifier (UUID)

ClientNamestring required

Name of the client

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

Type of FHIR client

EntityType'Provider' | 'Payer' required

Provider or Payer.

XApiKeystring required

API key to store for this client

Descriptionstring nullable

Client description

Statusstring nullable

Client status (Active, Inactive)

RateLimitingPlanstring nullable

Rate limiting plan (Basic, Premium)

Example request

{
  "ClientId": "9b2f1a6e-3c84-4d8e-9b8a-7e2c9f2a1c45",
  "ClientName": "Migrated Client One",
  "ClientType": "Provider",
  "Description": "Migrated from legacy",
  "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",
  "RateLimitingPlan": "Basic",
  "Status": "Active",
  "XApiKey": "brcRWv6qZQanfxwoZYvuYpMpfTUsvxEnkli2n998"
}

Response

Successful Response

Messagestring required

Response message

Example response

{
  "Data": {
    "ClientId": "9b2f1a6e-3c84-4d8e-9b8a-7e2c9f2a1c45",
    "ClientName": "Client 1",
    "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",
    "UpdatedAt": "2026-01-12T09:10:15Z",
    "XApiKey": "brcRWv6qZQanfxwoZYvuYpMpfTUsvxEnkli2n998"
  }
}

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

    • 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

    • breaking

      added the new required request property

    • breaking

      added the new required 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