Skip to main content

Locations

Introduction

The Locations API allows you to retrieve and manage location records for your organization. The same location object structure is used for both retrieving (GET) and creating/updating (POST) locations.


List Locations

Retrieve a paginated list of active locations.

Endpoint

GEThttps://api1.consumerism.pressganey.com/api/v2/entity/locations

Headers

PropertyTypeDescriptionRequired
accessTokenStringYour API access tokenYes

Query Parameters

PropertyTypeDescriptionDefault
pageIntegerPage number (starts at 1)1
sizeIntegerNumber of results per page (max 100)10
sortByStringField to sort byid
sortDirectionStringSort order: ASC or DESCDESC

Response Example

{
"data": [
{
"id": 1001,
"displayName": "Main Hospital",
"internalName": "main-hospital",
"phone": "555-555-5555",
"email": "contact@hospital.com",
"website": "https://hospital.com",
"address1": "123 Main St",
"address2": "Suite 100",
"city": "Boston",
"state": "MA",
"zip": "02108",
"country": "US",
"code": "LOC123",
"codeType": "CLIENT",
"productMappings": ["reputation"],
"entityMappings": {
"CLIENT": "LOC123",
"NPI": "1234567890"
},
"additionalAttributes": {
"timezone": "America/New_York",
"region": "Northeast"
},
"labels": ["featured", "primary-care"],
"createdTime": "2026-01-15T10:30:00Z",
"modifiedTime": "2026-01-28T14:20:00Z"
}
],
"totalCount": 150,
"totalPages": 15,
"currentPage": 1,
"pageSize": 10
}

Response Fields

Pagination

FieldTypeDescription
dataArray<Location>List of location objects
totalCountIntegerTotal number of locations available
totalPagesIntegerTotal number of pages
currentPageIntegerCurrent page number
pageSizeIntegerNumber of results per page

Create/Update Locations

Create new locations or update existing ones. Locations are identified by the combination of code and codeType.

Endpoint

POSThttps://api1.consumerism.pressganey.com/api/v2/entity/locations

Headers

PropertyTypeDescriptionRequired
accessTokenStringYour API access tokenYes

Request

Send a JSON array of location objects. You can include up to 1000 locations per request.

[
{
"code": "LOC123",
"codeType": "CLIENT",
"active": true,
"displayName": "Main Hospital",
"internalName": "main-hospital",
"phone": "555-555-5555",
"email": "contact@hospital.com",
"website": "https://hospital.com",
"address1": "123 Main St",
"address2": "Suite 100",
"city": "Boston",
"state": "MA",
"zip": "02108",
"country": "US",
"productMappings": ["reputation"],
"labels": ["featured"],
"entityMappings": {
"NPI": "1234567890"
},
"additionalAttributes": {
"timezone": "America/New_York"
}
}
]

Request Body

TypeDescription
Array<Location>List of location objects to create or update

Response

HTTP Status Code: 202 Accepted

The sync request is accepted for asynchronous processing. The response indicates how many records were queued successfully.

Example

{
"status": "SUCCESS",
"message": "All location sync requests processed successfully",
"nonSyncableList": [],
"totalRequests": 1,
"successfulRequests": 1,
"failedRequests": 0
}

Response Fields

FieldTypeDescription
statusStringSUCCESS if all processed, PARTIAL_SUCCESS if some failed
messageStringSummary of the operation
nonSyncableListArrayList of items that could not be processed
totalRequestsIntegerTotal number of locations in your request
successfulRequestsIntegerNumber of locations processed successfully
failedRequestsIntegerNumber of locations that failed to process

Errors

StatusDescription
400Invalid request (missing fields or bad format)
401Invalid or expired access token
403Access token does not have permission

Definitions

Location

The location is used for both GET responses and POST requests.

FieldTypeDescriptionGETPOSTRequired (POST)
idIntegerUnique identifier for the locationYesNo-
codeStringYour unique code for this locationYesYesYes
codeTypeStringThe type of code (e.g., CLIENT, NPI)YesYesYes
activeBooleanWhether the location is activeYesYesYes
displayNameStringName shown to end usersYesYesNo
internalNameStringName used for internal referenceYesYesNo
phoneStringContact phone numberYesYesNo
emailStringContact email addressYesYesNo
websiteStringWebsite URLYesYesNo
address1StringStreet addressYesYesNo
address2StringAdditional address details (suite, floor, etc.)YesYesNo
cityStringCityYesYesNo
stateStringState or regionYesYesNo
zipStringPostal/ZIP codeYesYesNo
countryStringCountryYesYesNo
productMappingsArrayList of products enabled for this locationYesYesNo
entityMappingsKey-value pairsAlternative codes/identifiers for this locationYesYesNo
additionalAttributesKey-value pairsCustom attributes you have definedYesYesNo
labelsArrayTags assigned to this locationYesYesNo
createdTimeStringWhen the record was created (UTC)YesNo-
modifiedTimeStringWhen the record was last updated (UTC)YesNo-