# Membership Self-service Manage membership contracts ## Get customer's contract data - [GET /v1/memberships/{customerId}/self-service/contract-data](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getcontractdata.md): Required Scopes: Returns customer's current contract data for memberships ## Create contract cancelation amendment - [POST /v1/memberships/{customerId}/self-service/ordinary-contract-cancelation](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/createcontractcancelationamendment.md): Required Scopes: Creates contract cancelation amendment for specified contract id ## Get studio's contract cancelation reason data - [GET /v1/memberships/self-service/contract-cancelation-reasons](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getcontractcancelationreasondata.md): Required Scopes: Get available contract cancelation reasons for the studio ## withdraw cancelation of contract - [POST /v1/memberships/{customerId}/self-service/withdraw-ordinary-contract-cancelation/{contractId}](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/withdrawcontractcancelation.md): Required Scopes: Withdraws contract cancelation amendment or reverts cancelation for specific contract id ## Get the idle period configuration of the contract - [GET /v1/memberships/{contractId}/self-service/idle-periods/config](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getidleperiodconfig.md): Required Scopes: Get the idle period configuration of the contract ## Validate an idle period request - [POST /v1/memberships/{contractId}/self-service/idle-periods/validate](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/validateidleperiodrequest.md): Required Scopes: Validate if an idle period or idle period amendment can be created with the data from the idle period request ## Get the idle periods of the contract - [GET /v1/memberships/{contractId}/self-service/idle-periods](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getidleperiods.md): Required Scopes: Get contract idle periods. Amendments are returned, when a idle period is in status pending verification ## Create a contract idle period amendment - [POST /v1/memberships/{contractId}/self-service/idle-periods](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/createidleperiodamendment.md): Required Scopes: Create a contract idle period amendment. 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 ## Get contract idle period by id - [GET /v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getidleperiodbyid.md): Required Scopes: Get contract idle period or amendment by id. ## Update a contract idle period - [PUT /v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/updateidleperiod.md): Required Scopes: 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 ## Withdraw a contract idle period - [DELETE /v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/withdrawidleperiod.md): Required Scopes: Withdraw a contract idle period or amendment. ## Get additional modules - [GET /v1/memberships/self-service/additional-modules](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getadditionalmodules.md): Required Scopes: Get additional modules for a studio ## Get purchasable additional modules - [GET /v1/memberships/{contractId}/self-service/additional-modules/purchasable](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getpurchasableadditionalmodules.md): Required Scopes: Get purchasable additional modules for a studio and a customer (via main contract) ## Validate an additional module contract request - [POST /v1/memberships/{contractId}/self-service/additional-modules/validate](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/validateadditionalmodulecontractrequest.md): Required Scopes: Validate an additional module contract request ## Purchase an additional module contract - [POST /v1/memberships/{contractId}/self-service/additional-modules/purchase](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/purchaseadditionalmodulecontract.md): Required Scopes: Purchase an additional module contract ## Get an additional module contract - [GET /v1/memberships/{contractId}/self-service/additional-module-contracts/{additionalModuleContractId}](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getadditionalmodulecontract.md): Required Scopes: Get an additional module contract via additional module contract id ## Create additional module contract cancelation amendment - [POST /v1/memberships/{contractId}/self-service/additional-module-contracts/{additionalModuleContractId}/ordinary-cancelation](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/createmodulecontractcancelationamendment.md): Required Scopes: Creates additional module contract cancelation amendment for specified contract id and additional module contract id ## withdraw cancelation of the additional module contract - [POST /v1/memberships/{contractId}/self-service/additional-module-contracts/{additionalModuleContractId}/withdraw-cancelation](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/withdrawadditionalmodulecontractcancelation.md): Required Scopes: Withdraws additional module contract cancelation amendment or reverts cancelation for specific additional module contract id ## Get contract's remaining idle periods - [GET /v1/memberships/{contractId}/self-service/idle-periods/remaining](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/getremainingidleperiods.md): Required Scopes: Returns contract's remaining idle periods ## Get preview of an updated idle period charges and fees - [PUT /v1/memberships/{contractId}/self-service/idle-periods/{idlePeriodId}/preview](https://redocly.sportalliance.com/apis/perfectgym/openapi/openapi/membership-self-service/idleperiodupdatepreview.md): Required Scopes: Get preview of an updated idle period charges and fees