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

# Lists the tax rates configured for the service provider.

> Read-only. Tax rates usually originate in the connected accounting system (Xero or
QuickBooks) rather than being managed in Gorelo, so there is no create, update or delete
here.


This is the lookup for every tax reference the API emits: a product category's
`TaxId` and a contract line item's `Tax.Id` are the same identifier as
`Id` here, so a tax seen on any endpoint is resolved by finding it in this list.

`Percentage` is the rate itself and `IsDefault` marks the rate applied when none
is chosen. Only active rates are listed; a service provider with none configured gets an
empty list rather than a 404.

`SubTaxes` carries the component rates a tax is broken into, for accounting systems
that split one tax into parts - HST as GST plus PST, for example - and is an empty array
for the common case of a tax with no components. Where components exist they are what
gets charged: the amount is the sum of each component's `Percentage`, and the
parent's own `Percentage` is not applied on top of them. Only active components are
listed.




## OpenAPI

````yaml /api-reference/openapi.json get /v1/taxes
openapi: 3.0.4
info:
  title: Public API
  description: Gorelo Public API documentation.
  version: 1.0.0
servers:
  - url: https://api.usw.gorelo.io
    description: US
  - url: https://api.aue.gorelo.io
    description: Australia
security:
  - ApiKeyAuth: []
tags:
  - name: Attachments
    description: "Uploading a file, for anything that can carry one. One endpoint rather than one per record\r\ntype, because the upload itself is identical - only the record it is checked against differs."
  - name: Alerts
    description: Alerts management operations
  - name: Assets
    description: Assets management operations
  - name: Billing
    description: Billing management operations
  - name: Tickets
    description: Tickets management operations
  - name: Clients
    description: Clients management operations
  - name: Contacts
    description: Contacts management operations
  - name: Deletions
    description: Deletions management operations
  - name: Documents
    description: Documents management operations
  - name: Forms
    description: Forms management operations
  - name: Organization
    description: Organization management operations
  - name: Projects
    description: Projects management operations
paths:
  /v1/taxes:
    get:
      tags:
        - Billing
      summary: Lists the tax rates configured for the service provider.
      description: "Read-only. Tax rates usually originate in the connected accounting system (Xero or\r\nQuickBooks) rather than being managed in Gorelo, so there is no create, update or delete\r\nhere.\r\n\n\r\nThis is the lookup for every tax reference the API emits: a product category's\r\n`TaxId` and a contract line item's `Tax.Id` are the same identifier as\r\n`Id` here, so a tax seen on any endpoint is resolved by finding it in this list.\r\n\n`Percentage` is the rate itself and `IsDefault` marks the rate applied when none\r\nis chosen. Only active rates are listed; a service provider with none configured gets an\r\nempty list rather than a 404.\r\n\n`SubTaxes` carries the component rates a tax is broken into, for accounting systems\r\nthat split one tax into parts - HST as GST plus PST, for example - and is an empty array\r\nfor the common case of a tax with no components. Where components exist they are what\r\ngets charged: the amount is the sum of each component's `Percentage`, and the\r\nparent's own `Percentage` is not applied on top of them. Only active components are\r\nlisted.\r\n"
      operationId: get_v1_taxes
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/TaxModelListBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/TaxModelListBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/TaxModelListBaseResponse'
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
        '500':
          description: Internal Server Error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ObjectBaseResponse'
components:
  schemas:
    TaxModelListBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          type: array
          items:
            $ref: '#/components/schemas/TaxModel'
          nullable: true
        DataContext:
          type: object
          additionalProperties: false
          nullable: true
          example: null
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    ObjectBaseResponse:
      type: object
      properties:
        StatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
        IsSuccess:
          type: boolean
        Data:
          nullable: true
        DataContext:
          $ref: '#/components/schemas/ErrorDataContext'
        Notifications:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      additionalProperties: false
    HttpStatusCode:
      enum:
        - 100
        - 101
        - 102
        - 103
        - 200
        - 201
        - 202
        - 203
        - 204
        - 205
        - 206
        - 207
        - 208
        - 226
        - 300
        - 301
        - 302
        - 303
        - 304
        - 305
        - 306
        - 307
        - 308
        - 400
        - 401
        - 402
        - 403
        - 404
        - 405
        - 406
        - 407
        - 408
        - 409
        - 410
        - 411
        - 412
        - 413
        - 414
        - 415
        - 416
        - 417
        - 421
        - 422
        - 423
        - 424
        - 426
        - 428
        - 429
        - 431
        - 451
        - 500
        - 501
        - 502
        - 503
        - 504
        - 505
        - 506
        - 507
        - 508
        - 510
        - 511
      type: integer
      format: int32
    TaxModel:
      type: object
      properties:
        Id:
          type: integer
          description: "Identifier of the tax rate. This is the id every other endpoint's tax reference carries -\r\na product category's TaxId and a contract line item's Tax.Id are the same identifier - so a\r\ntax seen anywhere is resolved by finding it in this list."
          format: int64
          example: 4
        Name:
          type: string
          description: Display name of the tax rate.
          example: GST on Income
        Code:
          type: string
          description: "Short code for the tax rate, as carried by the accounting system it came from. Often an\r\nabbreviation of the name, sometimes identical to it."
          nullable: true
          example: GST
        Percentage:
          type: number
          description: "The tax rate itself, as a percentage. Null when the rate has not been set.\r\n\n\r\nWhen SubTaxes is non-empty this is the headline total and the components carry the rates\r\nactually applied, so the two are alternatives rather than additive - see SubTaxes.\r\n"
          format: double
          nullable: true
          example: 10
        IsDefault:
          type: boolean
          description: >-
            Whether this is the tax rate applied automatically when none is
            chosen.
          example: true
        SubTaxes:
          type: array
          items:
            $ref: '#/components/schemas/SubTaxModel'
          description: "The component rates this tax is broken into, for accounting systems that split one tax\r\ninto parts - HST as GST plus PST, for example. An empty array for a tax with no\r\ncomponents, which is the common case; never null.\r\n\n\r\nWhere components exist they are what gets charged: the amount is the sum of each\r\ncomponent's Percentage applied to the line, and the parent's own Percentage is not applied\r\non top. Adding the two together double-taxes.\r\n"
      additionalProperties: false
      description: A tax rate configured for the service provider.
    Error:
      type: object
      properties:
        Code:
          pattern: ^[0-9]{6}$
          type: string
          description: 6-digit MMTTNN error code. See the Public API error-code registry.
          example: '070101'
        Message:
          type: string
        PropertyName:
          type: string
          nullable: true
        ActionHint:
          type: string
          nullable: true
        DocUrl:
          type: string
          nullable: true
      additionalProperties: false
    ErrorDataContext:
      type: object
      properties:
        TraceId:
          type: string
          description: Request correlation id. Quote this when reporting a problem.
          nullable: true
      additionalProperties: false
      description: "The `DataContext` of an error response: carries the correlation id for the failed\r\nrequest."
    SubTaxModel:
      type: object
      properties:
        Id:
          type: integer
          description: Identifier of the component rate.
          format: int64
          example: 41
        Name:
          type: string
          description: Display name of the component rate.
          example: GST
        Code:
          type: string
          description: >-
            Short code for the component rate, as carried by the accounting
            system it came from.
          nullable: true
          example: GST
        Percentage:
          type: number
          description: "The component rate itself, as a percentage. Null when the rate has not been set. There is\r\nno IsDefault here - only a whole tax can be the default, not one of its components."
          format: double
          nullable: true
          example: 5
      additionalProperties: false
      description: "One component of a tax rate: a SubTax row belonging to the tax it is nested under. Sub-taxes\r\nare owned by their parent tax rather than referenced, so they carry no tax id of their own -\r\nthe parent is the object they appear inside."
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      description: >-
        Your Gorelo API key. See [Generate API key](/generate-api-key). If your
        data is hosted in Australia, click the base URL at the top of this page
        and select `https://api.aue.gorelo.io`.
      name: X-API-Key
      in: header

````

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