> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cakto.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar Assinaturas

> Consulte as assinaturas da sua conta e acompanhe seu status, método de pagamento e situação atual.

#### Escopo

```bash theme={null}
    read subscriptions
```

## O que faz

Retorna uma lista paginada das assinaturas vinculadas à sua conta.

Utilize filtros, busca e ordenação para localizar assinaturas específicas, acompanhar assinaturas ativas, identificar cancelamentos ou alimentar integrações e relatórios.

<Tip>
  Combine filtros de status e situação atual para analisar novas assinaturas, renovações e cancelamentos em períodos específicos.
</Tip>

## Casos de uso

* Consultar assinaturas ativas e canceladas
* Localizar assinaturas específicas
* Monitorar a saúde da receita recorrente
* Alimentar relatórios e integrações

## Filtros e busca

**Busca** (`search`)

Localize rapidamente assinaturas utilizando informações relacionadas ao cliente, produto, oferta, pedido ou pagamento.

**Situação atual** (`current_situation`)

Permite diferenciar assinaturas recém-criadas de assinaturas já renovadas pelo menos uma vez.

| Valor     | Descrição                                 |
| --------- | ----------------------------------------- |
| `new`     | Assinatura recém-criada                   |
| `renewed` | Assinatura já renovada pelo menos uma vez |


## OpenAPI

````yaml GET /public_api/subscriptions/
openapi: 3.0.3
info:
  title: Cakto API
  version: 1.0.0
  description: Documentação da API pública do Cakto.
servers:
  - url: https://api.cakto.com.br
    description: Cakto API
security: []
paths:
  /public_api/subscriptions/:
    get:
      tags:
        - subscriptions
      description: >-
        Public API for managing subscriptions, inherits from
        SubscriptionAPIView,

        customizes the schema generation and authentication/permission settings.
      operationId: subscriptions_list
      parameters:
        - name: currency
          required: false
          in: query
          description: Filtra por moeda. Usa 'BRL' por padrão se não informado.
          schema:
            type: string
        - name: limit
          required: false
          in: query
          description: Número de resultados a serem retornados por página.
          schema:
            type: integer
        - name: ordering
          required: false
          in: query
          description: Which field to use when ordering the results.
          schema:
            type: string
        - name: page
          required: false
          in: query
          description: Número da página a ser retornada.
          schema:
            type: integer
        - name: search
          required: false
          in: query
          description: A search term.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSubscriptionOwnerFlexList'
          description: ''
        '401':
          description: Request não autenticado devido à ausência ou invalidez do token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
              examples:
                Token ausente ou inválido:
                  $ref: '#/components/examples/UnauthenticatedErrorExample'
      security:
        - OAuth Token: []
components:
  schemas:
    PaginatedSubscriptionOwnerFlexList:
      type: object
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=4
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?page=2
        results:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionOwnerFlex'
    UnauthenticatedError:
      type: object
      properties:
        detail:
          type: string
    SubscriptionOwnerFlex:
      type: object
      properties:
        id:
          type: string
          title: Identificador
          description: Identificador único da Assinatura no sistema
          maxLength: 255
        status:
          allOf:
            - $ref: '#/components/schemas/SubscriptionStatusEnum'
          description: |-
            Status da Assinatura

            * `active` - Ativa
            * `inactive` - Inativa
            * `canceled` - Cancelada
            * `expired` - Expirada
            * `paused` - Pausada
            * `trial` - Em período de teste
        current_period:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Período Atual
          description: 'Número da recorrência atual. (ex: 1 = primeiro pagamento)'
        recurrence_period:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Período de recorrência (em dias)
          description: Quantidade de dias entre cada pagamento da assinatura
        quantity_recurrences:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Quantidade de recorrências
          description: Quantidade vezes que a assinatura será cobrada
        trial_days:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Dias de teste
          description: Quantidade de dias de teste gratuito da assinatura
        max_retries:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Número máximo de retentativas de cobrança
          description: Quantidade máxima de retentativas de cobrança em caso de falha
        amount:
          type: string
          format: decimal
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          title: Valor
          description: Valor da Assinatura
        retry_interval:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Dias entre retentativas
          description: Intervalo entre retentativas de cobrança (dias)
        paid_payments_quantity:
          type: integer
          maximum: 2147483647
          minimum: -2147483648
          title: Pagamentos Efetuados
          description: Quantidade de pagamentos pagos para esta assinatura
        retention:
          type: string
          title: Retenção
          description: Quantidade de tempo que a assinatura permaneceu ativa
        parent_order:
          type: string
          title: Pedido de Origem
          description: Pedido de Origem da Assinatura
        paymentMethod:
          type: string
          title: Método de Pagamento
          description: Método de pagamento utilizado na Assinatura
        customer:
          type: string
          readOnly: true
        product:
          type: string
          description: Produto vendido na Assinatura
          title: Produto
        offer:
          type: string
          title: Oferta
          description: Oferta vendida na Assinatura
        orders:
          type: array
          items:
            type: string
            title: Id do Pedido
            description: Identificador único do pedido no sistema
        next_payment_date:
          type: string
          format: date-time
          nullable: true
          title: Próximo Pagamento
          description: Data e hora estimada do próximo pagamento
        createdAt:
          type: string
          format: date-time
          readOnly: true
          title: Data de criação
          description: Data e hora de criação
        updatedAt:
          type: string
          format: date-time
          readOnly: true
          title: Data de atualização
          description: Data e hora da última atualização
        canceledAt:
          type: string
          format: date-time
          nullable: true
          title: Data de cancelamento
          description: Data e hora em que a assinatura foi cancelada
      required:
        - amount
        - createdAt
        - customer
        - offer
        - orders
        - parent_order
        - paymentMethod
        - product
        - updatedAt
    SubscriptionStatusEnum:
      enum:
        - active
        - inactive
        - canceled
        - expired
        - paused
        - trial
      type: string
      description: |-
        * `active` - Ativa
        * `inactive` - Inativa
        * `canceled` - Cancelada
        * `expired` - Expirada
        * `paused` - Pausada
        * `trial` - Em período de teste
  examples:
    UnauthenticatedErrorExample:
      summary: Token ausente ou inválido
      description: Token ausente ou inválido
      value:
        detail: As credenciais de autenticação não foram fornecidas.
  securitySchemes:
    OAuth Token:
      type: http
      scheme: bearer
      in: header
      name: Authorization
      description: >-
        Token de autenticação do tipo `Bearer {access_token}`, onde
        `{access_token}` é o token obtido no fluxo de
        [autenticação](/authentication).

````