# Subscriptions API

# Overview {% #overview %}

* **Version:** 2.0
* **Servers**: `https://api.xsolla.com/merchant/v2/`

This API reference describes endpoints for managing subscriptions, coupons, and promotions.
To get more information about Subscriptions, see the [product guide](https://developers.xsolla.com/fr/doc/subscriptions) and the [glossary](https://developers.xsolla.com/fr/doc/subscriptions/integration-guide/get-started/#general_glossary).

Version: 2.0

## Security

### basicAuth

Xsolla API uses basic access authentication. All requests to API must contain the `Authorization: Basic <your_authorization_basic_key>` header, where `<your_authorization_basic_key>` is the `merchant_id:api_key` pair encoded according to the Base64 standard.
Go to **[Xsolla Publisher Account](https://publisher.xsolla.com/) > Company settings** to find <ul><li> `merchant_id` on the Company tab</li><li> `api_key` on the API key tab.</li></ul><br>

Type: http
Scheme: basic

### managementJwtAuth

Type: http
Scheme: bearer

### projectUserJwtAuth

Type: http
Scheme: bearer

## Download OpenAPI description

[Subscriptions API](https://xsolla.redocly.app/_bundle/@l10n/fr/api/subscriptions/index.yaml)

## Jeton

### Créer un jeton

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_token/create-token.md): Vous pouvez créer un jeton avec des paramètres utilisateur arbitraires. Vous envoyez ces paramètres lors de l'obtention du jeton et les recevez en retour après un paiement réussi. Un jeton ne peut contenir que des paramètres décrits dans ce document ou prédéfinis par vous.

Si un paramètre est envoyé dans un format incorrect ou a un type incorrect, aucun jeton ne sera émis. Vous recevrez un code HTTP 422 avec la description de l'erreur dans le corps JSON. Dans extended_message, vous recevrez une information sur les paramètres exacts qui ont été envoyés de manière incorrecte.

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

## Plans

### List plans

 - [GET /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/get-plans.md): Récupère la liste de tous les plans d'abonnement.

### Create plan

 - [POST /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/create-plan.md): Crée un plan d'abonnement.

### Disable plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/disable-plan.md): Désactive un plan d'abonnement.

### Enable plan

 - [PATCH /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/enable-plan.md): Active un plan d'abonnement.

### Update plan

 - [PUT /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/update-plan-parameters.md): Met à jour les paramètres d'un plan d'abonnement.

### Delete plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}/delete](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_plans/delete-plan.md): Supprime un plan d'abonnement.

## Produits

### List products

 - [GET /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_products/get-products.md): Récupère la liste de tous les produits par abonnement.

### Create product

 - [POST /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_products/create-product.md): Crée un produit par abonnement.

### Delete product

 - [DELETE /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_products/delete-product.md): Supprime un produit par abonnement.

### Update product

 - [PUT /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_products/update-product.md): Met à jour un produit par abonnement.

## Abonnements

### Get user account link

 - [POST /api/v1/projects/{projectId}/subscriptions/user_account](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_subscriptions/post-subscriptions-get-user-account-link.md)

### List subscriptions

 - [GET /merchants/{merchant_id}/subscriptions](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_subscriptions/get-subscriptions.md): Répertorie tous les abonnements récurrents.Remarque Cette méthode API ne peut pas être utilisée en cas de charge élevée. La charge maximale est de 20 requêtes par minute.

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get subscription

 - [GET /projects/{project_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_subscriptions/get-subscription.md): Récupère les informations d'un abonnement spécifique par son ID.

### Update subscription

 - [PUT /projects/{project_id}/users/{user_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_subscriptions/update-subscription.md): Met à jour un abonnement en modifiant son statut (active, canceled ou non_renewing) ou en reportant la prochaine date de facturation.

## Paiements

### List currencies

 - [GET /projects/{project_id}/subscriptions/currencies](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_payments/get-currencies.md): Récupère la liste de toutes les devises d'abonnement prises en charge.

### List payments

 - [GET /projects/{project_id}/subscriptions/payments](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_payments/get-payments.md): Récupère la liste de tous les paiements d'abonnements.

### List user payments

 - [GET /projects/{project_id}/users/{user_id}/subscriptions/payments](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_payments/get-user-payments.md): Récupère la liste de tous les paiements effectués par un utilisateur spécifique.

## Promotions

### List promotions

 - [GET /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-promotions-list.md): Liste de toutes les promotions. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Create promotion

 - [POST /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/create-promotion.md): Créer une nouvelle promotion. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Delete promotion

 - [DELETE /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/delete-promotion.md): Supprime une promotion. Vous ne pouvez supprimer que les promotions avec enabled = false. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-promotion.md): Récupère une promotion. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Update promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/update-promotion.md): Met à jour une promotion. Si la promotion est en lecture seule (read_only = true), vous n'êtes pas autorisé à modifier le paramètre project_id. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get payment systems

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-payment-systems.md): Obtient les systèmes de paiement pris en charge pour une promotion. Si la liste est vide, la promotion s'appliquera à tous les systèmes de paiement. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Set payment systems

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/set-payment-systems.md): Définit les systèmes de paiement pris en charge pour une promotion. Si la liste est vide, la promotion s'appliquera à tous les systèmes de paiement. Si la promotion est en lecture seule (read_only = true), vous ne pouvez pas appeler cette méthode. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get validity periods

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-validity-periods.md): Obtient les plages de dates/heures pendant lesquelles une promotion est valide. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Set validity periods

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/set-validity-periods.md): Définit les plages de dates/heures pendant lesquelles une promotion est valide. Si la promotion est en lecture seule (read_only = true), vous ne pouvez pas modifier les périodes existantes, mais vous pouvez en ajouter de nouvelles. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Review promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/review](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/review-promotion.md): Vous devez vérifier une promotion avant de l'activer. Cette méthode renvoie la liste des erreurs, le cas échéant. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get rewards

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-rewards.md): Obtient la liste des récompenses associées à une promotion. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Set rewards

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/set-rewards.md): Définit les récompenses pour une promotion. Si la promotion est en lecture seule (read_only = true), vous ne pouvez pas mettre à jour les récompenses. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get promotion scope

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/get-subject.md): Obtient des informations sur le sujet d'une promotion. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Set promotion scope

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/set-subject.md): Définit le sujet d'une promotion. Si la promotion est en lecture seule (read_only = true), vous ne pouvez pas mettre à jour le sujet. Le sujet peut prendre les valeurs suivantes : purchase, items ou packages. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Toggle promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/toggle](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_promotions/toggle-promotion.md): Bascule le statut d'une promotion de enabled à disabled et vice versa. 

  Remarque Cet appel API ne contient pas le paramètre de chemin project_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

## Coupons

### Create campaign

 - [POST /merchants/{merchant_id}/coupon_promotions](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_coupons/create-campaign.md): Créez une nouvelle campagne de coupons. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Add coupon to campaign

 - [POST /merchants/{merchant_id}/coupon_promotions/{campaign_id}/coupons](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_coupons/add-coupon-to-campaign.md): Ajoutez un code promo à une campagne de coupons. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Attach campaign to promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/coupons](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_coupons/attach-campaign-to-promotion.md): Associez une campagne de coupons à une promotion spécifique. 

  RemarqueCet appel API ne contient pas le paramètre de cheminproject_id, vous devez donc utiliser la clé API valide dans tous les projets de l'entreprise pour l'autorisation.

### Get coupon

 - [GET /projects/{project_id}/coupons/{code}/details](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_coupons/get-coupon.md): Récupération des informations sur le coupon par son code.

### Redeem coupon

 - [POST /projects/{project_id}/coupons/{code}/redeem](https://xsolla.redocly.app/fr/api/subscriptions/admin_api_coupons/admin-redeem-coupon.md): Utilisation d'un coupon par son code.

## Abonnements

### List active subscriptions

 - [GET /api/user/v1/projects/{project_id}/subscriptions](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/get-user-active-subscriptions.md)

### Buy subscription

 - [POST /api/user/v1/projects/{project_id}/subscriptions/buy](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/buy-subscription.md)

### Get management link

 - [POST /api/user/v1/projects/{project_id}/subscriptions/manage](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/get-manage-subscriptions-link.md)

### Get user account link

 - [GET /api/user/v1/projects/{project_id}/subscriptions/user_account](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/get-user-account-link.md)

### Get subscription

 - [GET /api/user/v1/projects/{project_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/get-user-subscription.md)

### Cancel subscription

 - [PUT /api/user/v1/projects/{project_id}/subscriptions/{subscription_id}/cancel](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/cancel-user-subscription.md)

### Renew subscription

 - [POST /api/user/v1/projects/{project_id}/subscriptions/{subscription_id}/renew](https://xsolla.redocly.app/fr/api/subscriptions/client_api_subscriptions/renew-user-subscription.md)

## Catalog

### List products (no auth)

 - [GET /api/public/v1/projects/{project_id}/products](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/list-public-products.md)

### List plans by product (no auth)

 - [GET /api/public/v1/projects/{project_id}/products/{productId}/user_plans](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/list-public-plans-by-product.md)

### List plans (no auth)

 - [GET /api/public/v1/projects/{project_id}/user_plans](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/list-public-plans.md)

### Get catalog

 - [GET /api/user/v1/projects/{project_id}/catalog](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/get-subscriptions-catalog.md)

### List plans

 - [GET /api/user/v1/projects/{project_id}/plans](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/get-subscription-plans.md)

### List products

 - [GET /api/user/v1/projects/{project_id}/products](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/get-subscription-products.md)

### List plans by product

 - [GET /api/user/v1/projects/{project_id}/products/{productId}/plans](https://xsolla.redocly.app/fr/api/subscriptions/client_api_catalog/get-subscription-plans-by-product.md)

## Coupons

### Redeem coupon

 - [POST /api/user/v1/projects/{project_id}/redeem_coupon](https://xsolla.redocly.app/fr/api/subscriptions/client_api_coupons/redeem-coupon.md)

## Abonnements

### List subscriptions

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/list-subscriptions.md)

### Get management settings

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/settings](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/get-management-settings.md)

### Get subscription

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/get-management-subscription.md)

### Activate subscription

 - [PUT /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/activate](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/activate-subscription.md)

### Cancel subscription

 - [PUT /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/cancel](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/cancel-subscription.md)

### Get change plan link

 - [POST /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/change_plan](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/get-change-plan-link.md)

### List plans for change

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/plans_for_change](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/list-plans-for-change.md)

### Get plan for change

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/plans_for_change/{plan_id}](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_subscriptions/get-plan-for-change.md)

## Payment accounts

### Get payment account

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_account](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_payment-accounts/get-payment-account.md)

### Manage payment account

 - [POST /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_account/manage](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_payment-accounts/manage-payment-account.md)

### List payment accounts

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_accounts](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_payment-accounts/list-payment-accounts.md)

### Link payment account

 - [POST /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_accounts](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_payment-accounts/link-payment-account.md)

### Unlink payment account

 - [DELETE /api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_accounts/{payment_account_id}](https://xsolla.redocly.app/fr/api/subscriptions/user_management_api_payment-accounts/unlink-payment-account.md)

