Skip to content

PerfectGym Next API (1.20.1)

  • Appointment, bookable appointment and slots operations
  • Redeem checkin vouchers
  • Class and slots operations
  • Cross studio operations
  • Get customers and contracts
  • Retrieve customer accounting details
  • Retrieve customer communication details
  • Retrieve customer transaction details
  • Get device information
  • Employee operations
  • Debt collection operations
  • Leads operations
  • Get member lists
  • Manage membership contracts
  • Membership operations
  • Online offer operations
  • Payment operations
  • Get studio information
  • Get trial offers information
Download OpenAPI description
Languages
Servers
Demo tenant

https://open-api-demo.open-api.perfectgym.com/

Mock server

https://redocly.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/

Appointments

Appointment, bookable appointment and slots operations

Operations

Checkin vouchers

Redeem checkin vouchers

Operations
Operations

Cross Studio

Cross studio operations

Operations

Customers

Get customers and contracts

Operations

Request

Required Scopes: CUSTOMER_READ

Returns customer's access code

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

curl -i -X GET \
  'https://open-api-demo.open-api.perfectgym.com/v1/customers/{customerId}/access-code' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
formatstringrequired

Represents an access code format the content should be encoded into or decoded from

ValueDescription
QR_CODE

QR code format

Example: "QR_CODE"
expiresAtstring(date-time)

Access code expiry date and time with zone

Example: "2024-06-13T10:33:00+01:00"
contentstringrequired

Access code content that should be rendered in a format defined by the format property

Example: "0049267681211943991"
Response
application/json
{ "format": "QR_CODE", "expiresAt": "2024-06-13T10:33:00+01:00", "content": "0049267681211943991" }

Add a new access medium to a customer

Request

Required Scopes: CUSTOMER_ACCESS_MEDIUM_WRITE

Returns the newly added access medium

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

Bodyapplication/jsonrequired
idinteger(int64)

Unique identifier for the access medium

Example: 1234567890
typestring

Represents a type of access medium

Enum ValueDescription
PIN

Personal identification number

BARCODE

Barcode content

WALLET_PASS

Wallet pass identifier

CARD_NUMBER

Card number

Example: "CARD_NUMBER"
valuestring

Unique identifier for the access medium

curl -i -X POST \
  'https://open-api-demo.open-api.perfectgym.com/v1/customers/{customerId}/access-mediums' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "id": 1234567890,
    "type": "CARD_NUMBER",
    "value": "string"
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)

Unique identifier for the access medium

Example: 1234567890
typestring

Represents a type of access medium

Enum ValueDescription
PIN

Personal identification number

BARCODE

Barcode content

WALLET_PASS

Wallet pass identifier

CARD_NUMBER

Card number

Example: "CARD_NUMBER"
valuestring

Unique identifier for the access medium

Response
application/json
{ "id": 1234567890, "type": "CARD_NUMBER", "value": "string" }

Request

Required Scopes: CUSTOMER_ACCESS_MEDIUM_WRITE

Updates the customer's access medium. Only previously created mediums may be updated.

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

accessMediumIdinteger(int64)required

Unique ID of the access medium

Bodyapplication/jsonrequired
valuestring

Unique identifier for the access medium

curl -i -X PUT \
  'https://open-api-demo.open-api.perfectgym.com/v1/customers/{customerId}/access-mediums/{accessMediumId}' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "value": "string"
  }'

Responses

OK

Bodyapplication/json
idinteger(int64)

Unique identifier for the access medium

Example: 1234567890
typestring

Represents a type of access medium

Enum ValueDescription
PIN

Personal identification number

BARCODE

Barcode content

WALLET_PASS

Wallet pass identifier

CARD_NUMBER

Card number

Example: "CARD_NUMBER"
valuestring

Unique identifier for the access medium

Response
application/json
{ "id": 1234567890, "type": "CARD_NUMBER", "value": "string" }

Customers Account

Retrieve customer accounting details

Operations

Customers Communication

Retrieve customer communication details

Operations
Operations

Customers Transactions

Retrieve customer transaction details

Operations
Operations
Operations
Operations
Operations
Operations

Membership Self-service

Manage membership contracts

Operations
Operations

Online offers

Online offer operations

Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations