OpenAPI Specification
openapi: 3.0.0
info:
title: Xentral Account General Ledger 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: General Ledger
description: General Ledger transactions
paths:
/api/v1/generalLedger:
get:
tags:
- General Ledger
operationId: generalLedger.list
summary: 🔒 List General Ledger 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.
List general ledger entries'
parameters:
- name: filter
in: query
style: deepObject
description: Filter parameters
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- search
- id
- invoice
- date
- status
- customerName
- customerNumber
- country
- projectId
- projectName
- projectAbbr
- paymentMethod
- paymentStatus
- debit
- balance
- currency
- shippingMethod
- amountNet
- salesOrder
- dunningLevel
- updatedAt
example: date
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
- invoice
- date
- customerName
- customerNumber
- country
- project
- paymentMethod
- debit
- currency
- paymentStatus
- balance
- status
- shippingMethod
- amountNet
- dunningDate
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: Ledger entry
properties:
id:
description: General ledger ID
type: string
example: '12'
example:
id: '12'
'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
'406':
description: Requested resource representation does not exist.
'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/generalLedgerAggDocumentView:
get:
tags:
- General Ledger
operationId: generalLedger.listWithAggregatedDocument
summary: 🔒 List General Ledger Entries With Aggregated Document
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.
List general ledger entries with aggregated document'
parameters:
- name: filter
in: query
style: deepObject
description: Filter parameters
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- search
- id
- invoice
- date
- status
- customerName
- customerNumber
- country
- projectId
- projectName
- projectAbbr
- paymentMethod
- paymentStatus
- debit
- balance
- currency
- shippingMethod
- amountNet
- salesOrder
- dunningLevel
- updatedAt
example: date
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
- invoice
- date
- customerName
- customerNumber
- country
- project
- paymentMethod
- debit
- currency
- paymentStatus
- balance
- status
- shippingMethod
- amountNet
- dunningDate
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: Ledger entry
properties:
id:
description: General ledger ID
type: string
example: '12'
example:
id: '12'
'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
'406':
description: Requested resource representation does not exist.
'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/generalLedgerAggAccountView:
get:
tags:
- General Ledger
operationId: generalLedger.listWithAggregatedAccount
summary: 🔒 List General Ledger Entries With Aggregated Account
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.
List general ledger entries with aggregated account'
parameters:
- name: filter
in: query
style: deepObject
description: Filter parameters
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- search
- id
- invoice
- date
- status
- customerName
- customerNumber
- country
- projectId
- projectName
- projectAbbr
- paymentMethod
- paymentStatus
- debit
- balance
- currency
- shippingMethod
- amountNet
- salesOrder
- dunningLevel
- updatedAt
example: date
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
- invoice
- date
- customerName
- customerNumber
- country
- project
- paymentMethod
- debit
- currency
- paymentStatus
- balance
- status
- shippingMethod
- amountNet
- dunningDate
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: Ledger entry
properties:
id:
description: General ledger ID
type: string
example: '12'
example:
id: '12'
'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
'406':
description: Requested resource representation does not exist.
'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/generalLedgerAggLineItemView:
get:
tags:
- General Ledger
operationId: generalLedger.listWithAggregatedLineItem
summary: 🔒 List General Ledger Entries With Aggregated Line Item
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.
List general ledger entries with aggregated line item'
parameters:
- name: filter
in: query
style: deepObject
description: Filter parameters
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- search
- id
- invoice
- date
- status
- customerName
- customerNumber
- country
- projectId
- projectName
- projectAbbr
- paymentMethod
- paymentStatus
- debit
- balance
- currency
- shippingMethod
- amountNet
- salesOrder
- dunningLevel
- updatedAt
example: date
op:
type: string
enum:
- equals
- notEquals
- in
- notIn
- exactlyIn
- allIn
- allNotIn
- contains
- notContains
- startsWith
- endsWith
- greaterThan
- lessThan
- is
- lessThanOrEquals
# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-general-ledger-api-openapi.yml