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

# Get budgets

> Retrieve all budgets associated with the firm. Each budget is associated with a company.

**Permissions:**
- User must be authenticated via OAuth.
- User must have access to the companies.



## OpenAPI

````yaml get /budgets/
openapi: 3.0.1
info:
  title: Standard Metrics API Documentation
  description: >-
    Welcome to Standard Metric's API docs!


    To use our API you will need to make an OAuth appliction (or use an existing
    one) in the developer settings tab on your settings page and then exchange
    your client id and secret for an access token (via the `/o/token/` endpoint.
    This token can then be sent in the `Authorization` header to authenticate
    your requests to our api. See below for an example.


    All endpoints are paginated and will return a maximum of 100 results per
    page. See the endpoints below and example responses for more details on
    pagination parameters. A maximum of 120 requests per minute can be made to
    our API.


    Authentication example (with python):

    ```>>> import base64

    >>> import base64

    >>> client_id = "YOUR_CLIENT_ID"

    >>> client_secret = "YOUR_CLIENT_SECRET"

    >>> credential = f"{client_id}:{client_secret}"

    >>> base64.b64encode(credential.encode("utf-8"))

    b'ENCODED_CREDENTIAL'


    You can now exchange this credential for an access token, eg:


    curl -X POST \
        -H "Authorization: Basic ENCODED_CREDENTIAL" \
        -H "Cache-Control: no-cache" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        "https://api.standardmetrics.io/o/token/" \
        -d "grant_type=client_credentials"

    You will receive the following response:


    {
        "access_token": "YOUR_ACCESS_TOKEN",
        "expires_in": 36000,
        "token_type": "Bearer",
        "scope": "read write"
    }


    Make sure not to forget to prepend "Bearer " to your access token in the
    Authorization header while making requests.
  version: '1.0'
servers:
  - url: https://api.standardmetrics.io/v1
security:
  - Bearer: []
paths:
  /budgets/:
    get:
      tags:
        - budgets
      summary: Get budgets
      description: >-
        Retrieve all budgets associated with the firm. Each budget is associated
        with a company.


        **Permissions:**

        - User must be authenticated via OAuth.

        - User must have access to the companies.
      operationId: budgets_list
      parameters:
        - name: page
          in: query
          description: A page number within the paginated result set.
          schema:
            type: integer
        - name: page_size
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: company_slug
          in: query
          description: >-
            The slug of the company to fetch budgets for. You can find the slug
            for a company by going to that company's portfolio page, and then
            the last portion of the URL will be the unique slug for said
            company. For example: in the url:
            `app.standardmetrics.io/venture/fund-slug/portfolio/example-slug/`,
            `"example-slug"` would the the slug. This endpoint will return all
            budget data for your firm if a company slug isn't included. You can
            also make a request to the `/companies` endpoint to get a list of
            all your firm's companies and their slugs.
          schema:
            type: string
        - name: company_id
          in: query
          description: >-
            The id for the company to fetch budget data for. You can get a
            company's id by making a request to the `/companies` endpoint. This
            endpoint will return all budget data for your firm if a company id
            isn't included. You can get a company's id by making a request to
            the `/companies` endpoint.
          schema:
            type: string
        - name: sort_by
          in: query
          description: >-
            The field to sort your query by. Currently, `created_at` is the only
            supported field. To sort in descending order, prepend the field
            you're sorting by with a `-`. Ascending order is implied, but you
            can also prepend the field you're sorting by with `+` to sort in
            ascending order. E.g. to sort by created_at in ascending order use
            `"sort_by=-created_at"` and to sort by created_at in descending
            order use `"sort_by=+created_at"` or just `"sort_by=created_at"`.
          schema:
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                required:
                  - count
                  - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Scenario'
components:
  schemas:
    Scenario:
      required:
        - company
        - company_slug
        - date
        - id
      type: object
      properties:
        id:
          title: Id
          type: string
        name:
          title: Name
          minLength: 1
          type: string
          readOnly: true
        color:
          title: Color
          minLength: 1
          type: string
          default: '#ffffff'
        description:
          title: Description
          type: string
          description: A longer, free-text description for the scenario.
          nullable: true
        date:
          title: Date
          type: string
          format: date
        company:
          title: Company
          minLength: 1
          type: string
          nullable: true
        company_slug:
          title: Company slug
          minLength: 1
          type: string
          nullable: true
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your valid bearer token. All Auth tokens persist for all requests. Make
        sure to replace Client Credential `Basic` tokens with `Bearer` tokens
        after retrieving your bearer token. Go to the API Reference/Setup, User
        Guides/Initial Setup, or API Reference/Get API Access Token page to get
        your token.

````