# Budgets

> Set spending limits for a project and get alerted by email or webhook before you cross them.

- Endpoint: https://budget.public.global.vexxhost.net
- OpenAPI schema: https://docs.vexxhost.com/budgets/openapi.json (also https://docs.vexxhost.com/budgets/openapi.yaml)
- Authentication: a token in the `X-Auth-Token` header; see https://docs.vexxhost.com/identity/authentication.md
- Requests, errors and rate limits: https://docs.vexxhost.com/developer/api.md
- CLI: `pip install vexxhost-budgetclient`, then `openstack ...` commands; setup in https://docs.vexxhost.com/developer/cli.md

- [Budgets](https://docs.vexxhost.com/budgets.md): Set spending limits for a project and get alerted by email or webhook before you cross them.

## Get started

- [Get started](https://docs.vexxhost.com/budgets/get-started.md): Create your first budget with the OpenStack CLI, so that Budgets emails you when a project has spent 80% of its monthly amount.

## Concepts

- [Budgets](https://docs.vexxhost.com/budgets/concepts/budgets.md): A budget is an amount a project may spend in each window of a period, with thresholds that decide when Budgets sends alerts.
- [Thresholds](https://docs.vexxhost.com/budgets/concepts/thresholds.md): Thresholds decide when a budget sends alerts, based on actual spending so far or on the forecast for the whole window.
- [Notification channels](https://docs.vexxhost.com/budgets/concepts/notification-channels.md): Notification channels are the email addresses and webhooks a project's budget alerts are sent to.

## Guides

- [Create a budget](https://docs.vexxhost.com/budgets/guides/create-a-budget.md): Create a Budgets budget with the CLI, the API or Python, choosing its period, the spending it counts and the thresholds that send alerts.
- [Receive alerts with a webhook](https://docs.vexxhost.com/budgets/guides/receive-webhook-alerts.md): Send Budgets alerts to your own HTTPS endpoint as signed JSON, verify each request, and handle retries.
- [Change a budget](https://docs.vexxhost.com/budgets/guides/change-a-budget.md): Change a Budgets budget's amount, filter or thresholds, pause it, or delete it, without overwriting someone else's change.
- [Use the Python client](https://docs.vexxhost.com/budgets/guides/use-the-python-client.md): Install the Budgets Python client, create it from an OpenStack SDK connection, and handle the errors it raises.

## API reference

- [Budgets API](https://docs.vexxhost.com/budgets/api.md): Call the Budgets API: base URL, authentication, a first request, and every operation.
- [GET List budgets](https://docs.vexxhost.com/budgets/api/budgets/list-budgets.md)
- [POST Create a budget](https://docs.vexxhost.com/budgets/api/budgets/create-budget.md)
- [GET Get a budget and the status of its current window](https://docs.vexxhost.com/budgets/api/budgets/get-budget.md)
- [PUT Replace a budget](https://docs.vexxhost.com/budgets/api/budgets/update-budget.md)
- [DELETE Delete a budget and its history](https://docs.vexxhost.com/budgets/api/budgets/delete-budget.md)
- [GET List a budget's alerts and their delivery, newest first](https://docs.vexxhost.com/budgets/api/budgets/list-budget-notifications.md)
- [GET List a budget's past and current windows, newest first](https://docs.vexxhost.com/budgets/api/budgets/list-budget-windows.md)
- [GET List notification channels](https://docs.vexxhost.com/budgets/api/notification-channels/list-notification-channels.md)
- [POST Create a notification channel](https://docs.vexxhost.com/budgets/api/notification-channels/create-notification-channel.md)
- [GET Get a notification channel](https://docs.vexxhost.com/budgets/api/notification-channels/get-notification-channel.md)
- [DELETE Delete a notification channel](https://docs.vexxhost.com/budgets/api/notification-channels/delete-notification-channel.md)
- [POST Send an email channel's confirmation link again](https://docs.vexxhost.com/budgets/api/notification-channels/resend-channel-confirmation.md)
- [POST Replace a webhook channel's signing secret](https://docs.vexxhost.com/budgets/api/notification-channels/rotate-channel-secret.md)

## CLI reference

- [Budgets CLI reference](https://docs.vexxhost.com/budgets/cli.md): Look up every Budgets command in the openstack CLI and its options.
- [openstack budget channel confirmation resend](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-confirmation-resend.md): Send an email channel's confirmation link again (once per 10 min).
- [openstack budget channel create](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-create.md): Create a webhook or email notification channel.
- [openstack budget channel delete](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-delete.md): Delete notification channels.
- [openstack budget channel list](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-list.md): List notification channels.
- [openstack budget channel secret rotate](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-secret-rotate.md): Replace a webhook channel's signing secret and show the new one.
- [openstack budget channel show](https://docs.vexxhost.com/budgets/cli/budget-channel/budget-channel-show.md): Show a notification channel.
- [openstack budget create](https://docs.vexxhost.com/budgets/cli/budget/budget-create.md): Create a budget with alert thresholds.
- [openstack budget delete](https://docs.vexxhost.com/budgets/cli/budget/budget-delete.md): Delete budgets.
- [openstack budget list](https://docs.vexxhost.com/budgets/cli/budget/budget-list.md): List budgets with their spend in the current window.
- [openstack budget set](https://docs.vexxhost.com/budgets/cli/budget/budget-set.md): Change a budget.
- [openstack budget show](https://docs.vexxhost.com/budgets/cli/budget/budget-show.md): Show a budget and the status of its current window.
- [openstack budget notification list](https://docs.vexxhost.com/budgets/cli/budget-notification/budget-notification-list.md): List the alerts a budget's thresholds raised, newest first.
- [openstack budget window list](https://docs.vexxhost.com/budgets/cli/budget-window/budget-window-list.md): List a budget's past and current windows, newest first.

## Platform

- [Limits](https://docs.vexxhost.com/budgets/platform/limits.md): The limits that apply to Budgets budgets, thresholds, notification channels and alert delivery.

## Optional

- [All Budgets pages in one file](https://docs.vexxhost.com/budgets/llms-full.txt)
