Skip to content

Magicline API (1.13.2)

  • 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
  • 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.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

Delete customer's access restriction

Request

Required Scopes: CUSTOMER_ACCESS_RESTRICTION_WRITE

Deletes the customer's access restriction. Only previously created restrictions may be deleted.

Security
ApiKeyAuth
Path
customerIdinteger(int64)required
curl -i -X DELETE \
  'https://open-api-demo.open-api.magicline.com/v1/customers/{customerId}/access-restrictions' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Response
No content

Request

Required Scopes: CUSTOMER_WRITE

Creates a new customer (prospect) with comprehensive data to allow for future conversion to a full member

Security
ApiKeyAuth
Bodyapplication/jsonrequired
thirdPartyIdstring

Unique ID of the third party customer in the third party system

Example: "A1000"
firstNamestringrequired

First name of the customer

Example: "Peter"
secondFirstNamestring

Second first name of the customer

Example: "Thomas"
lastNamestringrequired

Last name of the customer

Example: "Muller"
secondLastNamestring

Second last name of the customer

Example: "Meyer"
dateOfBirthstring(date)required

Date of birth of the customer

Example: "2019-08-24"
placeOfBirthstring

Place of birth of the customer. Required for Italian studios and nationals.

countryOfBirthstring

Country of birth of the customer. Required for Italian studios and non-Italian nationals

emailstringrequired

Email address of the customer

Example: "example@example.com"
genderstring

Gender of the customer

Enum ValueDescription
MALE

Male gender of the customer

FEMALE

Female gender of the customer

UNISEX

Unisex gender of the customer

Example: "MALE"
phoneNumberPrivatestring

Private phone number of the customer

Example: "+44123456789"
phoneNumberMobilestring

Mobile phone number of the customer

Example: "+44987654321"
streetstringrequired

Street of the customer's address

Example: "Raboisen Street"
secondStreetstring

Second street line of the customer's address

Example: "Second Street"
cityPartstring

City part of the customer's address

Example: "Tegel"
districtstring

District of the customer's address

Example: "District 12"
streetTypestring

Street type of the customer's address

Example: "Avenue"
streetBlockstring

Street block of the customer's address

Example: "5th block"
portalstring

Portal of the customer's address

Example: "Portal 1"
stairwaystring

Stairway of the customer's address

Example: "Right stairway"
doorstring

Door of the customer's address

Example: "Door 1"
provincestring

Province of the customer's address

Example: "Champagne"
additionalAddressInformationstring

Additional address information of the customer's address

Example: "Additional information"
floorstring

Floor of the customer's address

Example: "2nd floor"
languageobject(Language)required

Language of the customer

language.​languageCodestring(ISO 639-1)required

The language code

Example: "de"
language.​countryCodestring(ISO 3166-1)

The country code

Example: "DE"
houseNumberstring

House number of the customer's address

Example: "3-4"
buildingNamestring

Building name

Example: "Empire State Building"
citystringrequired

City of the customer's address

Example: "Hamburg"
zipCodestringrequired

Zip code of the customer's address

Example: "220-99"
countryCodestring(ISO 3166-1)required

Country code of the customer's address

Example: "DE"
taxIdstring

Required if the studio is located in Spain or Italy. Alternatively, a valid document identification can be provided.

Example: "12345678A"
communicationPreferencesArray of objects(CommunicationPreference)

List of communication preferences for the customer

documentIdentificationobject(DocumentIdentification)

Information from an official document that identifies the customer

paymentRequestTokenstring

By assigning the paymentRequestToken to the customer, the payment method associated with the token will be used as payment method setting of the customer. Additionally, if the paymentRequestToken is associated with a payment instrument, i.e. a SEPA Mandate, BACS Mandate, Credit Card, or other, the payment instrument will be made available in the member account for future collection via payment runs. By leaving this field empty the payment method of the customer will be set to CASH. For reference check 'Create a user payment session'.

additionalInformationFieldAssignmentsArray of objects(AdditionalInformationFieldAssignment)

List of additional information field assignments of the customer

curl -i -X POST \
  https://open-api-demo.open-api.magicline.com/v1/customers/create \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "thirdPartyId": "A1000",
    "firstName": "Peter",
    "secondFirstName": "Thomas",
    "lastName": "Muller",
    "secondLastName": "Meyer",
    "dateOfBirth": "2019-08-24",
    "placeOfBirth": "string",
    "countryOfBirth": "string",
    "email": "example@example.com",
    "gender": "MALE",
    "phoneNumberPrivate": "+44123456789",
    "phoneNumberMobile": "+44987654321",
    "street": "Raboisen Street",
    "secondStreet": "Second Street",
    "cityPart": "Tegel",
    "district": "District 12",
    "streetType": "Avenue",
    "streetBlock": "5th block",
    "portal": "Portal 1",
    "stairway": "Right stairway",
    "door": "Door 1",
    "province": "Champagne",
    "additionalAddressInformation": "Additional information",
    "floor": "2nd floor",
    "language": {
      "languageCode": "de",
      "countryCode": "DE"
    },
    "houseNumber": "3-4",
    "buildingName": "Empire State Building",
    "city": "Hamburg",
    "zipCode": "220-99",
    "countryCode": "DE",
    "taxId": "12345678A",
    "communicationPreferences": [
      {
        "messageCategory": "CONTRACT",
        "channels": [
          {
            "communicationChannel": "EMAIL",
            "customerOverridable": true,
            "active": true
          }
        ]
      }
    ],
    "documentIdentification": {
      "documentNumber": "CX5432112345DS",
      "documentType": "ID_CARD"
    },
    "paymentRequestToken": "string",
    "additionalInformationFieldAssignments": [
      {
        "additionalInformationFieldId": 1234567890,
        "value": "string",
        "name": "Membership Type"
      }
    ]
  }'

Responses

OK

Bodyapplication/json
customerIdinteger(int64)required

Unique ID of the customer

Example: 1000
Response
application/json
{ "customerId": 1000 }

Request

Required Scopes: ADDITIONAL_INFORMATION_READ

Returns additional information fields available for assignment to customers.

Security
ApiKeyAuth
curl -i -X GET \
  https://open-api-demo.open-api.magicline.com/v1/customers/additional-information-fields \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Bodyapplication/jsonArray [
idinteger(int64)required

The unique ID of the additional information field

Example: 1234567890
namestringrequired

The name of the additional information field

Example: "Membership Type"
typestringrequired

The type of an additional information field. This defines how the field is used and what kind of data it can hold.

Enum ValueDescription
DATE

This field holds a date value, used for storing dates.

NUMERIC

This field holds a numeric value, used for storing numbers.

TEXT

This field holds a text value, used for storing free-form text input.

LIST

This field holds a list of items, allowing selection from predefined options.

BOOLEAN

This field holds a boolean value, typically used for yes/no questions.

Example: "BOOLEAN"
abbreviationstring

The abbreviation of the additional information field

Example: "MT"
listItemsArray of objects(AdditionalInformationListItem)

A list of list items. This is only used if the field type is a list.

]
Response
application/json
[ { "id": 1234567890, "name": "Membership Type", "type": "BOOLEAN", "abbreviation": "MT", "listItems": [] } ]

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
Operations

Online offers

Online offer operations

Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations