Boost Budget API
The Budget API from Boost — 2 operation(s) for budget.
The Budget API from Boost — 2 operation(s) for budget.
openapi: 3.1.0
info:
title: Boost V2 Action Budget API
description: Get Boosts and sign claims for the Boost Validator
termsOfService: https://rabbithole-assets.s3.amazonaws.com/BoostStudios_Terms_Of_Service.pdf
contact:
url: https://airtable.com/appPys6nAx8smVpTA/shrqpPGsDx2W6oY24
email: support@boost.xyz
version: 2.0.0
servers:
- url: https://api-v2.boost.xyz
description: Boost V2
tags:
- name: Budget
paths:
/budget-accounts/:id:
get:
tags:
- Budget
operationId: getBudgetAccount
summary: Retrieve a single Budget by its system ID
description: Retrieve detailed information about a Budget Account, including contract address, chain ID, owner address, label, and members if applicable.
parameters:
- schema:
type: string
description: Query for a Budget Account by system ID in the format of "chainId:address"
example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6
required: true
description: ID in format chainId:identifier
name: id
in: path
responses:
'200':
description: Returns whether or not the token is blocked on given chain id
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The system ID in the format of "chainId:address"
example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6
identifier:
type: string
description: The address of the deployed Budget Account
registryType:
type: string
enum:
- ACTION
- ALLOW_LIST
- BUDGET
- INCENTIVE
- VALIDATOR
description: The type of Boost Protocol V2 component; either ACTION, ALLOW_LIST, BUDGET, INCENTIVE, or VALIDATOR
baseImplementation:
type: string
description: The contract address of the base implementation registered with the protocol
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
deployedInstance:
type: string
description: The address of the deployed contract
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
txHash:
type: string
description: The transaction hash of the contract deployment
blockTimestamp:
type: string
description: A bigint string representing the block timestamp for this contract deployment
blockNumber:
type: string
description: A bigint string representing the blocknumber for this contract deployment
chainId:
type: integer
minimum: 0
description: The chainID where this Budget is deployed
name:
type: string
description: A unique name for the Budget, if not updated later, then this will be a random UUID
address:
type: string
description: The address of the deployed Budget Account
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
owner:
type: string
description: The address of the Budget's owner
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
ownerEmail:
type:
- string
- 'null'
description: The email address of the Budget's owner, if available
hidden:
type: boolean
description: Whether or not the Budget should be included in API responses
label:
type:
- string
- 'null'
description: A label for the Budget, if available.
members:
type: array
items:
type: object
properties:
memberAddress:
type: string
description: The address of the Budget Account member, someone with either ADMIN or MANAGER permissions
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
roles:
type: array
items:
type: number
description: A list of numbers representing role enums, where 1 is MANAGER, and 2 is ADMIN. Managers can manage funds, while Admins can manage permissioned users.
email:
type:
- string
- 'null'
description: The email address associated with this member, if available
status:
type:
- string
- 'null'
enum:
- wallet_created
- invited
- accepted
- cancelled
description: The invitation status of this member, if available
required:
- memberAddress
- roles
description: A list of members with any amount of permissions
deprecated:
type: boolean
description: Will be true if Budget Account is based off of a deprecated budget implementation.
required:
- id
- identifier
- registryType
- baseImplementation
- deployedInstance
- txHash
- blockTimestamp
- blockNumber
- chainId
- address
- owner
- hidden
- members
- deprecated
description: Details for a single Budget Account
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
error:
anyOf:
- type: string
- type: object
properties:
message:
type: string
description: Human readable message for error that occured
code:
type: number
description: Error code for error that occured, will typically be the HTTP status code
required:
- message
description: A generic error object that can be used to represent any error that occurs in the system.
required:
- error
/budget-accounts:
get:
tags:
- Budget
operationId: getBudgetAccounts
summary: Get Budgets
description: Accepts pagination, and filter options like owner address, chain ID, and permissioned member address.
parameters:
- schema:
type:
- integer
- 'null'
minimum: 0
description: Query for Budget Accounts deployed to this chain ID
example: 10
required: false
name: chainId
in: query
- schema:
type: string
description: Query for Budget Accounts where this member has permissions
example: '0x0d288362c8bfe919dd02fb96ee1642aaae0185e7'
pattern: ^0x[a-fA-F0-9]{40}$
required: false
name: member
in: query
- schema:
type: string
description: Query for Budget Accounts owned by this address
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
required: false
name: owner
in: query
- schema:
type:
- integer
- 'null'
minimum: 0
default: 1
description: Query for a specific page of results
required: false
name: page
in: query
- schema:
type:
- integer
- 'null'
minimum: 0
default: 10
description: How many items should be returned per page
required: false
name: pageSize
in: query
responses:
'200':
description: Returns whether or not the token is blocked on given chain id
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
description: The system ID in the format of "chainId:address"
example: 8453:0xa904ef32d569e2ada8f4de6244bf68f36fa219f6
identifier:
type: string
description: The address of the deployed Budget Account
registryType:
type: string
enum:
- ACTION
- ALLOW_LIST
- BUDGET
- INCENTIVE
- VALIDATOR
description: The type of Boost Protocol V2 component; either ACTION, ALLOW_LIST, BUDGET, INCENTIVE, or VALIDATOR
baseImplementation:
type: string
description: The contract address of the base implementation registered with the protocol
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
deployedInstance:
type: string
description: The address of the deployed contract
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
txHash:
type: string
description: The transaction hash of the contract deployment
blockTimestamp:
type: string
description: A bigint string representing the block timestamp for this contract deployment
blockNumber:
type: string
description: A bigint string representing the blocknumber for this contract deployment
chainId:
type: integer
minimum: 0
description: The chainID where this Budget is deployed
name:
type: string
description: A unique name for the Budget, if not updated later, then this will be a random UUID
label:
type:
- string
- 'null'
description: A label for the Budget, if available.
address:
type: string
description: The address of the deployed Budget Account
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
owner:
type: string
description: The address of the Budget's owner
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
hidden:
type: boolean
description: Whether or not the Budget should be included in API responses
members:
type: array
items:
type: object
properties:
memberAddress:
type: string
description: The address of the Budget Account member, someone with either ADMIN or MANAGER permissions
example: '0x378632819f39c74c4f56b1429e760739c5fb51b7'
pattern: ^0x[a-fA-F0-9]{40}$
roles:
type: array
items:
type: number
description: A list of numbers representing role enums, where 1 is MANAGER, and 2 is ADMIN. Managers can manage funds, while Admins can manage permissioned users.
email:
type:
- string
- 'null'
description: The email address associated with this member, if available
status:
type:
- string
- 'null'
enum:
- wallet_created
- invited
- accepted
- cancelled
description: The invitation status of this member, if available
required:
- memberAddress
- roles
description: A list of members with any amount of permissions
deprecated:
type: boolean
description: Will be true if Budget Account is based off of a deprecated budget implementation.
required:
- id
- identifier
- registryType
- baseImplementation
- deployedInstance
- txHash
- blockTimestamp
- blockNumber
- chainId
- address
- owner
- hidden
- members
- deprecated