Get Health Specialties

Returns a paginated list of HCP health specialties organized in a two-tier hierarchy (primary specialties and subspecialties). Supports filtering by tier, parent ID, free-text search, and specialty type. When export=true, the full result set is returned as a downloadable file in JSON or CSV format.

Endpoint

GET

https://lifeapi.pulsepoint.com/RestApi/v2/meta/healthSpecialties

Query Parameters

NameData TypeRequiredDefaultNotes
tierintegernoSpecialty tier filter. 1 = primary specialties, 2 = subspecialties
parent_idintegernoParent specialty ID to retrieve subspecialties under a specific primary specialty
include_childrenbooleannoWhen true, includes child subspecialties in the response. Only valid when tier=1
searchstringnoFree-text search across specialty names
sortENUM stringnonameSort field. Valid values: name, tier
orderENUM stringnoascSort direction. Valid values: asc, desc
limitintegerno50Maximum number of results per page (max: 500)
cursorstringnoOpaque pagination cursor. Pass the next_cursor value from a previous response to get the next page
exportbooleannofalseWhen true, returns a downloadable file instead of the standard JSON response
formatENUM stringnojsonExport format. Valid values: json, csv. Only applies when export=true

Sample Request

GET https://lifeapi.pulsepoint.com/RestApi/v2/meta/healthSpecialties?tier=1&search=Cardiology&limit=50

Response Field List

NameData TypeNotes
successbooleanReturns true on a successful request
messagestringHuman-readable result message
requestIdstringUnique identifier for the request
dataarray of objectsList of health specialty objects
data.idintegerSpecialty ID
data.namestringSpecialty name
data.tierintegerHierarchy tier. 1 = primary specialty, 2 = subspecialty
data.parent_idintegerParent specialty ID. null for tier-1 specialties
data.has_childrenbooleanWhether this specialty has child subspecialties
data.is_leafbooleanWhether this specialty is a leaf node with no children
data.children_countintegerNumber of child subspecialties
paginationobjectPagination metadata
pagination.limitintegerThe page size used for this response
pagination.totalintegerTotal number of records matching the query
pagination.has_morebooleanWhether additional pages of results exist
pagination.next_cursorstringOpaque cursor to pass as the cursor query parameter to retrieve the next page
pagination.next_cursor_urlstringFull URL for the next page of results
hierarchyobjectHierarchy metadata for the result set
hierarchy.current_tierintegerThe tier level of the current result set
hierarchy.available_tiersarray of integersList of tier levels available for navigation

Sample Response

{
  "success": true,
  "message": "Operation completed successfully",
  "requestId": "550e8400-e29b-41d4-a716-446655440000",
  "data": [
    {
      "id": 101,
      "name": "Cardiology",
      "tier": 1,
      "parent_id": null,
      "has_children": true,
      "is_leaf": false,
      "children_count": 3
    }
  ],
  "pagination": {
    "limit": 50,
    "total": 85,
    "has_more": false,
    "next_cursor": null,
    "next_cursor_url": null
  },
  "hierarchy": {
    "current_tier": 1,
    "available_tiers": [1, 2]
  }
}

Errors

HTTP StatusErrorDescription
400Validation ErrorInvalid query parameters. tier must be 1 or 2. limit must be a valid integer. sort must be name or tier
401UnauthorizedInvalid or expired access token
404Not FoundParent specialty does not exist (parent_id provided was not found)
422Unprocessable EntityInvalid parameter combination. include_children can only be true when tier=1
429Too Many RequestsRate limit exceeded
500Internal Server ErrorUnexpected server error