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

## Token

### Criar token

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_token/create-token.md): Você pode criar um token com parâmetros de usuário arbitrários. Você envia esses parâmetros ao obter o token e os recebe de volta após um pagamento bem-sucedido. Um token só pode conter parâmetros descritos neste documento ou predefinidos por você.

Se algum parâmetro for enviado no formato errado ou tiver o tipo errado, nenhum token será emitido. Você receberá um código HTTP 422 com a descrição do erro no corpo JSON. Em extended_message você receberá uma informação sobre quais parâmetros exatos foram enviados incorretamente. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

## Planos

### List plans

 - [GET /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/get-plans.md): Lista todos os planos de assinaturas.

### Create plan

 - [POST /projects/{project_id}/subscriptions/plans](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/create-plan.md): Crie um plano de assinatura.

### Disable plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/disable-plan.md): Desativa um plano de assinatura.

### Enable plan

 - [PATCH /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/enable-plan.md): Ative um plano de assinatura.

### Update plan

 - [PUT /projects/{project_id}/subscriptions/plans/{plan_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/update-plan-parameters.md): Atualiza os parâmetros do plano de assinatura.

### Delete plan

 - [DELETE /projects/{project_id}/subscriptions/plans/{plan_id}/delete](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_plans/delete-plan.md): Exclui um plano de assinatura.

## Produtos

### List products

 - [GET /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_products/get-products.md): Lista todos os produtos com base em assinaturas.

### Create product

 - [POST /projects/{project_id}/subscriptions/products](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_products/create-product.md): Cria um produto com base em assinaturas.

### Delete product

 - [DELETE /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_products/delete-product.md): Exclui um produto com base em assinaturas.

### Update product

 - [PUT /projects/{project_id}/subscriptions/products/{product_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_products/update-product.md): Atualiza um produto com base em assinaturas.

## Assinaturas

### Get user account link

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

### List subscriptions

 - [GET /merchants/{merchant_id}/subscriptions](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_subscriptions/get-subscriptions.md): Lists all recurrent subscriptions.AvisoEste método de API não pode ser usado sob uma carga alta. A carga máxima é de 20 solicitações por minuto. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get subscription

 - [GET /projects/{project_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_subscriptions/get-subscription.md): Obtém os dados específicos de uma assinatura por ID.

### Update subscription

 - [PUT /projects/{project_id}/users/{user_id}/subscriptions/{subscription_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_subscriptions/update-subscription.md): Atualiza uma assinatura alterando seu status (active, canceled, ou non_renewing) ou atrasando a próxima data de cobrança.

## Pagamentos

### List currencies

 - [GET /projects/{project_id}/subscriptions/currencies](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_payments/get-currencies.md): Lista todas as moedas de assinatura suportadas.

### List payments

 - [GET /projects/{project_id}/subscriptions/payments](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_payments/get-payments.md): Lista todos os pagamentos de assinaturas.

### List user payments

 - [GET /projects/{project_id}/users/{user_id}/subscriptions/payments](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_payments/get-user-payments.md): Lista todos os pagamentos feitos por um usuário específico.

## Promoções

### List promotions

 - [GET /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-promotions-list.md): Lista de todas as promoções.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Create promotion

 - [POST /merchants/{merchant_id}/promotions](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/create-promotion.md): Crie uma nova promoção.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Delete promotion

 - [DELETE /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/delete-promotion.md): Exclui uma promoção. Você só pode excluir promoções com enabled = false.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-promotion.md): Recupera uma promoção.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Update promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/update-promotion.md): Atualiza uma promoção. Se a promoção for somente leitura (read_only = true), você não tem permissão para alterar o parâmetro project_id. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get payment systems

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-payment-systems.md): Obtém sistemas de pagamento suportados para uma promoção. Se a lista estiver vazia, a promoção será aplicada a todos os sistemas de pagamento. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Set payment systems

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/payment_systems](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/set-payment-systems.md): Define os sistemas de pagamento suportados para uma promoção. Se a lista estiver vazia, a promoção será aplicada a todos os sistemas de pagamento. Se a promoção for somente leitura (read_only = true), você não poderá chamar este método. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get validity periods

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-validity-periods.md): Obtém intervalos de data/hora em que uma promoção é válida.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Set validity periods

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/periods](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/set-validity-periods.md): Define intervalos de data/hora quando uma promoção é válida. Se a promoção for somente leitura (read_only = true), você não poderá editar períodos existentes, mas poderá adicionar novos.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Review promotion

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/review](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/review-promotion.md): Você precisa revisar uma promoção antes de ativá-la. Este método retorna a lista de erros, se houver.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get rewards

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-rewards.md): Obtém a lista de recompensas associadas a uma promoção.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Set rewards

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/rewards](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/set-rewards.md): Define as recompensas para uma promoção. Se a promoção for somente leitura (read_only = true), você não poderá atualizar as recompensas.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get promotion scope

 - [GET /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/get-subject.md): Obtém informações sobre o assunto de uma promoção. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Set promotion scope

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/subject](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/set-subject.md): Define o assunto de uma promoção. Se a promoção for somente leitura (read_only = true), você não poderá atualizar o assunto. O assunto pode assumir os seguintes valores: purchase, ou items, ou packages. 

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Toggle promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/toggle](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_promotions/toggle-promotion.md): Alterna o status de uma promoção de enabledpara disabled e vice-versa.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

## Cupons

### Create campaign

 - [POST /merchants/{merchant_id}/coupon_promotions](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_coupons/create-campaign.md): Você precisa revisar uma promoção antes de ativá-la. Este método retorna a lista de erros, se houver.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Add coupon to campaign

 - [POST /merchants/{merchant_id}/coupon_promotions/{campaign_id}/coupons](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_coupons/add-coupon-to-campaign.md): Adicione um código de cupom a uma campanha de cupom.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Attach campaign to promotion

 - [PUT /merchants/{merchant_id}/promotions/{promotion_id}/coupons](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_coupons/attach-campaign-to-promotion.md): Anexe uma campanha de cupom a uma promoção específica.

  AvisoEsta chamada de API não contém o trajeto-parâmetro project_id, então é preciso usar a chave API que for válida em todos os projetos da empresa para configurar a autorização.

### Get coupon

 - [GET /projects/{project_id}/coupons/{code}/details](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_coupons/get-coupon.md): Obter dados do cupom com o código dele.

### Redeem coupon

 - [POST /projects/{project_id}/coupons/{code}/redeem](https://xsolla.redocly.app/pt/api/subscriptions/admin_api_coupons/admin-redeem-coupon.md): Resgate um cupom com o código dele.

## Assinaturas

### List active subscriptions

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

### Get management link

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

### Get catalog

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

### List plans

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

### List products

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

## Cupons

### Redeem coupon

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

## Assinaturas

### List subscriptions

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

