Skip to content

Magicline API (1.16.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
  • Retrieve customer transaction 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

Request

Required Scopes: FAMILY_CONTRACT_ASSIGNMENT_WRITE

Cancels a customer's contract from a family contract.

Security
ApiKeyAuth
Path
contractIdinteger(int64)required
curl -i -X POST \
  'https://open-api-demo.open-api.magicline.com/v1/customers/contracts/{contractId}/leave-family-contract' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE'

Responses

OK

Response
No content

Request

Required Scopes: CUSTOMER_WRITE

Adds or replaces a customer's legal representative.

Security
ApiKeyAuth
Path
customerIdinteger(int64)required

Unique ID of the customer

Bodyapplication/jsonrequired
typestringrequired

Type of the legal representative

Enum ValueDescription
EXISTING_CUSTOMER

Links an existing customer as legal representative

EXTERNAL_PERSON

Creates or updates an external person as legal representative

Example: "EXTERNAL_PERSON"
personobject(LegalRepresentativePerson)

External person data used when type is EXTERNAL_PERSON

customerIdinteger(int64)

Customer id used when type is EXISTING_CUSTOMER

Example: 98765
singleParentboolean

Whether the provided legal representative is the only legal guardian

Example: true
addressToLiablePersonboolean

Whether communication and billing should be sent to the legal representative

Example: false
legalRepresentativeSignatureobject(Signature)

The first legal representative signature SVG for the contract document

Example: {"base64SvgSignature":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4="}
legalRepresentativeSignatureSecondPersonobject(Signature)

The second legal representative signature SVG for the contract document

Example: {"base64SvgSignature":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4="}
curl -i -X PUT \
  'https://open-api-demo.open-api.magicline.com/v1/customers/{customerId}/legal-representative' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY_HERE' \
  -d '{
    "type": "EXTERNAL_PERSON",
    "person": {
      "firstName": "Erika",
      "secondFirstName": "Maria",
      "lastName": "Mustermann",
      "secondLastName": "Meyer",
      "dateOfBirth": "1985-08-24",
      "placeOfBirth": "Hamburg",
      "countryOfBirth": "DE",
      "gender": "MALE",
      "email": "legal.rep@example.com",
      "phoneNumberPrivate": "+44123456789",
      "phoneNumberMobile": "+44987654321",
      "street": "Raboisen Street",
      "houseNumber": "3-4",
      "additionalAddressInformation": "2nd floor",
      "city": "Hamburg",
      "zipCode": "220-99",
      "countryCode": "DE"
    },
    "customerId": 98765,
    "singleParent": true,
    "addressToLiablePerson": false,
    "legalRepresentativeSignature": {
      "base64SvgSignature": "string"
    },
    "legalRepresentativeSignatureSecondPerson": {
      "base64SvgSignature": "string"
    }
  }'

Responses

OK

Response
No content

Add a new access medium to a customerDeprecated

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 PUT \
  'https://open-api-demo.open-api.magicline.com/v1/customers/{customerId}/access-medium' \
  -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" }

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

Membership Self-service

Manage membership contracts

Operations
Operations

Online offers

Online offer operations

Operations
Operations
Operations

Trial Offers

Get trial offers information

Operations