For the complete documentation index, see llms.txt. This page is also available as Markdown.

PDT Record

Endpoints to work with PDTs.

Get All PDT by name

get

This API endpoint is used to retrieve a list of Profile Data Types (PDTs) for a given core type name. PDTs are used to describe the structure and attributes of different types of data in a profile. By providing the core type name in the URL, this endpoint returns all the available PDTs associated with that core type. The response includes details such as the name, description, and attributes of each PDT. This information can be useful when creating or updating a profile in an application. This endpoint uses the GET HTTP method.

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

Query parameters
fieldsstringOptionalExample: boolean_field,text_field
dateStartstring · date-timeOptionalExample: 2021-03-11T12:47:30.492Z
dateEndstring · date-timeOptionalExample: 2021-03-11T12:47:30.492Z
showDeletedbooleanOptionalExample: true
Responses
200

Paginated PDT records

application/json
pdtNamestringOptional
lastUpdatedAtstring · date-time · nullableOptional
get/{tenantName}/{instanceName}/pdts/{pdtName}
GET /{tenantName}/{instanceName}/pdts/{pdtName} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "pdtName": "text",
  "lastUpdatedAt": "2026-01-01T00:00:00.000Z",
  "records": {
    "data": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "createdAt": "2026-01-01T00:00:00.000Z",
        "updatedAt": "2026-01-01T00:00:00.000Z",
        "fullValue": "text",
        "deleted": true,
        "pdtName": "text",
        "jsonBody": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      }
    ],
    "metaInfo": {
      "page": 1,
      "pageSize": 1,
      "totalElements": 1,
      "numberOfElements": 1
    }
  }
}

Create PDT

post

This endpoint allows you to create a new Profile Data Type (PDT) for a specific core type. A PDT is used to define the structure and format of a specific type of profile data in the system. To create a new PDT, you must provide the necessary data in the request body in the specified format. The core_type_name parameter in the endpoint URL specifies the core type that the new PDT will be associated with.

Upon successful creation of a new PDT, the endpoint will return a response containing the details of the new PDT, including its unique identifier, name, and associated core type. This newly created PDT can then be used to define and store profile data for the associated core type.

Note:

  • phone: when working with patients and fields such as phone, phone must be specified in the international format, E.164 format, without zero

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

Body

Field values as defined by the target PDT schema.

Other propertiesanyOptional
Responses
201

Created PDT record

application/json
idstring · uuidOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
fullValuestring · nullableOptional
deletedbooleanOptional
pdtNamestringOptional
post/{tenantName}/{instanceName}/pdts/{pdtName}
POST /{tenantName}/{instanceName}/pdts/{pdtName} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "fullValue": "text",
  "deleted": true,
  "pdtName": "text",
  "jsonBody": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Get PDT by ID

get

This API endpoint performs a GET request to retrieve information about a specific instance of a Profile Data Type (PDT) with the given core_type_name and core_type_id.

The core_type_name parameter specifies the name of the core type of the PDT, while the core_type_id parameter specifies the unique identifier of the instance of the PDT to retrieve.

This endpoint returns a JSON object containing the details of the requested PDT instance, including its unique identifier, core type, data values, and any metadata associated with it. If the PDT instance does not exist or cannot be found, an appropriate error message will be returned.

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

pdtIdstring · uuidRequired

UUID of the PDT record

Responses
200

PDT record

application/json
idstring · uuidOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
fullValuestring · nullableOptional
deletedbooleanOptional
pdtNamestringOptional
get/{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId}
GET /{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "fullValue": "text",
  "deleted": true,
  "pdtName": "text",
  "jsonBody": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Delete PDT

delete

This endpoint allows deleting a specific instance of a Profile Data Type (PDT) with the given core_type_id under the core_type_name. The request must use the HTTP method DELETE and provide the URL with the appropriate tenantName and instanceName. This action will permanently remove the instance of the PDT from the system and cannot be undone. A successful deletion will return a 204 No Content response status code. If the specified PDT instance does not exist, the API will return a 404 Not Found response status code. It is recommended to use caution when deleting PDT instances as it can have an impact on the system's functionality and data integrity.

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

pdtIdstring · uuidRequired

UUID of the PDT record

Responses
200

PDT record soft-deleted

application/json
idstring · uuidOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
fullValuestring · nullableOptional
deletedbooleanOptional
pdtNamestringOptional
delete/{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId}
DELETE /{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "fullValue": "text",
  "deleted": true,
  "pdtName": "text",
  "jsonBody": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Update PDT

patch

This endpoint allows for updating an existing record of a specific Profile Data Type (PDT) identified by its unique core_type_id and core_type_name. The HTTP method used is PATCH. The request body should contain the updated values for the fields that need to be modified. The response will include the updated record of the PDT with the new values for the specified fields. If the core_type_id or core_type_name provided in the URL path does not match any existing record, the response will return a 404 status code.

Note:

  • phone: when working with patients and fields such as phone, phone must be specified in the international format, E.164 format, without zero

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

pdtIdstring · uuidRequired

UUID of the PDT record

Body

Partial field values to update.

Other propertiesanyOptional
Responses
200

Updated PDT record

application/json
idstring · uuidOptional
createdAtstring · date-timeOptional
updatedAtstring · date-timeOptional
fullValuestring · nullableOptional
deletedbooleanOptional
pdtNamestringOptional
patch/{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId}
PATCH /{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId} HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38

{
  "ANY_ADDITIONAL_PROPERTY": "anything"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "updatedAt": "2026-01-01T00:00:00.000Z",
  "fullValue": "text",
  "deleted": true,
  "pdtName": "text",
  "jsonBody": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
}

Get Patients list by PDT

get

This endpoint allows the user to retrieve a list of patients that have profile data associated with the given Core Type ID under the specified Core Type Name in the current formation. The response will include basic information about each patient, such as their ID, name, and other relevant metadata. This information can be useful for various purposes such as managing patient data, conducting analysis on patient profiles, and more.

To use this endpoint, you need to provide the URL, the tenant name, instance name, the Core Type Name, and Core Type ID in the endpoint URL. An authentication token may also be required to access the resource depending on the security settings of the API.

Note: unlike sibling PDT-record endpoints, this one is not marked as a public/third-party endpoint in the backend — confirm with Welkin before relying on it in production integrations.

Authorizations
AuthorizationstringRequired

Bearer token obtained from POST /{tenantName}/admin/api_clients/{clientName}. Valid for 60 minutes.

Path parameters
tenantNamestringRequired

Your organization (tenant) name, e.g. acme-health

Example: acme-health
instanceNamestringRequired

Your environment name: live, sandbox, or a custom name

Example: live
pdtNamestringRequired

Profile Data Type (PDT) name

pdtIdstring · uuidRequired

UUID of the PDT record

Responses
200

Paginated list of patients linked to this PDT record

application/json

Standard paginated response wrapper.

totalElementsintegerOptional

Total number of matching records

totalPagesintegerOptional

Total number of pages

lastbooleanOptional
firstbooleanOptional
numberintegerOptional

Current page number (zero-based)

sizeintegerOptional

Page size

numberOfElementsintegerOptional

Number of elements on the current page

emptybooleanOptional
get/{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId}/patients
GET /{tenantName}/{instanceName}/pdts/{pdtName}/{pdtId}/patients HTTP/1.1
Host: api.live.welkincloud.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "content": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "externalGuid": "123e4567-e89b-12d3-a456-426614174000",
      "externalId": "text",
      "mrn": "text",
      "nric": "text",
      "accessCode": "text",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z",
      "createdByName": "text",
      "updatedByName": "text",
      "firstName": "text",
      "lastName": "text",
      "middleName": "text",
      "birthDate": "2026-01-01T00:00:00.000Z",
      "gender": "MALE",
      "maritalStatus": "A",
      "primaryLanguage": "ENGLISH",
      "secondaryLanguage": "ENGLISH",
      "email": "name@gmail.com",
      "secondaryEmail": "name@gmail.com",
      "phone": "text",
      "phoneLabel": "text",
      "primaryPhoneCapabilities": [
        "VOICE_CALL"
      ],
      "secondaryPhone": "text",
      "secondaryPhoneLabel": "text",
      "secondaryPhoneCapabilities": [
        "VOICE_CALL"
      ],
      "preferableInstancePhoneId": "123e4567-e89b-12d3-a456-426614174000",
      "country": "text",
      "state": "text",
      "city": "text",
      "zip": "text",
      "addressLine1": "text",
      "addressLine2": "text",
      "timezone": "text",
      "patientType": "ADULT",
      "notes": "text",
      "careTeamMembers": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "pointOfContact": true
        }
      ],
      "patientPrograms": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "createdByName": "text",
          "createdAt": "2026-01-01T00:00:00.000Z",
          "updatedByName": "text",
          "updatedAt": "2026-01-01T00:00:00.000Z",
          "programName": "text",
          "programTitle": "text",
          "programDescription": "text",
          "assigned": true,
          "patientId": "123e4567-e89b-12d3-a456-426614174000",
          "currentPhase": {
            "timestamp": "2026-01-01T00:00:00.000Z",
            "createdBy": "123e4567-e89b-12d3-a456-426614174000",
            "createdByName": "text",
            "name": "text",
            "title": "text",
            "description": "text",
            "currentVersion": "text",
            "deleted": true
          },
          "status": "NOT_STARTED",
          "compatibleWithCurrentVersion": true,
          "pathHistory": [
            {
              "timestamp": "2026-01-01T00:00:00.000Z",
              "createdBy": "123e4567-e89b-12d3-a456-426614174000",
              "createdByName": "text",
              "name": "text",
              "title": "text",
              "description": "text",
              "currentVersion": "text",
              "deleted": true
            }
          ]
        }
      ],
      "careTeam": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "username": "text",
          "firstName": "text",
          "lastName": "text",
          "email": "name@gmail.com",
          "roles": [
            {
              "name": "text",
              "primaryRole": true,
              "description": "text",
              "instanceId": "123e4567-e89b-12d3-a456-426614174000"
            }
          ],
          "pointOfContact": true,
          "enabled": true
        }
      ],
      "territorialTeam": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "username": "text",
          "firstName": "text",
          "lastName": "text",
          "email": "name@gmail.com",
          "roles": [
            {
              "name": "text",
              "primaryRole": true,
              "description": "text",
              "instanceId": "123e4567-e89b-12d3-a456-426614174000"
            }
          ],
          "pointOfContact": true,
          "enabled": true
        }
      ],
      "cadence": [
        {
          "schedules": [
            {
              "hour": 1,
              "minute": 1,
              "days": [
                "MONDAY"
              ],
              "weekNumbers": [
                1
              ]
            }
          ],
          "priority": "LOW"
        }
      ],
      "patientRegion": "text",
      "patientRegionTitle": "text",
      "patientTerritory": "text",
      "pointOfContact": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "firstName": "text",
        "lastName": "text",
        "email": "name@gmail.com",
        "roles": [
          {
            "name": "text",
            "primaryRole": true,
            "description": "text",
            "instanceId": "123e4567-e89b-12d3-a456-426614174000"
          }
        ],
        "pointOfContact": true,
        "enabled": true
      },
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "pageable": {
    "sort": {
      "sorted": true,
      "unsorted": true,
      "empty": true
    },
    "pageSize": 1,
    "pageNumber": 1,
    "offset": 1,
    "unpaged": true,
    "paged": true
  },
  "totalElements": 1,
  "totalPages": 1,
  "last": true,
  "first": true,
  "number": 1,
  "size": 1,
  "numberOfElements": 1,
  "empty": true,
  "sort": {
    "sorted": true,
    "unsorted": true,
    "empty": true
  }
}

Last updated

Was this helpful?