# 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/es/doc/subscriptions) and the [glossary](https://developers.xsolla.com/es/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/es/api/subscriptions/index.yaml)

## Token

### Crear token

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/es/api/subscriptions/admin_api_token/create-token.md): Puede crear un token con parámetros de usuario arbitrarios. Envíe estos parámetros al obtener el token y recíbalos después de un pago exitoso. Un token solo puede contener parámetros descritos en este documento o predefinidos por usted.

Si algún parámetro se envía en el formato incorrecto o tiene el tipo incorrecto, no se emitirá ningún token. Recibirá un código HTTP 422 con la descripción del error en el cuerpo JSON. En extended_message recibirá información sobre qué parámetros exactos se enviaron incorrectamente. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

## Planes

### List plans

 - [GET /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/get-plans.md): Muestra todos los planes de suscripción.

### Create plan

 - [POST /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/create-plan.md): Crea un plan de suscripción.

### Disable plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/disable-plan.md): Desactiva un plan de suscripción.

### Enable plan

 - [PATCH /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/enable-plan.md): Activa un plan de suscripción.

### Update plan

 - [PUT /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/update-plan-parameters.md): Actualiza los parámetros del plan de suscripción.

### Delete plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}/delete](https://xsolla.redocly.app/es/api/subscriptions/admin_api_plans/delete-plan.md): Elimina un plan de suscripción.

## Productos

### List products

 - [GET /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/es/api/subscriptions/admin_api_products/get-products.md): Muestra todos los productos basados en suscripción.

### Create product

 - [POST /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/es/api/subscriptions/admin_api_products/create-product.md): Crea un producto basado en suscripción.

### Delete product

 - [DELETE /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_products/delete-product.md): Elimina un producto basado en suscripción.

### Update product

 - [PUT /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_products/update-product.md): Actualiza un producto basado en suscripción.

## Suscripciones

### Get user account link

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

### List subscriptions

 - [GET /merchants/{merchant_id}/subscriptions](https://xsolla.redocly.app/es/api/subscriptions/admin_api_subscriptions/get-subscriptions.md): Enumera todas las suscripciones recurrentes.Aviso Este método API no se puede utilizar con una carga elevada. La carga máxima es de 20 solicitudes por minuto. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get subscription

 - [GET /projects/{project_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_subscriptions/get-subscription.md): Obtiene detalles de una suscripción específica mediante un ID.

### Update subscription

 - [PUT /projects/{project_id}/users/{user_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_subscriptions/update-subscription.md): Actualiza una suscripción al cambiar su estado (active, canceled o non_renewing) o al aplazar la próxima fecha de facturación.

## Pagos

### List currencies

 - [GET /projects/{project_id}/subscriptions/currencies](https://xsolla.redocly.app/es/api/subscriptions/admin_api_payments/get-currencies.md): Muestra todas las monedas de suscripción admitidas.

### List payments

 - [GET /projects/{project_id}/subscriptions/payments](https://xsolla.redocly.app/es/api/subscriptions/admin_api_payments/get-payments.md): Muestra todos los pagos de suscripción.

### List user payments

 - [GET /projects/{project_id}/users/{user_id}/subscriptions/payments](https://xsolla.redocly.app/es/api/subscriptions/admin_api_payments/get-user-payments.md): Muestra todos los pagos hechos por un usuario específico.

## Promociones

### List promotions

 - [GET /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-promotions-list.md): Listado de todas las promociones.

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Create promotion

 - [POST /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/create-promotion.md): Crear una nueva campaña de cupones.

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Delete promotion

 - [DELETE /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/delete-promotion.md): Elimina una promoción. Solo puedes eliminar promociones con enabled = false. 

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-promotion.md): Recupera una promoción. 

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Update promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/update-promotion.md): Actualiza una promoción. Si la promoción es de solo lectura (read_only = true), no se le permite cambiar el parámetro project_id.

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get payment systems

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-payment-systems.md): Obtiene los sistemas de pago admitidos para una promoción. Si la lista está vacía, la promoción se aplicará a todos los sistemas de pago.  

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Set payment systems

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/set-payment-systems.md): Establece los sistemas de pago admitidos para una promoción. Si la lista está vacía, la promoción se aplicará a todos los sistemas de pago. Si la promoción es de solo lectura (read_only = true), no puede llamar a este método. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get validity periods

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-validity-periods.md): Obtiene rangos de fecha/hora cuando una promoción es válida.

  Aviso Esta llamada API no contiene el parámetro de rutaproject_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Set validity periods

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/set-validity-periods.md): Establece los rangos de fecha y hora en los que una promoción es válida. Si la promoción es de solo lectura (read_only = true), no puede editar los períodos existentes, pero puede agregar otros nuevos.

  Aviso Esta llamada API no contiene el parámetro de rutaproject_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Review promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/review](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/review-promotion.md): Debes revisar una promoción antes de activarla. Este método devuelve la lista de errores, si los hay.

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get rewards

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-rewards.md): Obtiene la lista de recompensas asociadas con una promoción. 

  Aviso Esta llamada API no contiene el parámetro de rutaproject_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Set rewards

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/set-rewards.md): Establece las recompensas de una promoción. Si la promoción es de solo lectura (read_only = true), no puedes actualizar las recompensas. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get promotion scope

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/get-subject.md): Obtiene información sobre el tema de una promoción. 

  Aviso Esta llamada API no contiene el parámetro de rutaproject_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Set promotion scope

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/set-subject.md): Establece el asunto de una promoción. Si la promoción es de solo lectura (read_only = true), no se puede actualizar el asunto. El asunto puede tomar los siguientes valores: purchase, o items, o packages. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Toggle promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/toggle](https://xsolla.redocly.app/es/api/subscriptions/admin_api_promotions/toggle-promotion.md): Alterna el estado de una promoción de enabled a disabled y viceversa. 

  Aviso Esta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

## Cupones

### Create campaign

 - [POST /merchants/{merchant_id}/coupon_promotions](https://xsolla.redocly.app/es/api/subscriptions/admin_api_coupons/create-campaign.md): Crear una nueva campaña de cupones.

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Add coupon to campaign

 - [POST /merchants/{merchant_id}/coupon_promotions/{campaign_id}/coupons](https://xsolla.redocly.app/es/api/subscriptions/admin_api_coupons/add-coupon-to-campaign.md): Agregue un código de cupón a una campaña de cupones.

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Attach campaign to promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/coupons](https://xsolla.redocly.app/es/api/subscriptions/admin_api_coupons/attach-campaign-to-promotion.md): Adjunte una campaña de cupones a una promoción específica. 

  AvisoEsta llamada API no contiene el parámetro de ruta project_id, por lo que tiene que usar la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.

### Get coupon

 - [GET /projects/{project_id}/coupons/{code}/details](https://xsolla.redocly.app/es/api/subscriptions/admin_api_coupons/get-coupon.md): Obtén los detalles del cupón mediante su código.

### Redeem coupon

 - [POST /projects/{project_id}/coupons/{code}/redeem](https://xsolla.redocly.app/es/api/subscriptions/admin_api_coupons/admin-redeem-coupon.md): Canjear un cupón mediante su código.

## Suscripciones

### List active subscriptions

 - [GET /api/user/v1/projects/{project_id}/subscriptions](https://xsolla.redocly.app/es/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/es/api/subscriptions/client_api_subscriptions/buy-subscription.md)

### Get management link

 - [POST /api/user/v1/projects/{project_id}/subscriptions/manage](https://xsolla.redocly.app/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/api/subscriptions/client_api_catalog/list-public-plans.md)

### Get catalog

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

### List plans

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

### List products

 - [GET /api/user/v1/projects/{project_id}/products](https://xsolla.redocly.app/es/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/es/api/subscriptions/client_api_catalog/get-subscription-plans-by-product.md)

## Cupones

### Redeem coupon

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

## Suscripciones

### List subscriptions

 - [GET /api/user/v1/management/projects/{project_id}/subscriptions](https://xsolla.redocly.app/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/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/es/api/subscriptions/user_management_api_payment-accounts/unlink-payment-account.md)

