> ## Documentation Index
> Fetch the complete documentation index at: https://scaleup-c34c4386.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/sdk/organizations/:orgId/checkouts

> Lista sessões de checkout cujo produto principal pertence à sub-organização indicada no path, usando o JWT da organização pai.

Lista checkouts da mesma forma que `GET /v1/checkouts`, porém **restringe implicitamente o catálogo** à sub-organização `:orgId`: só entram sessões cujo `product_id` resolve para um produto com `organization_id` igual a `:orgId`.

Use quando quiser uma **URL explícita por vendedor filho** (análogo a `/v1/sdk/organizations/:orgId/products` e `/discounts`), em integrações de marketplace.

## Autenticação

* **Supabase JWT** da **organização pai** (`Authorization: Bearer`).
* A API verifica em `organization_relationships` que o token pertence ao **pai direto** de `:orgId`.

## Escopos

É necessário **pelo menos um** dos escopos: `web:read`, `web:write` ou `checkouts:read` (mesma regra que `GET /v1/checkouts`).

## Parâmetros de path

**orgId** `string` *required*

UUID da sub-organização (filha). Apenas checkouts cujo produto principal pertence a essa org entram no resultado (após os filtros abaixo).

## Query (opcional)

Os parâmetros são os mesmos de `GET /v1/checkouts`. O filtro por organização **não** precisa ser enviado no query: ele é aplicado automaticamente com `:orgId`.

**product\_id** `string`

Restringe a checkouts com esse produto principal (deve ser produto da sub-org; caso contrário a lista pode ficar vazia).

**customer\_id** `string`

Filtra por cliente associado ao checkout.

**status** `string`

Um ou mais valores: `open`, `confirmed`, `succeeded`, `failed`, `expired` (conforme suporte da API para múltiplos valores).

**query** `string`

Busca parcial por e-mail do cliente (`customer_email`).

**limit** `integer`

Tamanho da página. Padrão: `20`.

**page** `integer`

Página (base 1). Padrão: `1`.

**sorting** `string`

Ordenação estilo Polar, ex.: `-created_at`. Pode ser repetido na query HTTP se o cliente enviar vários `sorting=`.

## Resposta

Objeto com `items` (lista de checkouts) e `pagination`:

* `total_count` — total de registros
* `max_page` — última página para o `limit` usado

## Erros comuns

| HTTP | Motivo |
| - | - |
| `401` | Token ausente ou inválido |
| `403` | Token não é JWT de pai de `:orgId`, ou escopos insuficientes |
| `500` | Erro interno ao consultar o banco |

## Exemplos

### Listar primeira página (todos os checkouts abertos do filho)

```bash cURL theme={null}
curl -s -G "${API_BASE:-https://api.chargefy.io/api}/v1/sdk/organizations/${CHILD_ORG_ID}/checkouts" \
  --data-urlencode "status=open" \
  --data-urlencode "limit=20" \
  --data-urlencode "page=1" \
  --data-urlencode "sorting=-created_at" \
  -H "Authorization: Bearer ${PARENT_JWT}" \
  -H "Accept: application/json" | jq .
```

```typescript SDK theme={null}
import { Chargefy } from '@chargefy/sdk'

const chargefy = new Chargefy({ accessToken: process.env.PARENT_JWT! })
const childOrgId = process.env.CHILD_ORG_ID!

const result = await chargefy.subOrganizations.listCheckouts(childOrgId, {
  status: 'open',
  limit: 20,
  page: 1,
})

if (!result.ok) {
  console.error(result.error)
  process.exit(1)
}

console.log(
  `Página ${result.value.pagination.maxPage}, total ${result.value.pagination.totalCount} checkouts`
)
for (const row of result.value.items) {
  console.log(row.id, row.status, row.customerEmail ?? '(sem email)')
}
```

### Filtrar por produto e por texto no e-mail do cliente

```bash cURL theme={null}
curl -s -G "${API_BASE:-https://api.chargefy.io/api}/v1/sdk/organizations/${CHILD_ORG_ID}/checkouts" \
  --data-urlencode "product_id=${CHILD_PRODUCT_ID}" \
  --data-urlencode "query=acme.com" \
  -H "Authorization: Bearer ${PARENT_JWT}" \
  -H "Accept: application/json" | jq .
```

```typescript SDK theme={null}
const filtered = await chargefy.subOrganizations.listCheckouts(childOrgId, {
  productId: process.env.CHILD_PRODUCT_ID!,
  query: 'acme.com',
  limit: 50,
  page: 1,
})
if (filtered.ok) {
  console.table(filtered.value.items.map((c) => ({ id: c.id, email: c.customerEmail, status: c.status })))
}
```

### Variáveis úteis (bash)

```bash theme={null}
export API_BASE="https://api.chargefy.io/api"
export PARENT_JWT="<supabase_jwt>..."   # JWT da org pai (marketplace)
export CHILD_ORG_ID="uuid_sub_org"
export CHILD_PRODUCT_ID="uuid_produto_da_sub_org"
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.