openapi: 3.0.0
info:
  title: Taxes
  description: 'Taxes are collected by the government to manage state expenses. A company and an individual must pay multiple taxes and disclose the income details.'
  contact: {}
  version: 1.0.0
servers:
  -
    url: 'https://www.zohoapis.com/invoice/v3'
    description: 'API Endpoint'
tags:
  -
    name: taxes
    description: 'Taxes Module'
paths:
  /settings/taxes:
    post:
      tags:
        - taxes
      operationId: 'create_tax'
      summary: 'Create a tax'
      description: 'Create a tax which can be associated with an item.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-tax-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-tax-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.CREATE
    get:
      tags:
        - taxes
      operationId: 'list_taxes'
      summary: 'List taxes'
      description: 'List of simple and compound taxes with pagination.'
      parameters:
        - name: page
          in: query
          description: 'Page number to be fetched. Default value is 1.'
          required: false
          schema:
            type: integer
            default: 1
          example: 1
        - name: per_page
          in: query
          description: 'Number of records to be fetched per page. Default value is 200.'
          required: false
          schema:
            type: integer
            default: 200
          example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-taxes-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.READ
    parameters:
      -
        $ref: '#/components/parameters/organization_id'
  '/settings/taxes/{tax_id}':
    put:
      tags:
        - taxes
      operationId: 'update_tax'
      summary: 'Update a tax'
      description: 'Update the details of a simple or compound tax.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-tax-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-tax-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.UPDATE
    get:
      tags:
        - taxes
      operationId: 'get_tax'
      summary: 'Get a tax'
      description: 'Get the details of a simple or compound tax.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-a-tax-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.READ
    delete:
      tags:
        - taxes
      operationId: 'delete_tax'
      summary: 'Delete a tax'
      description: 'Delete a simple or compound tax.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-tax-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.DELETE
    parameters:
      -
        name: tax_id
        in: path
        required: true
        schema:
          type: string
        example: '982000000566009'
      -
        $ref: '#/components/parameters/organization_id'
  '/settings/taxgroups/{tax_group_id}':
    get:
      tags:
        - taxes
      operationId: 'get_tax_group'
      summary: 'Get a tax group'
      description: 'Get the details of a tax group.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-a-tax-group-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.READ
    put:
      tags:
        - taxes
      operationId: 'update_tax_group'
      summary: 'Update a tax group'
      description: 'Update the details of the tax group.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-tax-group-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-tax-group-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.UPDATE
    delete:
      tags:
        - taxes
      operationId: 'delete_tax_group'
      summary: 'Delete a tax group'
      description: 'Delete a tax group. Tax group that is associated to transactions cannot be deleted.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-tax-group-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.DELETE
    parameters:
      -
        name: tax_group_id
        in: path
        required: true
        schema:
          type: string
        example: '982000000566009'
      -
        $ref: '#/components/parameters/organization_id'
  /settings/taxgroups:
    post:
      tags:
        - taxes
      operationId: 'create_tax_group'
      summary: 'Create a tax group'
      description: 'Create a tax group associating multiple taxes.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-tax-group-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-tax-group-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.CREATE
    parameters:
      -
        $ref: '#/components/parameters/organization_id'
  /settings/taxexemptions:
    post:
      tags:
        - taxes
      operationId: 'create_tax_exemption'
      summary: 'Create Tax Exemption.'
      description: 'Create a Tax Exemption.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-tax-exemption-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-tax-exemption-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.CREATE
    get:
      tags:
        - taxes
      operationId: 'list_tax_exemptions'
      summary: 'List Tax Exemptions'
      description: 'List all Tax Exemptions.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-tax-exemptions-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.READ
    parameters:
      -
        $ref: '#/components/parameters/organization_id'
  '/settings/taxexemptions/{tax_exemption_id}':
    put:
      tags:
        - taxes
      operationId: 'update_tax_exemption'
      summary: 'Update Tax Exemption.'
      description: 'Update an existing Tax Exemption.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-tax-exemption-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-tax-exemption-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.UPDATE
    delete:
      tags:
        - taxes
      operationId: 'delete_tax_exemption'
      summary: 'Delete Tax Exemption'
      description: 'Delete a Tax Exemption.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-tax-exemption-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.DELETE
    parameters:
      -
        name: tax_exemption_id
        in: path
        required: true
        schema:
          type: string
        example: '982000000577199'
      -
        $ref: '#/components/parameters/organization_id'
  /settings/taxauthorities:
    post:
      tags:
        - taxes
      operationId: 'create_tax_authority'
      summary: 'Create Tax Authority.'
      description: 'Create a Tax Authority.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-tax-authority-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-tax-authority-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.CREATE
    get:
      tags:
        - taxes
      operationId: 'list_tax_authorities'
      summary: 'List Tax Authorities'
      description: 'List all Tax Authorities.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-tax-authorities-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.READ
    parameters:
      -
        $ref: '#/components/parameters/organization_id'
  '/settings/taxauthorities/{tax_authority_id}':
    put:
      tags:
        - taxes
      operationId: 'update_tax_authority'
      summary: 'Update Tax Authority.'
      description: 'Update an existing Tax Authority.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-tax-authority-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-tax-authority-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.UPDATE
    delete:
      tags:
        - taxes
      operationId: 'delete_tax_authority'
      summary: 'Delete Tax Authority'
      description: 'Delete a Tax Authority.'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-tax-authority-response'
      deprecated: false
      security:
        -
          Zoho_Auth:
            - ZohoInvoice.settings.DELETE
    parameters:
      -
        name: tax_authority_id
        in: path
        required: true
        schema:
          type: string
        example: '982000000954211'
      -
        $ref: '#/components/parameters/organization_id'
components:
  parameters:
    organization_id:
      name: X-com-zoho-invoice-organizationid
      description: 'ID of the organization'
      in: header
      required: true
      schema:
        type: string
      example: '10234695'
  schemas:
    gendoc-attributes-schema:
      $ref: '#/components/schemas/tax-response'
    tax-response:
      type: object
      properties:
        tax_id:
          $ref: '#/components/schemas/tax_id'
        tax_name:
          $ref: '#/components/schemas/tax_name'
        tax_percentage:
          $ref: '#/components/schemas/tax_percentage'
        tax_type:
          $ref: '#/components/schemas/tax_type'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        tax_authority_name:
          $ref: '#/components/schemas/tax_authority_name'
        is_value_added:
          $ref: '#/components/schemas/is_value_added'
        tax_specific_type:
          $ref: '#/components/schemas/tax_specific_type'
        tax_factor:
          $ref: '#/components/schemas/tax_factor'
        tax_account_id:
          $ref: '#/components/schemas/tax_account_id'
        purchase_tax_account_id:
          $ref: '#/components/schemas/purchase_tax_account_id'
    tax_id:
      description: 'Unique ID of the tax'
      type: string
      example: '982000000566009'
    tax_name:
      description: 'Name of the tax to be created.'
      type: string
      example: 'Sales Group'
    tax_exemption_code:
      description: 'Unique code of the tax exemption.'
      type: string
      example: Non-Profit
      x-node_available_in:
        - in
        - us
        - ca
      x-node_unavailable_in: []
    description:
      description: 'Description for the tax exemption.'
      type: string
      example: 'It is an Non profit organization'
    type:
      description: 'Type of tax exemption. Allowed Values <code>customer</code> and <code>item</code>'
      type: string
      example: customer
    tax_exemption_id:
      type: string
      example: '982000000577199'
      x-node_available_in:
        - in
        - us
        - ca
      x-node_unavailable_in: []
    tax_specific_type:
      description: 'Type of Tax For Indian Edition. Allowed Values : <code>igst</code> ,<code>cgst</code> ,<code>sgst</code> ,<code>nil</code>, <code> cess </code>.</br>Type of Tax for Mexico Edition. Allowed Values : <code>isr</code>, <code>iva</code>, <code>ieps</code>.'
      type: string
      x-node_available_in:
        - in
        - mx
      x-node_unavailable_in: []
    type_formatted:
      type: string
      example: Customer
    tax_authority_id:
      type: string
      example: '982000000954211'
    tax_authority_name:
      description: 'Unique name for the Tax Authority.'
      type: string
      example: 'Canada Revenue Agency'
      x-node_available_in:
        - us
        - ca
      x-node_unavailable_in: []
    registration_number:
      description: 'Registration number of the Tax Authority.'
      type: string
      example: '123456'
    registration_number_label:
      description: 'Label for the Registration Number.'
      type: string
      example: 'Canada Tax Reg.No'
    tax_percentage:
      description: 'Number of percentage taxable.'
      type: number
      format: double
      example: 10.5
    purchase_tax_expense_account_id:
      type: string
      example: ""
    tax_type:
      description: 'Type to determine whether it is a simple or compound tax. <code>Allowed Values: tax and compound_tax</code>'
      type: string
      example: tax
    tax_factor:
      description: 'Type of Tax Factor. Allowed values: <code>rate</code>, <code>share</code>'
      type: string
      example: rate
      x-node_available_in:
        - mx
      x-node_unavailable_in: []
    tax_account_id:
      description: 'ID of the tax account, in case of withholding tax.'
      type: string
      example: '132086000000107333'
      x-node_available_in:
        - mx
      x-node_unavailable_in: []
    purchase_tax_account_id:
      description: 'ID of the tax account, in case of withholding tax.'
      type: string
      example: '132086000000107337'
      x-node_available_in:
        - mx
      x-node_unavailable_in: []
    taxes:
      description: 'List of tax IDs that are to be associated to the tax group.'
      type: string
      example: VAT
    tax_group_id:
      description: 'the id of the tax group'
      type: string
      example: '982000000566009'
    tax_group_name:
      description: 'Name of the tax group to be created.'
      type: string
      example: 'Sales Group'
    tax_group_percentage:
      description: 'Number of percentage taxable.'
      type: number
      format: double
      example: 10.5
    page:
      description: 'Number of pages'
      type: integer
      example: 1
    per_page:
      description: 'Per page values'
      type: integer
      example: 200
    report_name:
      description: 'The report name'
      type: string
      example: Taxes
    has_more_page:
      description: 'Check if has more pages'
      type: boolean
      example: false
    sort_order:
      description: 'The order for sorting'
      type: string
      example: D
    sort_column:
      description: 'Sort taxes.Allowed Values: <code>tax_name</code>, <code>taxes</code>, <code>date</code>, <code> due_date</code>, <code>total</code>, <code>balance</code> and  <code>created_time</code>'
      type: string
      example: created_time
    applied_filter:
      description: 'The filer applied for sorting'
      type: string
      example: Status.All
    country_code:
      description: 'Two letter country code for the EU country to which the tax belongs.'
      type: string
      example: UK
      x-node_available_in:
        - uk
      x-node_unavailable_in: []
    is_value_added:
      description: 'to check if tax value os added'
      type: boolean
      example: false
    is_default_tax:
      description: 'To check for default tax inclusion'
      type: boolean
      example: true
    is_editable:
      description: 'To check if tax/tax rate is editable'
      type: boolean
      example: true
    create-a-tax-request:
      type: object
      properties:
        tax_name:
          $ref: '#/components/schemas/tax_name'
        tax_percentage:
          $ref: '#/components/schemas/tax_percentage'
        tax_type:
          $ref: '#/components/schemas/tax_type'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        country_code:
          $ref: '#/components/schemas/country_code'
        tax_specific_type:
          $ref: '#/components/schemas/tax_specific_type'
        tax_factor:
          $ref: '#/components/schemas/tax_factor'
        tax_account_id:
          $ref: '#/components/schemas/tax_account_id'
        purchase_tax_account_id:
          $ref: '#/components/schemas/purchase_tax_account_id'
    create-a-tax-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'The tax has been added.'
          readOnly: true
        tax:
          $ref: '#/components/schemas/tax-response'
    list-taxes-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        taxes:
          type: array
          items:
            type: object
            properties:
              tax_id:
                $ref: '#/components/schemas/tax_id'
              tax_name:
                $ref: '#/components/schemas/tax_name'
              tax_percentage:
                $ref: '#/components/schemas/tax_percentage'
              tax_type:
                $ref: '#/components/schemas/tax_type'
              tax_authority_id:
                $ref: '#/components/schemas/tax_authority_id'
              tax_authority_name:
                $ref: '#/components/schemas/tax_authority_name'
              is_value_added:
                $ref: '#/components/schemas/is_value_added'
              is_default_tax:
                $ref: '#/components/schemas/is_default_tax'
              is_editable:
                $ref: '#/components/schemas/is_editable'
    update-a-tax-request:
      type: object
      properties:
        tax_name:
          $ref: '#/components/schemas/tax_name'
        tax_percentage:
          $ref: '#/components/schemas/tax_percentage'
        tax_type:
          $ref: '#/components/schemas/tax_type'
        tax_authority_id:
          $ref: '#/components/schemas/tax_authority_id'
        country_code:
          $ref: '#/components/schemas/country_code'
        tax_specific_type:
          $ref: '#/components/schemas/tax_specific_type'
        tax_factor:
          $ref: '#/components/schemas/tax_factor'
        tax_account_id:
          $ref: '#/components/schemas/tax_account_id'
        purchase_tax_account_id:
          $ref: '#/components/schemas/purchase_tax_account_id'
    update-a-tax-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax information has been saved.'
          readOnly: true
        tax:
          type: object
          properties:
            tax_id:
              $ref: '#/components/schemas/tax_id'
            tax_name:
              $ref: '#/components/schemas/tax_name'
            tax_percentage:
              $ref: '#/components/schemas/tax_percentage'
            tax_type:
              $ref: '#/components/schemas/tax_type'
            tax_authority_id:
              $ref: '#/components/schemas/tax_authority_id'
            tax_authority_name:
              $ref: '#/components/schemas/tax_authority_name'
            is_value_added:
              $ref: '#/components/schemas/is_value_added'
            tax_specific_type:
              $ref: '#/components/schemas/tax_specific_type'
            tax_factor:
              $ref: '#/components/schemas/tax_factor'
            tax_account_id:
              $ref: '#/components/schemas/tax_account_id'
            purchase_tax_account_id:
              $ref: '#/components/schemas/purchase_tax_account_id'
    get-a-tax-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax:
          type: object
          properties:
            tax_id:
              $ref: '#/components/schemas/tax_id'
            tax_name:
              $ref: '#/components/schemas/tax_name'
            tax_percentage:
              $ref: '#/components/schemas/tax_percentage'
            tax_type:
              $ref: '#/components/schemas/tax_type'
            tax_authority_id:
              $ref: '#/components/schemas/tax_authority_id'
            tax_authority_name:
              $ref: '#/components/schemas/tax_authority_name'
            is_value_added:
              $ref: '#/components/schemas/is_value_added'
            tax_specific_type:
              $ref: '#/components/schemas/tax_specific_type'
            tax_factor:
              $ref: '#/components/schemas/tax_factor'
            tax_account_id:
              $ref: '#/components/schemas/tax_account_id'
            purchase_tax_account_id:
              $ref: '#/components/schemas/purchase_tax_account_id'
    delete-a-tax-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'The record has been deleted.'
          readOnly: true
    get-a-tax-group-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax_group:
          type: object
          properties:
            tax_group_id:
              $ref: '#/components/schemas/tax_group_id'
            tax_group_name:
              $ref: '#/components/schemas/tax_group_name'
            tax_group_percentage:
              $ref: '#/components/schemas/tax_group_percentage'
            taxes:
              description: 'List of tax IDs that are to be associated to the tax group.'
              type: array
              items:
                type: object
                properties:
                  tax_id:
                    $ref: '#/components/schemas/tax_id'
                  tax_name:
                    $ref: '#/components/schemas/tax_name'
                  tax_percentage:
                    $ref: '#/components/schemas/tax_percentage'
                  tax_type:
                    $ref: '#/components/schemas/tax_type'
    update-a-tax-group-request:
      type: object
      properties:
        tax_group_name:
          $ref: '#/components/schemas/tax_group_name'
        taxes:
          $ref: '#/components/schemas/taxes'
    update-a-tax-group-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax_group:
          type: object
          properties:
            tax_group_id:
              $ref: '#/components/schemas/tax_group_id'
            tax_group_name:
              $ref: '#/components/schemas/tax_group_name'
            tax_group_percentage:
              $ref: '#/components/schemas/tax_group_percentage'
            taxes:
              description: 'List of tax IDs that are to be associated to the tax group.'
              type: array
              items:
                type: object
                properties:
                  tax_id:
                    $ref: '#/components/schemas/tax_id'
                  tax_name:
                    $ref: '#/components/schemas/tax_name'
                  tax_percentage:
                    $ref: '#/components/schemas/tax_percentage'
                  tax_type:
                    $ref: '#/components/schemas/tax_type'
    delete-a-tax-group-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'The tax group has been deleted.'
          readOnly: true
    create-a-tax-group-request:
      type: object
      properties:
        tax_group_name:
          $ref: '#/components/schemas/tax_group_name'
        taxes:
          $ref: '#/components/schemas/taxes'
    create-a-tax-group-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax_group:
          type: object
          properties:
            tax_group_id:
              $ref: '#/components/schemas/tax_group_id'
            tax_group_name:
              $ref: '#/components/schemas/tax_group_name'
            tax_group_percentage:
              $ref: '#/components/schemas/tax_group_percentage'
            taxes:
              description: 'List of tax IDs that are to be associated to the tax group.'
              type: array
              items:
                type: object
                properties:
                  tax_id:
                    $ref: '#/components/schemas/tax_id'
                  tax_name:
                    $ref: '#/components/schemas/tax_name'
                  tax_percentage:
                    $ref: '#/components/schemas/tax_percentage'
                  tax_type:
                    $ref: '#/components/schemas/tax_type'
    create-tax-exemption-request:
      required:
        - tax_exemption_code
        - type
      type: object
      properties:
        tax_exemption_code:
          $ref: '#/components/schemas/tax_exemption_code'
        description:
          $ref: '#/components/schemas/description'
        type:
          $ref: '#/components/schemas/type'
    create-tax-exemption-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Exemption has been added.'
          readOnly: true
        tax_exemption:
          type: object
          properties:
            tax_exemption_id:
              $ref: '#/components/schemas/tax_exemption_id'
            tax_exemption_code:
              $ref: '#/components/schemas/tax_exemption_code'
            description:
              $ref: '#/components/schemas/description'
            type:
              $ref: '#/components/schemas/type'
            type_formatted:
              $ref: '#/components/schemas/type_formatted'
    list-tax-exemptions-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax_exemptions:
          type: array
          items:
            type: object
            properties:
              tax_exemption_id:
                $ref: '#/components/schemas/tax_exemption_id'
              tax_exemption_code:
                $ref: '#/components/schemas/tax_exemption_code'
              description:
                $ref: '#/components/schemas/description'
              type:
                $ref: '#/components/schemas/type'
              type_formatted:
                $ref: '#/components/schemas/type_formatted'
    update-tax-exemption-request:
      required:
        - tax_exemption_code
        - type
      type: object
      properties:
        tax_exemption_code:
          $ref: '#/components/schemas/tax_exemption_code'
        description:
          $ref: '#/components/schemas/description'
        type:
          $ref: '#/components/schemas/type'
    update-tax-exemption-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Exemption information has been updated.'
          readOnly: true
        tax_exemption:
          type: object
          properties:
            tax_exemption_id:
              $ref: '#/components/schemas/tax_exemption_id'
            tax_exemption_code:
              $ref: '#/components/schemas/tax_exemption_code'
            description:
              $ref: '#/components/schemas/description'
            type:
              $ref: '#/components/schemas/type'
            type_formatted:
              $ref: '#/components/schemas/type_formatted'
    delete-tax-exemption-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Exemption has been deleted.'
          readOnly: true
    create-tax-authority-request:
      required:
        - tax_authority_name
      type: object
      properties:
        tax_authority_name:
          $ref: '#/components/schemas/tax_authority_name'
        registration_number_label:
          $ref: '#/components/schemas/registration_number_label'
        registration_number:
          $ref: '#/components/schemas/registration_number'
        description:
          description: 'Description for the Tax Authority.'
          type: string
          example: 'Canada Tax Authority'
    create-tax-authority-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Authority has been added.'
          readOnly: true
        tax_authority:
          type: object
          properties:
            tax_authority_id:
              $ref: '#/components/schemas/tax_authority_id'
            tax_authority_name:
              $ref: '#/components/schemas/tax_authority_name'
            description:
              description: 'Description for the Tax Authority.'
              type: string
              example: 'Canada Tax Authority'
            registration_number:
              $ref: '#/components/schemas/registration_number'
            registration_number_label:
              $ref: '#/components/schemas/registration_number_label'
    list-tax-authorities-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        tax_authorities:
          type: array
          items:
            type: object
            properties:
              tax_authority_id:
                $ref: '#/components/schemas/tax_authority_id'
              tax_authority_name:
                $ref: '#/components/schemas/tax_authority_name'
              description:
                description: 'Description for the Tax Authority.'
                type: string
                example: 'Canada Tax Authority'
              registration_number:
                $ref: '#/components/schemas/registration_number'
              registration_number_label:
                $ref: '#/components/schemas/registration_number_label'
    update-tax-authority-request:
      required:
        - tax_authority_name
      type: object
      properties:
        tax_authority_name:
          $ref: '#/components/schemas/tax_authority_name'
        registration_number_label:
          $ref: '#/components/schemas/registration_number_label'
        registration_number:
          $ref: '#/components/schemas/registration_number'
        description:
          description: 'Description for the Tax Authority.'
          type: string
          example: 'Canada Tax Authority'
    update-tax-authority-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Authority information has been updated.'
          readOnly: true
        tax_authority:
          type: object
          properties:
            tax_authority_id:
              $ref: '#/components/schemas/tax_authority_id'
            tax_authority_name:
              $ref: '#/components/schemas/tax_authority_name'
            description:
              description: 'Description for the Tax Authority.'
              type: string
              example: 'Canada Tax Authority'
            registration_number:
              $ref: '#/components/schemas/registration_number'
            registration_number_label:
              $ref: '#/components/schemas/registration_number_label'
    delete-tax-authority-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: 'Tax Authority has been deleted.'
          readOnly: true
  securitySchemes:
    Zoho_Auth:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: 'https://accounts.zoho.com/oauth/v2/auth'
          scopes:
            ZohoInvoice.settings.CREATE: 'Create Settings'
            ZohoInvoice.settings.UPDATE: 'Update Settings'
            ZohoInvoice.settings.READ: 'Read Settings'
            ZohoInvoice.settings.DELETE: 'Delete Settings'
