Boost Budget API

The Budget API from Boost — 2 operation(s) for budget.

OpenAPI Specification

boost-budget-api-openapi.yml Raw ↑
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