Skip to content

Magicline API (1.10.0)

  • 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
  • Get device information
  • Employee operations
  • Debt collection operations
  • Leads operations
  • Manage membership contracts
  • Membership operations
  • Payment operations
  • Get studio information
  • Get trial offers information
Download OpenAPI description
Languages
Servers
Demo tenant

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

Mock server

https://redocly.sportalliance.com/_mock/apis/magicline/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

Customers Account

Retrieve customer accounting details

Operations

Customers Communication

Retrieve customer communication details

Operations
Operations
Operations
Operations
Operations
Operations

Membership Self-service

Manage membership contracts

Operations

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_IDLE_PERIOD_WRITE

Update a contract idle period. When the amendment is accepted, it will become an idle period. ATTENTION: Please see https://developer.magicline.com/apis/openapi/general-information#multipartform-data-requests

Security
ApiKeyAuth
Path
contractIdinteger(int64)required

Unique ID of the contract

idlePeriodIdinteger(int64)required

Unique ID of the idle period

Bodymultipart/form-data
dataobject(IdlePeriodUpdateRequest)required

Represents an idle period update request

data.​startDatestring(date)required

Start date of the idle period

data.​temporalUnitstring

Represents the temporal unit of an idle period

Enum ValueDescription
MONTH

Represents a monthly temporal unit of the idle period. Can be used for month pickers only. Supports only full months.

WEEK

Represents a weekly temporal unit of the idle period. Can be used for week pickers only. Supports only full weeks.

DAY

Represents a daily temporal unit of the idle period. Can be used for day pickers only.

Example: "WEEK"
data.​termValueinteger(int32)

Duration term of the idle period. The field is related to the temporal unit

Example: 1
data.​unlimitedboolean

If true, the idle period has no defined end date. In that case, termValue and temporalUnit are empty.

Example: true
data.​reasonIdinteger(int64)required

ID of an idle period reason

Example: 1
data.​endDatestring(date)

End date of the idle period. This field is only utilized when shortening an existing idle period (i.e., the start date remains unchanged, but the new end date is earlier than the original).

Example: "2025-12-31"
documentstring(binary)

Idle period proposal document (jpeg, png, pdf, heic)

curl -i -X PUT \
  'https://open-api-demo.open-api.magicline.com/v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}' \
  -H 'Content-Type: multipart/form-data' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -F 'data[startDate]=2019-08-24' \
  -F 'data[temporalUnit]=WEEK' \
  -F 'data[termValue]=1' \
  -F 'data[unlimited]=true' \
  -F 'data[reasonId]=1' \
  -F 'data[endDate]=2025-12-31' \
  -F document=string

Responses

OK

Bodyapplication/json
idinteger(int64)required

Unique ID of the idle period or amendment, depending on the state

Example: 203
startDatestring(date)required

Start date of the idle period

endDatestring(date)required

End date of the idle period

reasonstringrequired

Reason of the idle period

Example: "Vacation"
feeobject(Money)required

Represents a financial data

fee.​amountnumberrequired

Amount of the finance data tuple

Example: 20
fee.​currencystring(ISO 4217)required

Currency of the finance data tuple

Example: "EUR"
unlimitedboolean

Indicates whether the idle period is unlimited

Example: false
documentUrlstring

Temporal download-url for the idle period document, restricted to 15 minutes

statestringrequired

State of the idle period

Enum ValueDescription
ACCEPTED

The idle period is accepted

PENDING_VERIFICATION

The idle period verification is pending

Example: "PENDING_VERIFICATION"
Response
application/json
{ "id": 203, "startDate": "2019-08-24", "endDate": "2019-08-24", "reason": "Vacation", "fee": { "amount": 20, "currency": "EUR" }, "unlimited": false, "documentUrl": "string", "state": "PENDING_VERIFICATION" }

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_IDLE_PERIOD_WRITE

Withdraw a contract idle period or amendment.

Security
ApiKeyAuth
Path
contractIdinteger(int64)required

Unique ID of the contract

idlePeriodIdinteger(int64)required

Unique ID of the idle period

curl -i -X DELETE \
  'https://open-api-demo.open-api.magicline.com/v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/json
successstring
Response
application/json
{ "success": "string" }

Request

Required Scopes: MEMBERSHIP_SELF_SERVICE_ADDITIONAL_MODULE_READ

Get additional modules for a studio

Security
ApiKeyAuth
curl -i -X GET \
  https://open-api-demo.open-api.magicline.com/v1/memberships/self-service/additional-modules \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)required

Unique ID of the additional module

Example: 203
namestringrequired

Name of the additional module rate

Example: "drink flat"
descriptionstring

Description of the additional module rate

Example: "drink flat"
imageUrlstringrequired

Image url of the additional module

Example: "https://www.image.com"
paymentFrequenciesArray of objects(AdditionalModulePaymentFrequency)required

Payment frequencies of the additional module

paymentFrequencies[].​idinteger(int64)

Unique ID of the payment frequency of an additional module

Example: 203
paymentFrequencies[].​typestringrequired

Payment frequency type of an additional module

Enum ValueDescription
TERM_BASED

Represents that the additional module payment frequency is based on terms, with a possibly individual price per term.

NON_RECURRING

Represents that the additional module payment frequency is non recurring, meaning only one payment is necessary here.

FREE

Represents that the additional module payment frequency is free of charge.

RECURRING

Represents that the additional module payment frequency is recurring, meaning that the payment will take place every term.

MONTH_DAY

Represents that the additional module payment frequency is based on month days, with a possibly individual price per month day.

Example: "FREE"
paymentFrequencies[].​termobject(Term)

Represents a term

paymentFrequencies[].​priceobject(Money)

Base price, used only for payment frequencies of type RECURRING

paymentFrequencies[].​monthDaysToPricesArray of objects(AdditionalModuleMonthDayToPrice)

Month day to prices list, used for additional module payment frequency type MONTH_DAY

paymentFrequencies[].​termsToPricesArray of objects(AdditionalModuleTermToPrice)

Terms to prices list, used for additional module payment frequency type TERM_BASED. Note that the price will become active AFTER the respective term has passed

termInformationobject(TermInformation)required

Term information of the additional module

termInformation.​termobject(Term)required

Represents a term

termInformation.​term.​valueinteger(int32)required

The value of the term

Example: 2
termInformation.​term.​unitstringrequired

Represents a temporal unit

Enum ValueDescription
MONTH

Represents month unit

YEAR

Represents year unit

WEEK

Represents a week unit

DAY

Represents a day unit

Example: "WEEK"
termInformation.​extensionobject(AdditionalModuleExtension)

Represents an additional module extension

termInformation.​cancelationPeriodobject(Term)

Represents a term

trialPeriodConfigobject(AdditionalModuleTrialPeriodConfig)

Represents the trial period config of an additional module

rateCodesArray of objects(RateCode)

Rate codes of the additional module rate

]
Response
application/json
[ { "id": 203, "name": "drink flat", "description": "drink flat", "imageUrl": "https://www.image.com", "paymentFrequencies": [], "termInformation": {}, "trialPeriodConfig": {}, "rateCodes": [] } ]
Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations