OpenAPI Specification
openapi: 3.0.0
info:
title: Xentral Account Delivery Note 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: Delivery Note
description: Delivery notes.
paths:
/api/v1/deliveryNotes:
get:
tags:
- Delivery Note
operationId: deliveryNote.list
summary: List delivery notes
description: Returns all delivery notes with pagination and filtering options.
parameters:
- 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, deliveryNoteNumber
dir:
type: string
enum:
- asc
- desc
- name: filter
in: query
style: deepObject
schema:
type: array
items:
type: object
additionalProperties: false
properties:
key:
type: string
enum:
- documentDate
- createdAt
- status
- salesOrderId
- updatedAt
- country
- projectId
- customerId
- customerNumber
- shippingAddressName
- documentNumber
op:
type: string
enum:
- greaterThan
- lessThan
- equals
- notEquals
- in
- notIn
- contains
- notContains
- startsWith
- endsWith
- 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
responses:
'200':
description: Operation completed successfully.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
number:
type: string
description: Number of the document
example: '200001'
createdAt:
type: string
format: datetime
description: Creation date of the delivery note
example: '2024-01-01 00:00:00'
updatedAt:
type: string
format: datetime
description: Last update date of the delivery note
example: '2024-01-01 00:00:00'
documentDate:
type: string
format: date
description: Date of the document
example: '2024-01-01'
receiver:
type: object
nullable: true
required:
- number
- name
additionalProperties: false
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
name:
type: string
nullable: true
number:
type: string
nullable: true
description: Receiver contact for the delivery
example:
name: Mr. John Doe
number: '10'
country:
type: string
description: Country code for the delivery
example: DE
project:
type: object
additionalProperties: false
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
name:
type: string
description: Project to which the delivery note belongs to
example:
id: '1'
shippingMethod:
type: object
additionalProperties: false
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
name:
type: string
description: Shipping method used for the delivery note
example:
id: '1'
type:
type: string
description: Internal type of the delivery note
example: type
status:
type: string
enum:
- created
- released
- canceled
- sent
- unknown
description: Status of the delivery note
example: created
salesOrder:
description: Nullable reference to another resource
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
extra:
type: object
required:
- totalCount
- page
additionalProperties: false
x-description-ignore: true
properties:
totalCount:
description: the total count of all items
type: integer
example: 1
page:
description: The pagination object containing the current page number and size
type: object
required:
- number
- size
additionalProperties: false
properties:
number:
description: The current page number
type: integer
example: 1
size:
description: The size of the pages
type: integer
example: 10
example:
number: 1
size: 10
example:
totalCount: 1
page:
number: 1
size: 10
'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
'406':
description: Requested resource representation does not exist.
'429':
description: Too many API calls made.
/api/v1/deliveryNotes/{id}:
get:
tags:
- Delivery Note
operationId: deliveryNote.view
summary: View delivery note
description: Returns details of a delivery note
parameters:
- in: path
name: id
required: true
description: The resource's identifier.
schema:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
responses:
'200':
description: Operation completed successfully.
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
data:
type: object
additionalProperties: false
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
documentNumber:
type: string
description: Internal identification for the delivery note
example: '200001'
salesOrder:
description: Nullable reference to another resource
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
transactionNumber:
type: string
description: Transaction number associated with a delivery note
example: transaction1
customerOrderNumber:
type: string
description: Customer order associated with a delivery note
example: customerOrder1
nullable: true
salesChannel:
description: Nullable reference to another resource
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
bodyIntroduction:
type: string
description: Initial description message for delivery note
example: Initial info
bodyOutroduction:
type: string
description: Ending description message for delivery note
example: Additional info
internalDesignation:
type: string
description: Internal designation for delivery note
example: InternalDN1
date:
type: string
format: date
description: Date of creation of a delivery note
example: '2025-01-01'
status:
type: string
enum:
- completed
- created
- released
- canceled
- unknown
description: Status of the delivery note
example: completed
customer:
type: object
additionalProperties: false
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
number:
type: string
nullable: true
description: Customer linked to a Sales Order
example:
id: '1'
comment:
type: string
example: A comment about this delivery note
description: Comment included in the delivery note
nullable: true
project:
description: Reference to another resource
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
language:
type: object
additionalProperties: false
required:
- iso2
properties:
iso2:
type: string
description: ISO 639-1 Code
nullable: true
description: Language information for a Sales Order
example:
iso2: DE
updatedAt:
type: string
format: datetime
nullable: true
description: Update date
example: '2024-10-15 15:03:46'
log:
type: object
additionalProperties: false
description: Log information
properties:
createdAt:
type: string
format: date-time
nullable: true
description: Creation date
createdBy:
type: object
additionalProperties: false
description: Author
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
name:
type: string
email:
type: string
format: email
example:
createdAt: '2023-12-01 00:00:00'
createdBy:
id: '1'
name: User 1
delivery:
allOf:
- type: object
properties:
shippingMethod:
description: Reference to another resource
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
deliveryTerms:
description: Nullable reference to another resource
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
shippingAddress:
type: object
additionalProperties: false
required:
- name
- city
- country
- zipCode
- street
properties:
type:
type: string
enum:
- herr
- frau
- firma
- other
name:
type: string
department:
type: string
contactPerson:
type: string
subDepartment:
type: string
street:
type: string
zipCode:
type: string
city:
type: string
state:
type: string
country:
type: string
addressSupplement:
type: string
gln:
type: string
email:
type: string
title:
type: string
phoneNumber:
type: string
fax:
type: string
salutation:
type: string
nullable: true
- type: object
required:
- shippingMethod
properties:
shippingMethod:
description: Reference to another resource
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
deliveryTerms:
description: Nullable reference to another resource
type: object
additionalProperties: false
nullable: true
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
example:
id: '1337'
email:
type: string
format: email
conditions:
type: string
description: Delivery information for the delivery note
example:
autoShipping: true
fastLane: true
shippingMethod:
id: '1'
shippingCosts:
- id: '1'
quantity: 3
shippingCostProduct:
id: '1'
email: user.email@email.org
conditions: none
tags:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
type:
type: string
nullable: true
title:
type: string
nullable: true
description: Tags associated with the delivery note
example:
- id: '1'
positions:
type: array
items:
type: object
additionalProperties: false
required:
- product
- quantity
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
quantity:
type: number
format: float
deliveredQuantity:
type: number
format: float
comment:
type: string
product:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
pattern: \d+
example: '17'
description: Resource identifier.
name:
type: string
description:
type: string
freeFields:
type: array
nullable: true
items:
type: object
additionalProperties: false
required:
- id
- value
properties:
id:
type: string
pattern: \d+
# --- truncated at 32 KB (91 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-delivery-note-api-openapi.yml