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
| Property | Type | Description | Required |
|---|---|---|---|
| accessToken | String | Your API access token | Yes |
Query Parameters
| Property | Type | Description | Default |
|---|---|---|---|
| page | Integer | Page number (starts at 1) | 1 |
| size | Integer | Number of results per page (max 100) | 10 |
| sortBy | String | Field to sort by | id |
| sortDirection | String | Sort order: ASC or DESC | DESC |
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
| Field | Type | Description |
|---|---|---|
| data | Array<Location> | List of location objects |
| totalCount | Integer | Total number of locations available |
| totalPages | Integer | Total number of pages |
| currentPage | Integer | Current page number |
| pageSize | Integer | Number 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
| Property | Type | Description | Required |
|---|---|---|---|
| accessToken | String | Your API access token | Yes |
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
| Type | Description |
|---|---|
| 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
| Field | Type | Description |
|---|---|---|
| status | String | SUCCESS if all processed, PARTIAL_SUCCESS if some failed |
| message | String | Summary of the operation |
| nonSyncableList | Array | List of items that could not be processed |
| totalRequests | Integer | Total number of locations in your request |
| successfulRequests | Integer | Number of locations processed successfully |
| failedRequests | Integer | Number of locations that failed to process |
Errors
| Status | Description |
|---|---|
| 400 | Invalid request (missing fields or bad format) |
| 401 | Invalid or expired access token |
| 403 | Access token does not have permission |
Definitions
Location
The location is used for both GET responses and POST requests.
| Field | Type | Description | GET | POST | Required (POST) |
|---|---|---|---|---|---|
| id | Integer | Unique identifier for the location | Yes | No | - |
| code | String | Your unique code for this location | Yes | Yes | Yes |
| codeType | String | The type of code (e.g., CLIENT, NPI) | Yes | Yes | Yes |
| active | Boolean | Whether the location is active | Yes | Yes | Yes |
| displayName | String | Name shown to end users | Yes | Yes | No |
| internalName | String | Name used for internal reference | Yes | Yes | No |
| phone | String | Contact phone number | Yes | Yes | No |
| String | Contact email address | Yes | Yes | No | |
| website | String | Website URL | Yes | Yes | No |
| address1 | String | Street address | Yes | Yes | No |
| address2 | String | Additional address details (suite, floor, etc.) | Yes | Yes | No |
| city | String | City | Yes | Yes | No |
| state | String | State or region | Yes | Yes | No |
| zip | String | Postal/ZIP code | Yes | Yes | No |
| country | String | Country | Yes | Yes | No |
| productMappings | Array | List of products enabled for this location | Yes | Yes | No |
| entityMappings | Key-value pairs | Alternative codes/identifiers for this location | Yes | Yes | No |
| additionalAttributes | Key-value pairs | Custom attributes you have defined | Yes | Yes | No |
| labels | Array | Tags assigned to this location | Yes | Yes | No |
| createdTime | String | When the record was created (UTC) | Yes | No | - |
| modifiedTime | String | When the record was last updated (UTC) | Yes | No | - |