List EGYM sites
GET /api/configuration/egym/sites
Success: 200 OK
- Products: Operator (
FOH), Integrations (INTEGRATIONS) (any one of these products, not all) - Features: Front of House Generic Access (
FOHGENERIC),EGYMSYNC(any one of these features, not all)
Overview
Lists the sites enabled for the EGYM integration, which creates and updates your members' accounts at EGYM, a third-party provider. For each site it returns the masked EGYM API key, the scheduled initial sync date, whether the site is now syncing member changes in real time, and the status of its initial bulk sync.
Use it to show the current EGYM set-up, and to check whether a site's initial sync has finished: a site syncs changes in real time only once isEnabled is true and syncMode is Delta. Before then, nothing is sent to EGYM for that site.
API keys are never returned in full. To enable sites, use Create EGYM sites; to remove one, use Delete EGYM site. The equivalent Operator screen is described in How to Set Up the EGYM Integration.
Endpoint
GET {base_url}/api/configuration/egym/sites
{base_url} is the environment URL issued to your integration. See Authenticating with Gladstone APIs.
Sample request
curl -X GET '{base_url}/api/configuration/egym/sites' \
-H 'Authorization: Bearer {accessToken}' \
-H 'X-Use-SSO: true'Response fields
The response is an array with one entry per site enabled for EGYM. It is an empty array when no site is enabled.
| Field | Type | Description |
|---|---|---|
[].siteId | string | The Gladstone site identifier, as returned by Get all sites. Use it with Delete EGYM site. The response carries no site name; resolve it from the sites list. |
[].maskedApiKey | string | The site's EGYM API key, masked to **** followed by its last four characters, for example ****4821. A key of four characters or fewer is returned as **** alone. Use it to tell keys apart; the full key cannot be retrieved. |
[].baseUrl | string | The EGYM API address used for this site: the baseUrl sent when the site was enabled, or otherwise your tenant's EGYM API URL setting at that time. |
[].initialSyncDate | string (date-time) | The date chosen for the initial sync, in your tenant's local time zone, with a zero time part. The sync is scheduled for midnight at the start of this date. null for a site enabled before initial sync dates were recorded. |
[].isEnabled | boolean | false from when the site is added until its initial bulk sync completes, then true. It does not mean "the site has been added": every site in this list has been added. |
[].syncMode | string | BulkPending until the initial bulk sync completes, then Delta. Member changes at the site are sent to EGYM in real time only when this is Delta and isEnabled is true; treat any other value as not yet syncing in real time. |
[].bulkSyncStatus | string | Status of the site's most recent bulk sync: Pending (scheduled, not yet started), InProgress, Paused, Completed, Cancelled or Failed, or None if no bulk sync has been scheduled for the site. |
Sample response
[
{
"siteId": "SWIM01",
"maskedApiKey": "****4821",
"baseUrl": "https://egym.example.com",
"initialSyncDate": "2026-10-20T00:00:00",
"isEnabled": false,
"syncMode": "BulkPending",
"bulkSyncStatus": "Pending"
}
]Errors
| Status | Meaning | When |
|---|---|---|
401 | Unauthorised | The Authorization header is missing or the token is invalid or expired. |
403 | Forbidden | The token is a member or anonymous token, or does not carry the products or features this endpoint requires. |
500 | Internal server error | An unexpected server-side failure. The body is empty. The call reads only, so it is safe to retry. |