Retrieve a member's medical information

GET /api/members/{memberId}/medical-details

Success: 200 OK

Overview

Returns the medical conditions recorded against one member: for each, the condition type it was filed under and any free-text note held with it.

This is health data about an identified person — special-category personal data. Access is restricted accordingly: the member id in the route must be the member the token was issued for, or a member linked to them. Anything else is refused with 403 and the message The given member ID does not belong to the logged in member. A newly created link can take a short time to be recognised, so a call for a member linked moments earlier may be refused and then succeed on a retry.

Condition types are configuration. Each entry gives you both medicalConditionTypeId and the resolved medicalConditionType name, so you can display a condition without a second call; the full set of types, including ones no longer offered, comes from GET /api/configuration/medical-types.

Use the id on each condition, not the type id, when you go on to update or delete that record.

Endpoint

GET {base_url}/api/members/{memberId}/medical-details

{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.

Path parameters

NameTypeRequiredDescription
memberIdinteger (int32)YesThe member whose medical conditions you want. Must be the member your token was issued for, or one linked to them — any other id is refused with 403, not an empty result. An id no member matches returns 400.

Sample request

cURL
curl -X GET '{base_url}/api/members/{memberId}/medical-details' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true'

Response fields

FieldTypeDescription
memberIdinteger (int32)Echoes the member the conditions belong to, matching the memberId you sent in the path. Useful for keying a cache or confirming which record a stored response relates to.
medicalConditionsarray of objectThe member's recorded medical conditions, one entry per stored record. Empty when nothing is recorded for the member.
medicalConditions[].idinteger (int32)Identifies this individual condition record. This is the value you pass when updating or deleting the record — an update against an id that does not exist fails with No existing medical condition to update. It is not the condition type id — passing the type id here will target the wrong record or none at all.
medicalConditions[].medicalConditionTypeIdinteger (int32)The configured condition type this record was filed under, matching an id from GET /api/configuration/medical-types. Types in use cannot be deleted, only deactivated, so a value here may point at a type that is no longer offered when creating new records — do not assume every id you read back will still be selectable.
medicalConditions[].medicalConditionTypestringThe condition type's name, resolved from medicalConditionTypeId so you can display the condition without calling the medical types endpoint. Match on the id rather than this text if you are comparing conditions programmatically.
medicalConditions[].medicalNotestringFree-text detail entered alongside the condition type — the specifics a member of staff typed in, rather than a coded value. No validation or maximum length is applied, so treat it as arbitrary user-entered text and escape it before rendering.

Sample response

200 OK
{
  "memberId": 12345,
  "medicalConditions": [
    {
      "id": 12345,
      "medicalConditionTypeId": 12345,
      "medicalConditionType": "string",
      "medicalNote": "string"
    }
  ]
}

Errors

StatusMeaningWhen
400Bad requestMemberId: {memberId} does not exist.
500Internal server error

This page as markdown · All pages · llms.txt