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

# List budgets

> List the budgets the caller may manage with their usage this month, for one project or narrowed to a member or API key.

`veryfront__list_budgets`

## Access

No external-service connection is required. Use a Veryfront credential with access to the requested resources.

**Call type:** Read-only.

## Arguments

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `project_reference` | `string` | No | Lists the budgets of one project: its own, its members’, and the keys bound to it. Requires owner or admin on that project. Omitted, the listing covers every budget the caller may manage. Minimum length: `1`. |
| `user_id` | `string` | No | Narrows the listing to the budgets scoped to one person. Format: `uuid`. |
| `api_key_id` | `string` | No | Narrows the listing to the budgets scoped to one API key. Format: `uuid`. |
| `cursor` | `string` | No | Opaque cursor from `page_info`.next. Omit it to read the first page. |
| `limit` | `number` | No | Maximum number of entries to return. Defaults to 20 and is capped at 100. Default: `20`. Minimum: `1`. Maximum: `100`. |

## Example request

Send this JSON-RPC request through an initialized MCP client. Replace sample identifiers and values before calling the tool. See [MCP client setup](https://veryfront.com/docs/cloud/getting-started/connect-mcp.md).

```json title="request.json" theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "veryfront__list_budgets",
    "arguments": {}
  }
}
```

## Result

The published output shape is summarized below. Inspect both the MCP response content and `isError` when handling a call.

| Field | Type | Required | Description and constraints |
| - | - | - | - |
| `data` | `object[]` | Yes | Primary result records returned by the tool. |
| `page_info` | `object` | Yes | Pagination cursor values for traversing the result set. |

## Full schemas

```json title="input-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "project_reference": {
      "type": "string",
      "minLength": 1,
      "description": "Lists the budgets of one project: its own, its members’, and the keys bound to it. Requires owner or admin on that project. Omitted, the listing covers every budget the caller may manage."
    },
    "user_id": {
      "type": "string",
      "format": "uuid",
      "description": "Narrows the listing to the budgets scoped to one person."
    },
    "api_key_id": {
      "type": "string",
      "format": "uuid",
      "description": "Narrows the listing to the budgets scoped to one API key."
    },
    "cursor": {
      "type": "string",
      "description": "Opaque cursor from page_info.next. Omit it to read the first page."
    },
    "limit": {
      "type": "number",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Maximum number of entries to return. Defaults to 20 and is capped at 100."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Arguments for the list_budgets tool."
}
```

```json title="output-schema.json" theme={null}
{
  "type": "object",
  "properties": {
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier for the returned record."
          },
          "scope": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "api_key",
                  "member",
                  "project"
                ],
                "description": "The kind returned by the tool."
              },
              "project_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "description": "Project identifier associated with this result."
                  },
                  {
                    "type": "null",
                    "description": "Project identifier associated with this result."
                  }
                ],
                "description": "Project identifier associated with this result."
              },
              "user_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "description": "The user id returned by the tool."
                  },
                  {
                    "type": "null",
                    "description": "The user id returned by the tool."
                  }
                ],
                "description": "The user id returned by the tool."
              },
              "api_key_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uuid",
                    "description": "The api key id returned by the tool."
                  },
                  {
                    "type": "null",
                    "description": "The api key id returned by the tool."
                  }
                ],
                "description": "The api key id returned by the tool."
              }
            },
            "required": [
              "kind",
              "project_id",
              "user_id",
              "api_key_id"
            ],
            "additionalProperties": false,
            "description": "Structured scope details returned by the tool."
          },
          "monthly_limit_usd": {
            "type": "number",
            "description": "The monthly AI spend limit, in USD"
          },
          "monthly_limit_credits": {
            "type": "number",
            "description": "The same limit in credits, the unit spend is counted in"
          },
          "status": {
            "type": "object",
            "properties": {
              "used": {
                "type": "number",
                "description": "The used returned by the tool."
              },
              "remaining": {
                "type": "number",
                "description": "The remaining returned by the tool."
              },
              "resets_at": {
                "type": "string",
                "description": "The resets at returned by the tool."
              }
            },
            "required": [
              "used",
              "remaining",
              "resets_at"
            ],
            "additionalProperties": false,
            "description": "Lifecycle status for the returned record."
          },
          "created_at": {
            "type": "string",
            "description": "Creation timestamp in ISO 8601 format."
          },
          "updated_at": {
            "type": "string",
            "description": "Last update timestamp in ISO 8601 format."
          }
        },
        "required": [
          "id",
          "scope",
          "monthly_limit_usd",
          "monthly_limit_credits",
          "status",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": false,
        "description": "One data item returned by the tool."
      },
      "description": "Primary result records returned by the tool."
    },
    "page_info": {
      "type": "object",
      "properties": {
        "self": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor that refers to the current page."
        },
        "first": {
          "type": "null",
          "description": "The first returned by the tool."
        },
        "next": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the next page when pagination is available."
        },
        "prev": {
          "type": [
            "string",
            "null"
          ],
          "description": "Cursor for the previous page when pagination is available."
        }
      },
      "required": [
        "self",
        "first",
        "next",
        "prev"
      ],
      "additionalProperties": false,
      "description": "Pagination cursor values for traversing the result set."
    }
  },
  "required": [
    "data",
    "page_info"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#",
  "description": "Structured result returned by the list_budgets tool."
}
```

<details>
  <summary>Try this tool</summary>

  Replace sample arguments with values for your project or connected account. Calls run only when you select Run tool.

  MCP tool call

  Call `veryfront__list_budgets` against the Veryfront MCP endpoint.

  Bearer token or API key

  Arguments (JSON)

  Run tool

  Output JSON

  <pre />
</details>


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