<!-- Generated from https://developers.superfrete.com/openapi.yaml (operationId: listWebhooks). -->

# Listar Webhook Apps

> `GET /api/v0/webhook` · Referência interativa: https://developers.superfrete.com/referencia#listWebhooks

- **Method:** `GET`
- **Path:** `/api/v0/webhook`
- **Operation ID:** `listWebhooks`
- **Tags:** Webhooks

Lista os Webhook Apps da conta. Webhook Apps removidos não aparecem. O `secret_token` não é devolvido aqui.

`created_at` vem no formato de data do Firestore: `_seconds` é o horário em segundos desde 1970 (UTC).

## Effective servers

- `https://sandbox.superfrete.com`

  Sandbox (testes, etiquetas sem validade)
- `https://api.superfrete.com`

  Produção

## Authentication

- **bearerAuth**: HTTP bearer (`JWT`)

  Token de acesso da SuperFrete, no header `Authorization: Bearer {token}`.
  - **Integração da própria loja:** gere o token no painel, em **Integrações** ([produção](https://web.superfrete.com/#/integrations) ou [sandbox](https://sandbox.superfrete.com/#/integrations)).
  - **Plataforma que conecta várias contas:** obtenha um token por seller com o fluxo OAuth 2.0 ([`exchangeOAuthToken`](https://developers.superfrete.com/referencia/md/exchangeOAuthToken.md)).

  O token não expira e dá acesso a todas as rotas da API para a conta; não há escopos. Ele deixa de valer quando a integração é removida no painel. O token de sandbox só funciona no sandbox, e o de produção só em produção.

## Header parameters

- **`User-Agent` (required)**: `string`

  Nome da sua aplicação com um e-mail de contato técnico, no formato `Aplicação (email@exemplo.com)`. Hoje só [Listar pedidos](https://developers.superfrete.com/referencia/md/listOrders.md) recusa um valor fora desse formato, mas envie em todas as rotas.

  **Example:**

  ```json
  "MinhaLoja (dev@minhaloja.com.br)"
  ```

## Responses

### 200 Webhook Apps da conta.

**Content type:** `application/json`

**Array of:**

- **`created_at`**: `object`, schema: `FirestoreTimestamp`

  Data no formato do Firestore.
  - **`_nanoseconds`**: `integer`
  - **`_seconds`**: `integer`

    Segundos desde 1970-01-01T00:00:00Z.
- **`events`**: `array of string`
- **`id`**: `string`
- **`is_active`**: `boolean`
- **`name`**: `string`
- **`url`**: `string`

**Example:**

```json
[
  {
    "id": "7hQ2mZk4LwXy9RtB3sVc",
    "name": "Loja Aurora",
    "url": "https://lojaaurora.com.br/webhooks/superfrete",
    "events": [
      "order.generated",
      "order.posted",
      "order.delivered",
      "tracking.updated"
    ],
    "is_active": true,
    "created_at": {
      "_seconds": 1761746400,
      "_nanoseconds": 0
    }
  }
]
```

### 401 Token ausente, inválido, removido ou de outro ambiente.

**Content type:** `application/json`

schema: `Error`

Erro de regra de negócio ou de autenticação. `message` e `error` trazem o mesmo texto.

- **`error` (required)**: `string`

  Mesmo conteúdo de `message`, mantido por compatibilidade.
- **`message` (required)**: `string`

  Mensagem legível do erro.

**Example:**

```json
{
  "message": "Token inválida!",
  "error": "Token inválida!"
}
```

### 500 Erro interno. O corpo pode ser um objeto de erro ou só um texto JSON com a mensagem.

**Content type:** `application/json`

**One of:**

- *Schema `Error` is shown above.*
- `string`

**Example:**

```json
{
  "message": "",
  "error": ""
}
```

## Schemas

- `Error` — shown above.
- `FirestoreTimestamp` — shown above.
