Xentral Collective Bill API

Create collective bills

OpenAPI Specification

xentral-collective-bill-api-openapi.yml Raw ↑
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: []