> ## 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.

# Recuperar uma Assinatura

> Consulte os detalhes completos de uma assinatura específica pelo ID.

#### Escopo

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

## O que faz

Retorna todas as informações disponíveis de uma assinatura, incluindo status, método de pagamento, período atual, situação e dados do pedido de origem.

Utilize este endpoint para validar o estado de uma assinatura antes de executar ações como pausa, cancelamento ou troca de método de pagamento.

## Casos de uso

* Consultar o status e detalhes de uma assinatura no suporte ao cliente
* Validar o estado da assinatura antes de executar uma ação
* Exibir informações da assinatura em painéis e integrações
* Rastrear o histórico e ciclo de cobrança de um cliente específico

## Parâmetro

`id` (path) — Identificador único da assinatura retornado pela Cakto.

## Erros

| Status | Descrição                                                       |
| ------ | --------------------------------------------------------------- |
| `404`  | Assinatura não encontrada ou não pertence ao contexto do token. |

<Note>
  O `id` deve ser o identificador da assinatura, não do pedido de origem.
</Note>


## OpenAPI

````yaml GET /public_api/subscriptions/{id}/
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/{id}/:
    get:
      tags:
        - subscriptions
      description: >-
        Public API for managing subscriptions, inherits from
        SubscriptionAPIView,

        customizes the schema generation and authentication/permission settings.
      operationId: subscriptions_retrieve
      parameters:
        - in: path
          name: id
          schema:
            type: string
            format: uuid
          required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionOwnerFlex'
          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'
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionError'
          description: Assinatura não encontrada.
      security:
        - OAuth Token: []
components:
  schemas:
    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
    UnauthenticatedError:
      type: object
      properties:
        detail:
          type: string
    SubscriptionError:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
    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).

````