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

# Listar Preços de Assinatura

> Consulte todos os preços de assinatura cadastrados

## Visão Geral

Retorna todos os preços de assinatura do vendedor autenticado.

## Exemplo de Requisição

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://garu.com.br/api/subscription-prices \
    -H "Authorization: Bearer sk_test_sua_chave"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://garu.com.br/api/subscription-prices',
    {
      headers: {
        'Authorization': `Bearer ${process.env.GARU_API_KEY}`
      }
    }
  );

  const { data } = await response.json();
  data.forEach(preco => {
    console.log(`${preco.name}: R$ ${preco.amount.toFixed(2)}/${preco.billingInterval}`);
  });
  ```

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

  url = "https://garu.com.br/api/subscription-prices"
  headers = {
      "Authorization": f"Bearer {os.environ['GARU_API_KEY']}"
  }

  response = requests.get(url, headers=headers)
  result = response.json()

  for preco in result['data']:
      print(f"{preco['name']}: R$ {preco['amount']:.2f}/{preco['billingInterval']}")
  ```
</CodeGroup>

## Parâmetros de Query

<ParamField query="productId" type="string">
  Filtrar por UUID do produto (ex: `prod_abc123xyz`).
</ParamField>

<ParamField query="isActive" type="boolean">
  Filtrar por status ativo/inativo.
</ParamField>

## Resposta de Sucesso (200 OK)

```json theme={null}
{
  "data": [
    {
      "id": "price_def456uvw",
      "productId": "prod_abc123xyz",
      "name": "Plano Mensal",
      "amount": 49.90,
      "currency": "BRL",
      "billingInterval": "monthly",
      "trialDays": 7,
      "isActive": true,
      "createdAt": "2024-01-15T10:35:00.000Z"
    },
    {
      "id": "price_ghi789abc",
      "productId": "prod_abc123xyz",
      "name": "Plano Anual",
      "amount": 479.00,
      "currency": "BRL",
      "billingInterval": "annually",
      "trialDays": 14,
      "isActive": true,
      "createdAt": "2024-01-15T10:40:00.000Z"
    }
  ]
}
```

## Exemplo: Listar Preços por Produto

```javascript theme={null}
async function listarPrecosPorProduto(productId) {
  const response = await fetch(
    `https://garu.com.br/api/subscription-prices?productId=${productId}`,
    {
      headers: {
        'Authorization': `Bearer ${process.env.GARU_API_KEY}`
      }
    }
  );

  const { data } = await response.json();

  return data.map(preco => ({
    id: preco.id,
    nome: preco.name,
    valor: preco.amount,
    moeda: preco.currency,
    intervalo: preco.billingInterval,
    trialDias: preco.trialDays,
    checkoutUrl: `https://garu.com.br/pay/${productId}?priceId=${preco.id}`
  }));
}

// Uso:
const precos = await listarPrecosPorProduto('prod_abc123xyz');
```

## Próximos Passos

<CardGroup cols={2}>
  <Card title="Detalhes do Preço" icon="magnifying-glass" href="/api-reference/assinaturas/precos/detalhes">
    Consulte os detalhes de um preço específico
  </Card>

  <Card title="Atualizar Preço" icon="pen" href="/api-reference/assinaturas/precos/atualizar">
    Atualize um preço existente
  </Card>
</CardGroup>
