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

# Faturamento

> Revisar resumos de faturamento, faturas, transações e operações de plano.

# Faturamento

Revisar resumos de faturamento, faturas, transações e operações de plano.

<script src="/locale-bridge.js" />

Os exemplos usam o modo de código A2A. O MCP expõe o mesmo modo de código pela ferramenta `execute`.

## Funções

### `billing.current_plan.get`

```text theme={null}
billing.current_plan.get(account_id: str) -> BillingResult
```

Faturamento: `billing.current_plan.get`.

| Propriedade          | Valor                                                       | Propriedade              | Valor          |
| -------------------- | ----------------------------------------------------------- | ------------------------ | -------------- |
| Permissão necessária | `billing.view`                                              | Autenticação obrigatória | `sim`          |
| Modo de execução     | `sync`                                                      | Capacidade               | `billing.view` |
| Tipo de recurso      | `account`                                                   | Campo de ID do recurso   | `account_id`   |
| Rota da API pública  | `GET /v1/public/accounts/{account_id}/billing/current-plan` |                          |                |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome         | Tipo  | Obrigatório |
    | ------------ | ----- | ----------- |
    | `account_id` | `str` | sim         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo             | Tipo   | Obrigatório |
    | ----------------- | ------ | ----------- |
    | `billing_period`  | `str`  | sim         |
    | `currency`        | `str`  | sim         |
    | `plan_id`         | `str`  | sim         |
    | `plan_name`       | `str`  | sim         |
    | `price`           | `str`  | sim         |
    | `status`          | `str`  | sim         |
    | `can_cancel_plan` | `bool` | não         |
    | `can_change_plan` | `bool` | não         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.current_plan.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": true
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.current_plan.get",
          "status": "completed",
          "result": true
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.current_plan.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": true\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.current_plan.get\",\n      \"status\": \"completed\",\n      \"result\": true\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### `billing.invoices.list`

```text theme={null}
billing.invoices.list(account_id: str, page?: int, page_size?: int) -> Page[BillingResult]
```

Faturamento: `billing.invoices.list`.

| Propriedade          | Valor                                                   | Propriedade              | Valor          |
| -------------------- | ------------------------------------------------------- | ------------------------ | -------------- |
| Permissão necessária | `billing.view`                                          | Autenticação obrigatória | `sim`          |
| Modo de execução     | `sync`                                                  | Capacidade               | `billing.view` |
| Tipo de recurso      | `account`                                               | Campo de ID do recurso   | `account_id`   |
| Rota da API pública  | `GET /v1/public/accounts/{account_id}/billing/invoices` |                          |                |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome         | Tipo  | Obrigatório |
    | ------------ | ----- | ----------- |
    | `account_id` | `str` | sim         |
    | `page`       | `int` | não         |
    | `page_size`  | `int` | não         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo       | Tipo                                                                                                     | Obrigatório |
    | ----------- | -------------------------------------------------------------------------------------------------------- | ----------- |
    | `items`     | `[{"amount": str, "currency": str, "date": str, "download_url": str \| null, "id": str, "status": str}]` | sim         |
    | `page`      | `int`                                                                                                    | sim         |
    | `page_size` | `int`                                                                                                    | sim         |
    | `total`     | `int`                                                                                                    | sim         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.invoices.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123)"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": "<string>"
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.invoices.list",
          "status": "completed",
          "result": "<string>"
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.invoices.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123)"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": \"<string>\"\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.invoices.list\",\n      \"status\": \"completed\",\n      \"result\": \"<string>\"\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### `billing.plan.cancel`

```text theme={null}
billing.plan.cancel(account_id: str, cancel_at_period_end?: bool, cancel_immediately?: bool) -> BillingResult
```

Faturamento: `billing.plan.cancel`.

| Propriedade          | Valor                                                       | Propriedade              | Valor            |
| -------------------- | ----------------------------------------------------------- | ------------------------ | ---------------- |
| Permissão necessária | `billing.manage`                                            | Autenticação obrigatória | `sim`            |
| Modo de execução     | `sync`                                                      | Capacidade               | `billing.manage` |
| Tipo de recurso      | `account`                                                   | Campo de ID do recurso   | `account_id`     |
| Rota da API pública  | `POST /v1/public/accounts/{account_id}/billing/cancel-plan` |                          |                  |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome                   | Tipo   | Obrigatório |
    | ---------------------- | ------ | ----------- |
    | `account_id`           | `str`  | sim         |
    | `cancel_at_period_end` | `bool` | não         |
    | `cancel_immediately`   | `bool` | não         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo              | Tipo           | Obrigatório |
    | ------------------ | -------------- | ----------- |
    | `status`           | `str`          | sim         |
    | `account_status`   | `str \| null`  | não         |
    | `effective_at`     | `str \| null`  | não         |
    | `eligible`         | `bool \| null` | não         |
    | `previous_plan_id` | `str \| null`  | não         |
    | `target_plan_id`   | `str \| null`  | não         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.plan.cancel(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", cancel_at_period_end=true, cancel_immediately=true)"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": "<string>"
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.plan.cancel",
          "status": "completed",
          "result": "<string>"
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.plan.cancel(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", cancel_at_period_end=true, cancel_immediately=true)"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": \"<string>\"\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.plan.cancel\",\n      \"status\": \"completed\",\n      \"result\": \"<string>\"\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### `billing.plan.change`

```text theme={null}
billing.plan.change(account_id: str, plan_id: "smtp_per_mailbox" | "smtp_per_proxy", effective_date?: str | null) -> BillingResult
```

Faturamento: `billing.plan.change`.

| Propriedade          | Valor                                                       | Propriedade              | Valor            |
| -------------------- | ----------------------------------------------------------- | ------------------------ | ---------------- |
| Permissão necessária | `billing.manage`                                            | Autenticação obrigatória | `sim`            |
| Modo de execução     | `sync`                                                      | Capacidade               | `billing.manage` |
| Tipo de recurso      | `account`                                                   | Campo de ID do recurso   | `account_id`     |
| Rota da API pública  | `POST /v1/public/accounts/{account_id}/billing/change-plan` |                          |                  |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome             | Tipo                                     | Obrigatório |
    | ---------------- | ---------------------------------------- | ----------- |
    | `account_id`     | `str`                                    | sim         |
    | `plan_id`        | `"smtp_per_mailbox" \| "smtp_per_proxy"` | sim         |
    | `effective_date` | `str \| null`                            | não         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo              | Tipo           | Obrigatório |
    | ------------------ | -------------- | ----------- |
    | `status`           | `str`          | sim         |
    | `account_status`   | `str \| null`  | não         |
    | `effective_at`     | `str \| null`  | não         |
    | `eligible`         | `bool \| null` | não         |
    | `previous_plan_id` | `str \| null`  | não         |
    | `target_plan_id`   | `str \| null`  | não         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.plan.change(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", plan_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", effective_date=\"<string>\")"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": "<string>"
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.plan.change",
          "status": "completed",
          "result": "<string>"
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.plan.change(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", plan_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", effective_date=\"<string>\")"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": \"<string>\"\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.plan.change\",\n      \"status\": \"completed\",\n      \"result\": \"<string>\"\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### `billing.transactions.list`

```text theme={null}
billing.transactions.list(account_id: str, page?: int, page_size?: int) -> Page[BillingResult]
```

Faturamento: `billing.transactions.list`.

| Propriedade          | Valor                                                       | Propriedade              | Valor          |
| -------------------- | ----------------------------------------------------------- | ------------------------ | -------------- |
| Permissão necessária | `billing.view`                                              | Autenticação obrigatória | `sim`          |
| Modo de execução     | `sync`                                                      | Capacidade               | `billing.view` |
| Tipo de recurso      | `account`                                                   | Campo de ID do recurso   | `account_id`   |
| Rota da API pública  | `GET /v1/public/accounts/{account_id}/billing/transactions` |                          |                |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome         | Tipo  | Obrigatório |
    | ------------ | ----- | ----------- |
    | `account_id` | `str` | sim         |
    | `page`       | `int` | não         |
    | `page_size`  | `int` | não         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo       | Tipo                                                                                                                                                                                       | Obrigatório |
    | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------- |
    | `page`      | `int`                                                                                                                                                                                      | sim         |
    | `page_size` | `int`                                                                                                                                                                                      | sim         |
    | `total`     | `int`                                                                                                                                                                                      | sim         |
    | `items`     | `[{"amount": str, "currency": str, "direction": str, "effective_at": str, "status": str, "transaction_id": str, "type": str, "balance_after"?: str \| null, "description"?: str \| null}]` | não         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.transactions.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123)"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": 123
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.transactions.list",
          "status": "completed",
          "result": 123
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.transactions.list(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\", page=123, page_size=123)"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": 123\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.transactions.list\",\n      \"status\": \"completed\",\n      \"result\": 123\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### `billing.wallet_balance.get`

```text theme={null}
billing.wallet_balance.get(account_id: str) -> BillingResult
```

Faturamento: `billing.wallet_balance.get`.

| Propriedade          | Valor                                                         | Propriedade              | Valor          |
| -------------------- | ------------------------------------------------------------- | ------------------------ | -------------- |
| Permissão necessária | `billing.view`                                                | Autenticação obrigatória | `sim`          |
| Modo de execução     | `sync`                                                        | Capacidade               | `billing.view` |
| Tipo de recurso      | `account`                                                     | Campo de ID do recurso   | `account_id`   |
| Rota da API pública  | `GET /v1/public/accounts/{account_id}/billing/wallet-balance` |                          |                |

<AccordionGroup>
  <Accordion title="Argumentos">
    | Nome         | Tipo  | Obrigatório |
    | ------------ | ----- | ----------- |
    | `account_id` | `str` | sim         |
  </Accordion>

  <Accordion title="Retorna">
    | Campo             | Tipo  | Obrigatório |
    | ----------------- | ----- | ----------- |
    | `accrued_charges` | `str` | sim         |
    | `balance`         | `str` | sim         |
    | `currency`        | `str` | sim         |
    | `net_balance`     | `str` | sim         |
  </Accordion>

  <Accordion title="Exemplo A2A">
    Requisição:

    ```json theme={null}
    {
      "request_id": "example",
      "session_id": "session_123",
      "code": "billing.wallet_balance.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "request_id": "example",
      "status": "completed",
      "result": {
        "last_value": {
          "accrued_charges": "<string>",
          "balance": "<string>",
          "currency": "<string>",
          "net_balance": "<string>"
        }
      },
      "responses": [
        {
          "index": 0,
          "function": "billing.wallet_balance.get",
          "status": "completed",
          "result": {
            "accrued_charges": "<string>",
            "balance": "<string>",
            "currency": "<string>",
            "net_balance": "<string>"
          }
        }
      ],
      "complexity_score": 1
    }
    ```
  </Accordion>

  <Accordion title="Exemplo MCP">
    Requisição:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "method": "tools/call",
      "params": {
        "name": "hybridbox_execute",
        "arguments": {
          "code": "billing.wallet_balance.get(account_id=\"3c90c3cc-0d44-4b50-8888-8dd25736052a\")"
        }
      }
    }
    ```

    Resposta:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": "example",
      "result": {
        "content": [
          {
            "type": "text",
            "text": "{\n  \"request_id\": \"example\",\n  \"status\": \"completed\",\n  \"result\": {\n    \"last_value\": {\n      \"accrued_charges\": \"<string>\",\n      \"balance\": \"<string>\",\n      \"currency\": \"<string>\",\n      \"net_balance\": \"<string>\"\n    }\n  },\n  \"responses\": [\n    {\n      \"index\": 0,\n      \"function\": \"billing.wallet_balance.get\",\n      \"status\": \"completed\",\n      \"result\": {\n        \"accrued_charges\": \"<string>\",\n        \"balance\": \"<string>\",\n        \"currency\": \"<string>\",\n        \"net_balance\": \"<string>\"\n      }\n    }\n  ],\n  \"complexity_score\": 1\n}"
          }
        ],
        "isError": false
      }
    }
    ```
  </Accordion>
</AccordionGroup>
