OpenAPI Specification
openapi: 3.0.0
info:
title: Xentral Account Collective Bill 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: Collective Bill
description: Create collective bills
paths:
/api/v1/collectiveBill:
post:
tags:
- Collective Bill
operationId: CollectiveBill.create
summary: Create collective bill
description: Creates a collective bill
requestBody:
description: Creates a collective bill
content:
application/json:
schema:
oneOf:
- type: object
additionalProperties: false
required:
- customer
- deliveryNotePositions
- settings
properties:
customer:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
documentNumber:
type: string
nullable: true
deliveryNotePositions:
type: array
items:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
price:
type: number
settings:
type: object
additionalProperties: false
required:
- deliveryDateSource
- includeCustomerOrderNumber
- includeSalesOrderNumber
- includeOpenShippingCosts
properties:
deliveryDateSource:
type: string
enum:
- deliveryNote
- deliveryNotePositions
includeCustomerOrderNumber:
type: boolean
includeSalesOrderNumber:
type: boolean
includeOpenShippingCosts:
type: boolean
- type: object
additionalProperties: false
required:
- customer
- useAllAvailablePositions
- settings
properties:
customer:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
documentNumber:
type: string
nullable: true
useAllAvailablePositions:
type: boolean
settings:
type: object
additionalProperties: false
required:
- deliveryDateSource
- includeCustomerOrderNumber
- includeSalesOrderNumber
- includeOpenShippingCosts
properties:
deliveryDateSource:
type: string
enum:
- deliveryNote
- deliveryNotePositions
includeCustomerOrderNumber:
type: boolean
includeSalesOrderNumber:
type: boolean
includeOpenShippingCosts:
type: boolean
createBillAsDraft:
type: boolean
nullable: true
examples:
Create invoice for all open delivery notes:
value:
customer:
id: '33'
documentNumber: CI-123
useAllAvailablePositions: true
settings:
deliveryDateSource: deliveryNote
includeCustomerOrderNumber: true
includeSalesOrderNumber: true
includeOpenShippingCosts: true
createBillAsDraft: true
Create invoice from specific delivery note positions:
value:
customer:
id: '33'
documentNumber: CI-123
deliveryNotePositions:
- id: '11'
price: 22.05
- id: '12'
settings:
deliveryDateSource: deliveryNotePositions
includeCustomerOrderNumber: true
includeSalesOrderNumber: true
includeOpenShippingCosts: true
responses:
'200':
description: Job created.
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- data
description: information to identify event
properties:
data:
type: object
additionalProperties: false
required:
- jobId
description: jobId created to identify event
properties:
jobId:
type: string
description: jobId created to identify event
example: 0196d475-03a4-71e4-8f5c-61a521d9a0d8
example:
jobId: 0196d475-03a4-71e4-8f5c-61a521d9a0d8
'400':
description: IETF RFC 9457 Problem API compliant response
content:
application/problem+json:
schema:
oneOf:
- type: object
additionalProperties: false
required:
- type
- title
- violations
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/request-validation
title:
type: string
minLength: 1
example: Request payload validation failed.
violations:
oneOf:
- type: array
items:
type: object
example:
username:
- This value should not be blank.
email:
- This value is not a valid email address.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
example:
_:
- This value should contain at most `9` elements.
description: This field will be a mirrored request payload with only invalid fields and values replaced by error messages.
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflict
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- items
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/conflictItems
title:
type: string
minLength: 1
items:
type: array
items:
type: object
additionalProperties: false
required:
- id
- title
- messages
properties:
id:
type: integer
title:
type: string
minLength: 1
messages:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- scopes
properties:
type:
type: string
enum:
- https://developer.xentral.com/reference/problems#token-scopes
title:
type: string
minLength: 1
scopes:
type: array
items:
type: string
- type: object
additionalProperties: false
required:
- type
- title
- messages
properties:
type:
type: string
enum:
- https://api.xentral.biz/problems/generic-validation
title:
type: string
minLength: 1
messages:
type: object
additionalProperties:
type: array
items:
type: string
'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: Resource was not found or not enough access privileges
'415':
description: Resource representation send in the request is not supported.
'429':
description: Too many API calls made.
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Bearer token obtained in POST /tokens endpoint or pregenerated in the system.
x-readme:
samples-languages: []