Xentral Tax API

Tax resource

OpenAPI Specification

xentral-tax-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Xentral Account Tax API
  version: v0.1
  description: Xentral is an ERP platform.
  contact:
    name: Xentral
    url: https://xentral.com
    email: api@xentral.com
servers:
- url: https://{xentralId}.xentral.biz
  description: Your Xentral Instance
  variables:
    xentralId:
      default: xentral
- url: https://{domain}
  description: Xentral at a custom domain
  variables:
    domain:
      default: xentral.com
security:
- BearerAuth: []
tags:
- name: Tax
  description: Tax resource
paths:
  /api/v1/tax:
    get:
      tags:
      - Tax
      operationId: tax.list.v1
      summary: 🔒 List Tax Entries
      description: 'This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.


        Retrieves a list of tax entries.'
      parameters:
      - name: filter
        in: query
        style: deepObject
        description: Filter parameters
        schema:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              key:
                type: string
                enum:
                - name
                - taxType
                - taxRate
                - countryCode
                - zipCode
                - isDefault
                - isStandard
                - defaultRevenueAccountNumber
                - validFrom
                - validUntil
                - createdAt
                - updatedAt
                example: name
              op:
                type: string
                enum:
                - equals
                - notEquals
                - in
                - notIn
                - exactlyIn
                - allIn
                - allNotIn
                - contains
                - notContains
                - startsWith
                - endsWith
                - greaterThan
                - lessThan
                - is
                - lessThanOrEquals
                - greaterThanOrEquals
              value:
                oneOf:
                - type: string
                  description: Used for the operations 'equals', 'notEquals', 'contains', 'notContains', 'startsWith', 'endsWith' and 'is'.
                  title: String
                - type: array
                  description: Used for the operations 'in', 'notIn', 'exactlyIn', 'allIn' and 'allNotIn'.
                  title: Array
                  items:
                    type: string
      - in: query
        name: page
        required: false
        style: deepObject
        schema:
          type: object
          additionalProperties: false
          required:
          - number
          - size
          properties:
            number:
              type: string
              pattern: \d+
              description: Page number should be an integer greater than or equal to 1
            size:
              type: string
              pattern: \d+
              description: Page size should usually be an integer between 10 and 50.
      - name: order
        in: query
        style: deepObject
        schema:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              field:
                type: string
                enum:
                - id
                - name
                - taxType
                - taxRate
                - countryCode
                - zipCode
                - isDefault
                - isStandard
                - defaultRevenueAccountNumber
                - validFrom
                - validUntil
                - createdAt
                - updatedAt
              dir:
                type: string
                enum:
                - asc
                - desc
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
                      description: Tax entry
                      properties:
                        id:
                          description: Tax ID
                          type: string
                          example: '1'
                        name:
                          description: Tax name
                          type: string
                          maxLength: 20
                          example: VAT 19%
                        taxType:
                          description: Tax type
                          type: string
                          maxLength: 50
                          example: standard
                        taxRate:
                          description: Tax rate
                          type: number
                          format: float
                          example: 19
                        countryCode:
                          description: Country code in ISO 3166-1 alpha-2 format
                          type: string
                          minLength: 2
                          maxLength: 2
                          example: DE
                        zipCode:
                          description: ZIP code
                          type: string
                          maxLength: 10
                          example: ''
                        isDefault:
                          description: Is default tax
                          type: boolean
                          example: true
                        isStandard:
                          description: Is standard tax
                          type: boolean
                          example: true
                        defaultRevenueAccountNumber:
                          description: Default revenue account number
                          type: string
                          example: '8400'
                        defaultDebitTaxAccountNumber:
                          description: Default debit tax account number
                          type: string
                          nullable: true
                          example: null
                        defaultCreditTaxAccountNumber:
                          description: Default credit tax account number
                          type: string
                          nullable: true
                          example: null
                        defaultCostAccountNumber:
                          description: Default cost account number
                          type: string
                          nullable: true
                          example: null
                        validFrom:
                          description: Valid from date
                          type: string
                          format: date-time
                          example: '2022-01-01T00:00:00Z'
                        validUntil:
                          description: Valid until date
                          type: string
                          format: date-time
                          nullable: true
                          example: null
                        createdAt:
                          description: Created at timestamp
                          type: string
                          format: date-time
                          example: '2022-01-01T00:00:00Z'
                        updatedAt:
                          description: Updated at timestamp
                          type: string
                          format: date-time
                          example: '2022-01-01T00:00:00Z'
                      example:
                        id: '1'
                        name: VAT 19%
                        taxType: standard
                        taxRate: 19
                        countryCode: DE
                        zipCode: ''
                        isDefault: true
                        isStandard: true
                        defaultRevenueAccountNumber: '8400'
                        defaultDebitTaxAccountNumber: null
                        defaultCreditTaxAccountNumber: null
                        defaultCostAccountNumber: null
                        validFrom: '2022-01-01T00:00:00Z'
                        validUntil: null
                        createdAt: '2022-01-01T00:00:00Z'
                        updatedAt: '2022-01-01T00:00:00Z'
        '400':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
        '401':
          description: Unable to authenticate the client
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message explaining why the request failed.
                    example: 'Missing required scopes: customer:create.'
              example:
                message: 'Missing required scopes: customer:create.'
            text/html:
              schema:
                type: string
                example: Unauthorized
        '403':
          description: Unable to authorize the client
        '404':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
        '429':
          description: Too many API calls made.
        '500':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
    post:
      tags:
      - Tax
      operationId: tax.create.v1
      summary: 🔒 Create tax
      description: 'This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.


        Creates a single tax entry.'
      requestBody:
        description: Create a tax object
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
              properties:
                name:
                  type: string
                  maxLength: 20
                  description: Tax name
                taxType:
                  type: string
                  maxLength: 50
                  default: standard
                  description: Tax type
                taxRate:
                  type: number
                  format: float
                  description: Tax rate
                countryCode:
                  type: string
                  minLength: 2
                  maxLength: 2
                  description: Country code in ISO 3166-1 alpha-2 format
                zipCode:
                  type: string
                  maxLength: 10
                  default: ''
                  description: ZIP code
                isDefault:
                  type: boolean
                  default: false
                  description: Is default tax
                isStandard:
                  type: boolean
                  default: false
                  description: Is standard tax
                defaultRevenueAccountNumber:
                  type: string
                  description: Default revenue account number
                defaultDebitTaxAccountNumber:
                  type: string
                  nullable: true
                  description: Default debit tax account number
                defaultCreditTaxAccountNumber:
                  type: string
                  nullable: true
                  description: Default credit tax account number
                defaultCostAccountNumber:
                  type: string
                  nullable: true
                  description: Default credit tax account number
                validFrom:
                  type: string
                  format: date-time
                  description: Valid from date
                validUntil:
                  type: string
                  format: date-time
                  nullable: true
                  description: Valid until date
            examples:
              standard tax:
                value:
                  name: VAT 19%
                  taxType: standard
                  taxRate: 19
                  countryCode: DE
                  zipCode: ''
                  isDefault: true
                  isStandard: true
                  defaultRevenueAccountNumber: '8400'
                  validFrom: '2022-01-01T00:00:00Z'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                description: Tax entry
                properties:
                  id:
                    description: Tax ID
                    type: string
                    example: '1'
                  name:
                    description: Tax name
                    type: string
                    maxLength: 20
                    example: VAT 19%
                  taxType:
                    description: Tax type
                    type: string
                    maxLength: 50
                    example: standard
                  taxRate:
                    description: Tax rate
                    type: number
                    format: float
                    example: 19
                  countryCode:
                    description: Country code in ISO 3166-1 alpha-2 format
                    type: string
                    minLength: 2
                    maxLength: 2
                    example: DE
                  zipCode:
                    description: ZIP code
                    type: string
                    maxLength: 10
                    example: ''
                  isDefault:
                    description: Is default tax
                    type: boolean
                    example: true
                  isStandard:
                    description: Is standard tax
                    type: boolean
                    example: true
                  defaultRevenueAccountNumber:
                    description: Default revenue account number
                    type: string
                    example: '8400'
                  defaultDebitTaxAccountNumber:
                    description: Default debit tax account number
                    type: string
                    nullable: true
                    example: null
                  defaultCreditTaxAccountNumber:
                    description: Default credit tax account number
                    type: string
                    nullable: true
                    example: null
                  defaultCostAccountNumber:
                    description: Default cost account number
                    type: string
                    nullable: true
                    example: null
                  validFrom:
                    description: Valid from date
                    type: string
                    format: date-time
                    example: '2022-01-01T00:00:00Z'
                  validUntil:
                    description: Valid until date
                    type: string
                    format: date-time
                    nullable: true
                    example: null
                  createdAt:
                    description: Created at timestamp
                    type: string
                    format: date-time
                    example: '2022-01-01T00:00:00Z'
                  updatedAt:
                    description: Updated at timestamp
                    type: string
                    format: date-time
                    example: '2022-01-01T00:00:00Z'
                example:
                  id: '1'
                  name: VAT 19%
                  taxType: standard
                  taxRate: 19
                  countryCode: DE
                  zipCode: ''
                  isDefault: true
                  isStandard: true
                  defaultRevenueAccountNumber: '8400'
                  defaultDebitTaxAccountNumber: null
                  defaultCreditTaxAccountNumber: null
                  defaultCostAccountNumber: null
                  validFrom: '2022-01-01T00:00:00Z'
                  validUntil: null
                  createdAt: '2022-01-01T00:00:00Z'
                  updatedAt: '2022-01-01T00:00:00Z'
        '400':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
        '401':
          description: Unable to authenticate the client
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message explaining why the request failed.
                    example: 'Missing required scopes: customer:create.'
              example:
                message: 'Missing required scopes: customer:create.'
            text/html:
              schema:
                type: string
                example: Unauthorized
        '403':
          description: Unable to authorize the client
        '404':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
        '415':
          description: Resource representation send in the request is not supported.
        '429':
          description: Too many API calls made.
        '500':
          description: XGL Problem
          content:
            application/problem+json:
              schema:
                type: object
                description: XGL Problem specification
                properties:
                  type:
                    type: string
                    description: URL of the problem
                    example: https://api.xentral.biz/problems/xgl-error
                  title:
                    type: string
                    description: title of the error. It should be always XGL Error
                    example: XGL Error
                  errorCode:
                    type: integer
                    description: Error code regarding the request failure
                    enum:
                    - 1
                    - 2
                    - 3
                    - 4
                    - 5
                    - 6
                    - 7
                    - 8
                    - 9
                    - 10
                    - 11
                    - 12
                    example: 1
                  message:
                    type: string
                    description: General description about the failed request
                    enum:
                    - Error listing tax obligations
                    - Error creating tax obligation
                    - Error listing taxes
                    - Error getting account information
                    - Error getting account mapping information
                    - Error listing account mappings
                    - Error creating account mapping
                    - Error updating account mapping
                    - Error deleting account mapping
                    - Error creating tax
                    - Error updating tax
                    - Error getting general ledger
                    example: Error getting account information
                  details:
                    type: object
                    description: Object containing the fields and their specifications
                    additionalProperties:
                      type: string
                    example:
                      field: Additional error detail
  /api/v1/tax/{id}:
    get:
      tags:
      - Tax
      operationId: tax.get.v1
      summary: 🔒 Get Tax Entry by ID
      description: 'This endpoint is currently in Beta and available for testing. It may contain bugs, and breaking changes can occur at any time without prior notice. We do not recommend using Beta endpoints in production environments. Should you choose to use it in production, you assume full responsibility for any resulting issues.


        Retrieves a specific tax entry by its ID.'
      parameters:
      - name: id
        in: path
        required: true
        description: The ID of the tax entry to retrieve.
        schema:
          type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                required:
                - data
                properties:
                  data:
                    type: object
                    additionalProperties: true
                    description: Tax entry
                    properties:
                      id:
                        description: Tax ID
                        type: string
                        example: '1'
                      name:
                        description: Tax name
                        type: string
                        maxLength: 20
                        example: VAT 19%
                      taxType:
                        description: Tax type
                        type: string
                        maxLength: 50
                        example: standard
                      taxRate:
                        description: Tax rate
                        type: number
                        format: float
                        example: 19
                      countryCode:
         

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-tax-api-openapi.yml