PerfectGym Next API

  • Appointment, bookable appointment and slots operations
  • Class and slots operations
  • Cross studio operations
  • Get customers and contracts
  • Retrieve customer accounting details
  • Retrieve customer communication details
  • Get device information
  • Debt collection operations
  • Manage membership contracts
  • Get studio information
  • Get trial offers information
Download OpenAPI description
Languages
Servers
Mock server
https://developer.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/
Demo tenant
https://open-api-demo.open-api.perfectgym.com/

Appointments

Appointment, bookable appointment and slots operations

Operations

Classes

Class and slots operations

Operations

Cross Studio

Cross studio operations

Operations

Customers

Get customers and contracts

Operations

Customers Account

Retrieve customer accounting details

Operations

Get customer's account balance data

Request

Required Scopes: CUSTOMER_ACCOUNT_READ

Returns customer's current account balance data

Path
customerIdinteger(int64)required

Unique ID of the customer

curl -i -X GET \
  'https://developer.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/v1/customers/{customerId}/account/balances' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
accountBalanceobject(Money)

Represents a financial data

consumptionCreditobject(Money)

Represents a financial data

dunningLevelstring

The dunning level of the customer

Example: "Dunning Level 1"
inDebtCollectionbooleanrequired

Whether the customers open debt claims where transferred to a debt collection agency

Response
application/json
{ "accountBalance": { "amount": 20, "currency": "EUR" }, "consumptionCredit": { "amount": 20, "currency": "EUR" }, "dunningLevel": "Dunning Level 1", "inDebtCollection": true }

Get customer's account past transactions in slices

Request

Required Scopes: CUSTOMER_ACCOUNT_READ

Returns customer's account transaction data for the past excluding today

Path
customerIdinteger(int64)required

Unique ID of the customer

Query
sliceSizeinteger(int32)[ 1 .. 50 ]

Desired size of data chunk

Default 10
offsetstring
Default "0"
curl -i -X GET \
  'https://developer.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/v1/customers/{customerId}/account/transactions?offset=0&sliceSize=10' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
resultArray of objects(BookingEntry)required

List of booking entries

result[].​idinteger(int64)required

The internal id of the entry

result[].​dueDatestring(date)required

Date to booking is/was to be paid

result[].​descriptionstring

Description of the booking

result[].​amountobject(Money)

Represents a financial data

result[].​openAmountobject(Money)

Represents a financial data

result[].​installmentPlanbooleanrequired

Whether or not the booking was transferred into an installment plan

hasNextbooleanrequired

True if there exists next data slice

Example: true
offsetstringrequired

Offset for next query

Example: "100"
Response
application/json
{ "result": [ {} ], "hasNext": true, "offset": "100" }

Get customer's account upcoming transactions in slices within the next year

Request

Required Scopes: CUSTOMER_ACCOUNT_READ

Returns customer's account upcoming transaction data including today

Path
customerIdinteger(int64)required

Unique ID of the customer

Query
sliceSizeinteger(int32)[ 1 .. 50 ]

Desired size of data chunk

Default 10
offsetstring
Default "0"
curl -i -X GET \
  'https://developer.sportalliance.com/_mock/apis/perfectgym/openapi/openapi/v1/customers/{customerId}/account/transactions/upcoming?offset=0&sliceSize=10' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
resultArray of objects(BookingEntry)required

List of booking entries

result[].​idinteger(int64)required

The internal id of the entry

result[].​dueDatestring(date)required

Date to booking is/was to be paid

result[].​descriptionstring

Description of the booking

result[].​amountobject(Money)

Represents a financial data

result[].​openAmountobject(Money)

Represents a financial data

result[].​installmentPlanbooleanrequired

Whether or not the booking was transferred into an installment plan

hasNextbooleanrequired

True if there exists next data slice

Example: true
offsetstringrequired

Offset for next query

Example: "100"
Response
application/json
{ "result": [ {} ], "hasNext": true, "offset": "100" }

Customers Communication

Retrieve customer communication details

Operations

Customers Self-service

Operations

Devices

Get device information

Operations

Finance

Debt collection operations

Operations

Membership Self-service

Manage membership contracts

Operations

Studios

Get studio information

Operations

Trial Offers

Get trial offers information

Operations