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

# Listar / Filtrar

> Liste e filtre as assinaturas da sua conta

## Visão geral

Este endpoint retorna uma lista paginada de todas as assinaturas criadas na sua conta, com suporte a filtros por status, cliente e período.

## Endpoint

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url "https://api.avanttifinance.com/v1/subscriptions?status=active&page=1&limit=20" \
    --header "Authorization: Bearer SEU_TOKEN_DE_ACESSO"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.avanttifinance.com/v1/subscriptions?status=active&page=1&limit=20",
    {
      method: "GET",
      headers: {
        Authorization: \`Bearer \${accessToken}\`,
      },
    }
  );

  const data = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.avanttifinance.com/v1/subscriptions"
  headers = {"Authorization": f"Bearer {access_token}"}
  params = {"status": "active", "page": 1, "limit": 20}

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```
</CodeGroup>

## Parâmetros de consulta

<ParamField query="status" type="string">
  Filtra pelo status da assinatura: `active`, `paused`, `canceled` ou `past_due`.
</ParamField>

<ParamField query="customer_id" type="string">
  Filtra as assinaturas de um cliente específico.
</ParamField>

<ParamField query="page" default="1" type="integer">
  Número da página de resultados.
</ParamField>

<ParamField query="limit" default="20" type="integer">
  Quantidade de itens por página. Máximo de 100.
</ParamField>

## Resposta

<ResponseField name="data" type="array">
  Lista de objetos de assinatura.
</ResponseField>

<ResponseField name="pagination" type="object">
  Informações de paginação, incluindo página atual, total de páginas e total de registros.
</ResponseField>

### Exemplo de resposta

```json theme={null}
{
  "data": [
    {
      "id": "sub_7c4a1f2e9b",
      "customer_id": "cus_3a8f9c1b2d",
      "plan": "Plano Premium - Mensal",
      "amount": 9990,
      "status": "active",
      "next_billing_date": "2026-07-10",
      "created_at": "2026-01-10T10:00:00Z"
    },
    {
      "id": "sub_2b3c4d5e6f",
      "customer_id": "cus_8e7d6c5b4a",
      "plan": "Plano Básico - Anual",
      "amount": 59900,
      "status": "past_due",
      "next_billing_date": "2026-06-05",
      "created_at": "2025-06-05T08:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total_pages": 3,
    "total_items": 52
  }
}
```

<Tip>
  Use o filtro `status=past_due` para identificar assinaturas com pagamento em atraso e acionar fluxos de cobrança.
</Tip>

## Próximos passos

<CardGroup cols={2}>
  <Card title="Criar assinatura" icon="circle-fading-plus" href="/criar-assinatura">
    Crie uma nova assinatura recorrente.
  </Card>

  <Card title="Cancelar assinatura" icon="x" href="/cancelar">
    Cancele uma assinatura existente.
  </Card>
</CardGroup>
