Xentral Delivery API

Delivery information.

OpenAPI Specification

xentral-delivery-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Xentral Account Delivery 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
  description: Delivery information.
paths:
  /api/v1/deliveries:
    get:
      tags:
      - Delivery
      operationId: deliveries.list
      summary: List deliveries
      description: Lists existing deliveries
      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:
                - salesOrderId
              dir:
                type: string
                enum:
                - asc
                - desc
      - name: filter
        in: query
        style: deepObject
        explode: true
        schema:
          type: array
          items:
            type: object
            additionalProperties: false
            required:
            - key
            - op
            - value
            properties:
              key:
                type: string
                enum:
                - salesOrderId
                - shippingMethodId
                - deliveryNoteId
                - trackingNumber
                - carrier
                - sentAt
                - sentAtTimestamp
                description: Field to filter by.
              op:
                type: string
                enum:
                - equals
                - notEquals
                - in
                - notIn
                - lessThan
                - lessThanOrEquals
                - greaterThan
                - greaterThanOrEquals
                - startsWith
                - endsWith
                description: Operator to use for filtering.
              value:
                oneOf:
                - type: string
                  description: Always passed as string in query; backend parses as string, numeric, date, or datetime based on 'key'.
                - type: array
                  items:
                    type: string
                  description: Used for the 'in' operator. Items must be strings representing numeric, date, etc.
      responses:
        '200':
          description: Delivery list
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                - data
                - extra
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      required:
                      - id
                      - deliveryNote
                      - tracking
                      - salesOrder
                      - shippingMethod
                      properties:
                        id:
                          type: string
                          pattern: \d+
                          example: '17'
                          description: Resource identifier.
                        tracking:
                          type: object
                          required:
                          - number
                          additionalProperties: false
                          properties:
                            number:
                              type: string
                              description: The tracking number provided by the carrier.
                            link:
                              type: string
                              description: Carrier tracking link
                            carrier:
                              type: string
                              description: Carrier that shipping the delivery
                          description: Tracking information for the delivery
                          example:
                            number: '101010101010101'
                        deliveryNote:
                          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'
                        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'
                        shippingMethod:
                          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'
                        sentAt:
                          type: string
                          format: date
                          nullable: true
                          description: Date when the delivery was sent
                          example: '2022-01-07'
                        sentAtTimestamp:
                          type: string
                          format: datetime
                          nullable: true
                          description: Timestamp when the delivery was sent
                          example: '2022-01-07 00:00:00'
                        label:
                          type: object
                          nullable: true
                          required:
                          - fileType
                          - fileContent
                          additionalProperties: false
                          properties:
                            fileType:
                              type: string
                              description: Label's file type
                              example: image/gif
                            fileContent:
                              type: string
                              description: Base 64 encoded label
                              example: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                          description: Shipping label for the delivery
                          example:
                            fileType: image/gif
                            fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                        additionalPackages:
                          type: array
                          description: Additional parcels associated with this shipment
                          items:
                            type: object
                            additionalProperties: false
                            required:
                            - id
                            - trackingNumber
                            properties:
                              id:
                                type: string
                                pattern: \d+
                                example: '17'
                                description: Resource identifier.
                              trackingNumber:
                                type: string
                                nullable: true
                                description: The tracking number for this parcel.
                                additionalProperties: false
                                example: ABC123123123
                              weight:
                                type: number
                                format: float
                                nullable: true
                                description: Weight of the parcel
                                example: 2.25
                              createdAt:
                                type: string
                                format: datetime
                                nullable: true
                                description: Creation timestamp of the parcel record
                                example: '2024-09-18T14:30:00Z'
                              updatedAt:
                                type: string
                                format: datetime
                                nullable: true
                                description: Last update timestamp of the parcel record
                                example: '2024-09-18T14:30:00Z'
                            description: Data representation of an additional parcel within a shipment
                            example:
                              id: '123'
                              trackingNumber: ABC123123123
                              weight: 2.25
                              createdAt: '2024-09-18T14:30:00Z'
                              updatedAt: '2024-09-18T14:30:00Z'
                      example:
                        id: DEL-12345
                        tracking:
                          number: '101010101010101'
                          link: https://carrier.example.com/track/101010101010101
                          carrier: DHL
                        deliveryNote:
                          id: DN-54321
                        salesOrder:
                          id: SO-98765
                        shippingMethod:
                          id: SM-12345
                        sentAt: '2022-01-07'
                        sentAtTimestamp: '2022-01-07 00:00:00'
                        label:
                          fileType: image/gif
                          fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                        additionalPackages:
                        - id: '123'
                          trackingNumber: ABC123123123
                          weight: 2.25
                          createdAt: '2024-09-18T14:30:00Z'
                          updatedAt: '2024-09-18T14:30:00Z'
                      description: Data representation of a single delivery aka shipment
                  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
        '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
        '429':
          description: Too many API calls made.
  /api/v1/deliveries/{id}:
    get:
      deprecated: true
      tags:
      - Delivery
      operationId: delivery.view
      summary: View delivery
      description: Returns details of a delivery aka shipment
      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
                    required:
                    - id
                    - deliveryNote
                    - tracking
                    - salesOrder
                    - shippingMethod
                    properties:
                      id:
                        type: string
                        pattern: \d+
                        example: '17'
                        description: Resource identifier.
                      tracking:
                        type: object
                        required:
                        - number
                        additionalProperties: false
                        properties:
                          number:
                            type: string
                            description: The tracking number provided by the carrier.
                          link:
                            type: string
                            description: Carrier tracking link
                          carrier:
                            type: string
                            description: Carrier that shipping the delivery
                        description: Tracking information for the delivery
                        example:
                          number: '101010101010101'
                      deliveryNote:
                        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'
                      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'
                      shippingMethod:
                        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'
                      sentAt:
                        type: string
                        format: date
                        nullable: true
                        description: Date when the delivery was sent
                        example: '2022-01-07'
                      sentAtTimestamp:
                        type: string
                        format: datetime
                        nullable: true
                        description: Timestamp when the delivery was sent
                        example: '2022-01-07 00:00:00'
                      label:
                        type: object
                        nullable: true
                        required:
                        - fileType
                        - fileContent
                        additionalProperties: false
                        properties:
                          fileType:
                            type: string
                            description: Label's file type
                            example: image/gif
                          fileContent:
                            type: string
                            description: Base 64 encoded label
                            example: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                        description: Shipping label for the delivery
                        example:
                          fileType: image/gif
                          fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                      additionalPackages:
                        type: array
                        description: Additional parcels associated with this shipment
                        items:
                          type: object
                          additionalProperties: false
                          required:
                          - id
                          - trackingNumber
                          properties:
                            id:
                              type: string
                              pattern: \d+
                              example: '17'
                              description: Resource identifier.
                            trackingNumber:
                              type: string
                              nullable: true
                              description: The tracking number for this parcel.
                              additionalProperties: false
                              example: ABC123123123
                            weight:
                              type: number
                              format: float
                              nullable: true
                              description: Weight of the parcel
                              example: 2.25
                            createdAt:
                              type: string
                              format: datetime
                              nullable: true
                              description: Creation timestamp of the parcel record
                              example: '2024-09-18T14:30:00Z'
                            updatedAt:
                              type: string
                              format: datetime
                              nullable: true
                              description: Last update timestamp of the parcel record
                              example: '2024-09-18T14:30:00Z'
                          description: Data representation of an additional parcel within a shipment
                          example:
                            id: '123'
                            trackingNumber: ABC123123123
                            weight: 2.25
                            createdAt: '2024-09-18T14:30:00Z'
                            updatedAt: '2024-09-18T14:30:00Z'
                    example:
                      id: DEL-12345
                      tracking:
                        number: '101010101010101'
                        link: https://carrier.example.com/track/101010101010101
                        carrier: DHL
                      deliveryNote:
                        id: DN-54321
                      salesOrder:
                        id: SO-98765
                      shippingMethod:
                        id: SM-12345
                      sentAt: '2022-01-07'
                      sentAtTimestamp: '2022-01-07 00:00:00'
                      label:
                        fileType: image/gif
                        fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                      additionalPackages:
                      - id: '123'
                        trackingNumber: ABC123123123
                        weight: 2.25
                        createdAt: '2024-09-18T14:30:00Z'
                        updatedAt: '2024-09-18T14:30:00Z'
                    description: Data representation of a single delivery aka shipment
        '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
        '406':
          description: Requested resource representation does not exist.
  /api/v1/shipments/{id}:
    get:
      tags:
      - Delivery
      operationId: shipment.view
      summary: View shipment
      description: Returns details of a shipment aka delivery
      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
                    required:
                    - id
                    - deliveryNote
                    - tracking
                    - salesOrder
                    - shippingMethod
                    properties:
                      id:
                        type: string
                        pattern: \d+
                        example: '17'
                        description: Resource identifier.
                      tracking:
                        type: object
                        required:
                        - number
                        additionalProperties: false
                        properties:
                          number:
                            type: string
                            description: The tracking number provided by the carrier.
                          link:
                            type: string
                            description: Carrier tracking link
                          carrier:
                            type: string
                            description: Carrier that shipping the delivery
                        description: Tracking information for the delivery
                        example:
                          number: '101010101010101'
                      deliveryNote:
                        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'
                      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'
                      shippingMethod:
                        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'
                      sentAt:
                        type: string
                        format: date
                        nullable: true
                        description: Date when the delivery was sent
                        example: '2022-01-07'
                      sentAtTimestamp:
                        type: string
                        format: datetime
                        nullable: true
                        description: Timestamp when the delivery was sent
                        example: '2022-01-07 00:00:00'
                      label:
                        type: object
                        nullable: true
                        required:
                        - fileType
                        - fileContent
                        additionalProperties: false
                        properties:
                          fileType:
                            type: string
                            description: Label's file type
                            example: image/gif
                          fileContent:
                            type: string
                            description: Base 64 encoded label
                            example: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                        description: Shipping label for the delivery
                        example:
                          fileType: image/gif
                          fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                      additionalPackages:
                        type: array
                        description: Additional parcels associated with this shipment
                        items:
                          type: object
                          additionalProperties: false
                          required:
                          - id
                          - trackingNumber
                          properties:
                            id:
                              type: string
                              pattern: \d+
                              example: '17'
                              description: Resource identifier.
                            trackingNumber:
                              type: string
                              nullable: true
                              description: The tracking number for this parcel.
                              additionalProperties: false
                              example: ABC123123123
                            weight:
                              type: number
                              format: float
                              nullable: true
                              description: Weight of the parcel
                              example: 2.25
                            createdAt:
                              type: string
                              format: datetime
                              nullable: true
                              description: Creation timestamp of the parcel record
                              example: '2024-09-18T14:30:00Z'
                            updatedAt:
                              type: string
                              format: datetime
                              nullable: true
                              description: Last update timestamp of the parcel record
                              example: '2024-09-18T14:30:00Z'
                          description: Data representation of an additional parcel within a shipment
                          example:
                            id: '123'
                            trackingNumber: ABC123123123
                            weight: 2.25
                            createdAt: '2024-09-18T14:30:00Z'
                            updatedAt: '2024-09-18T14:30:00Z'
                    example:
                      id: DEL-12345
                      tracking:
                        number: '101010101010101'
                        link: https://carrier.example.com/track/101010101010101
                        carrier: DHL
                      deliveryNote:
                        id: DN-54321
                      salesOrder:
                        id: SO-98765
                      shippingMethod:
                        id: SM-12345
                      sentAt: '2022-01-07'
                      sentAtTimestamp: '2022-01-07 00:00:00'
                      label:
                        fileType: image/gif
                        fileContent: R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==
                      additionalPackages:
                      - id: '123'
                        trackingNumber: ABC123123123
                        weight: 2.25
                        createdAt: '2024-09-18T14:30:00Z'
    

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