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

# Get categories

> Get all expense categories for the authenticated user



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox get /v5/expenses/categories
openapi: 3.0.1
info:
  title: Tight API
  contact:
    name: Hurdlr, Inc. (dba Tight)
    url: https://www.tight.com
    email: api@tight.com
  version: 6.0.0
servers:
  - url: https://sandbox.hurdlr.com/rest
    description: Staging Environment
  - url: https://prod.hurdlr.com/rest
    description: Production Environment
security:
  - accessTokenSecurity: []
  - basicSecurity: []
tags:
  - name: Authentication
  - name: Banks
  - name: Business & Client Management
  - name: Invoicing
  - name: Revenue
  - name: Investments
  - name: Payouts
  - name: Bills
  - name: Expenses
  - name: Payroll
  - name: Reports
  - name: Accounting
  - name: Mileage
  - name: Taxes
  - name: Time Tracking
  - name: Imports
  - name: Files
  - name: Accountant
  - name: Audit Trail
  - name: Support
  - name: Tax Engine Express
  - name: Interview Endpoint
  - name: Ledgering
  - name: Configuration
  - name: Templates
paths:
  /v5/expenses/categories:
    get:
      tags:
        - Expenses
      summary: Get categories
      description: Get all expense categories for the authenticated user
      operationId: getCategories
      parameters:
        - name: lastUpdatedDate
          in: header
          description: >-
            Date filter - returns all records updated after the specified date.
            Null returns all data
          schema:
            type: string
          example: '1970-01-01'
        - name: query
          in: query
          description: >-
            Query filter - returns all categories whose names contain the
            specified `query` parameter. For example, a search parameter of
            "Office" would return categories with the names "Office Expenses"
            and "Officer Wages".
          schema:
            type: string
        - name: cursor
          in: header
          description: Cursor from the previous paginated response
          schema:
            type: string
        - name: limit
          in: header
          description: Page size, i.e. number of items to return per page
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TRAX_GET_RESPONSEExpenseCategoryDTOV5List'
      security:
        - accessTokenSecurity: []
components:
  schemas:
    TRAX_GET_RESPONSEExpenseCategoryDTOV5List:
      properties:
        data:
          type: array
          description: The list of entities
          items:
            $ref: '#/components/schemas/ExpenseCategoryDTOV5'
        lastUpdatedDate:
          type: string
          description: Date filter - to be used in your subsequent request
          format: date-time
        cursor:
          type: string
          description: >-
            Cursor to be used in your subsequent paginated request. Only
            populated if there are more pages available.
        deletedIds:
          type: array
          description: >-
            Ids of entities that no longer match the request's filter criteria
            since the request's lastUpdatedDate
          items:
            type: integer
            format: int32
    ExpenseCategoryDTOV5:
      type: object
      properties:
        id:
          type: integer
          description: Id of the category, required when updating existing category
          format: int64
        name:
          type: string
          description: >-
            Name of the business-specific expense category, required to create a
            new category
          example: Accounting / Tax
        precedence:
          type: number
          description: >-
            Value representing category's precedence, useful for displaying
            those categories most pertinent to the user. A higher precedence
            value means the category is more pertinent.
          format: double
          readOnly: true
        hasChilds:
          type: boolean
          description: Whether this category has children or not
          readOnly: true
        parentCategoryId:
          type: integer
          description: >-
            Parent id for this category, required to create a new category. Note
            the parent category must be a top-level category, i.e. parent
            category cannot have a parent
          format: int64
        status:
          type: string
          description: Status of this category
          example: ACTIVE
          enum:
            - ACTIVE
            - INACTIVE
        accountId:
          type: integer
          description: >-
            Id of the account associated with this category, required to create
            a new category. Accounts for categories can be fetched from
            /accounting/glAccounts with type equal to EXPENSE or COGS
          format: int64
        systemGenerated:
          type: boolean
          description: >-
            Whether or not this category was generated by Tight. These
            categories cannot be modified.
          readOnly: true
        customData:
          type: object
          description: >-
            Custom JSON in which you can store any data with max length of 2000
            characters
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````