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

# Funding

> Read funding status, record a portfolio, and stop partner-managed billing for a portfolio.

These routes are on the platform API key. Scopes are `billing:read` for reads and `customers:write` for writes.

| Method | Path | Purpose |
| - | - | - |
| `GET` | `/v1/whatsapp/accounts/{wabaId}/funding` | Funding status for one WhatsApp Business Account |
| `POST` | `/v1/whatsapp/accounts/{wabaId}/funding` | Body `business_portfolio_id`. Records local funding. `202` when a new run is not funded |
| `GET` | `/v1/whatsapp/accounts/{wabaId}/usage` | Query `start_time`, `end_time` (ISO 8601, at most 31 days) |
| `GET` | `/v1/whatsapp/portfolios/{portfolioId}/accounts` | Cursor list, `limit` default 20 |
| `GET` | `/v1/whatsapp/portfolios/{portfolioId}/usage` | Same usage window as the account route |
| `POST` | `/v1/whatsapp/portfolios/{portfolioId}/funding/revoke` | Header `Idempotency-Key`. Returns `202` |
| `GET` | `/v1/whatsapp/portfolios/{portfolioId}/funding/operations/{operationId}` | Status of an ensure or revoke operation |

`meta_billing_mode` is chosen when you create the setup link and is not changed by these routes. See [Meta message billing](https://docs.lazyapp.in/billing/meta-message-billing.md).

Funding only matters for partner-managed accounts, where LazyApp pays Meta through a LazyApp credit line. On those, each paid message is debited from a wallet: Meta's rate, plus 5% when the WhatsApp account is not billed in USD and a further 5% for messages not sent through LazyApp. See [Wallets](https://docs.lazyapp.in/billing/wallets.md#platform-teams). Customer-managed accounts, the default, are billed by Meta directly and cost your wallet nothing beyond ₹999 a month per connected number. See [How platform billing works](https://docs.lazyapp.in/platform/overview.md#how-platform-billing-works).

Calling usage is included only when every visible account currency is USD. Otherwise the coverage reason is `calling_requires_usd_waba`.

Revoke is local. It marks the portfolio revoked and pauses paid messages. It does not call Meta, and it does not detach a credit line that was never attached.


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