Visma Sales Order Basic V2 API

The SalesOrderBasicV2 API from Visma — 8 operation(s) for salesorderbasicv2.

Operations 8

POST /v2/salesorderbasic/{saleOrderNumber}/action/createShipment Crete shipment operation #
POST /v2/salesorderbasic/{orderType}/{orderNumber}/action/prepareInvoice Prepare Invoice operation #
POST /v2/salesorderbasic/{orderType}/{orderNumber}/action/sendbymail Send by mail operation #
POST /v2/salesorderbasic/{orderNumber}/attachment Creates an attachment and associates it with a sales order. #
POST /v2/salesorderbasic/orderType/{orderType}/{orderNumber}/attachment Creates an attachment and associates it with a sales order on a specific order… #
POST /v2/salesorderbasic/{orderNumber}/{lineNumber}/attachment Creates an attachment and associates it with a certain sales order line. #
POST /v2/salesorderbasic/orderType/{orderType}/{orderNumber}/{lineNumber}/attachment Creates an attachment and associates it with a certain sales order line on a… #
POST /v2/salesorderbasic Create a Sale Order #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/visma-salesorderbasicv2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

visma-salesorderbasicv2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Visma.net ERP Sales Order Basic V2 API
  version: v1
servers:
- url: https://api.finance.visma.net
tags:
- name: SalesOrderBasicV2
paths:
  /v2/salesorderbasic/{saleOrderNumber}/action/createShipment:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Crete shipment operation
      description: The action result dto contains information about the result of running the action
      operationId: SalesOrderBasicV2_CreateShipmentActionBysaleOrderNumber
      parameters:
      - name: saleOrderNumber
        in: path
        description: Reference number of the sale oreder from which the shipment will be created
        required: true
        schema:
          type: string
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      requestBody:
        description: Defines the data for the action
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateShipmentActionDto'
          text/json:
            schema:
              $ref: '#/components/schemas/CreateShipmentActionDto'
          application/xml:
            schema:
              $ref: '#/components/schemas/CreateShipmentActionDto'
          text/xml:
            schema:
              $ref: '#/components/schemas/CreateShipmentActionDto'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateShipmentActionDto'
        required: true
        x-bodyName: createShipmentActionDto
      responses:
        '204':
          description: NoContent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateShipmentActionResultDto'
            text/json:
              schema:
                $ref: '#/components/schemas/CreateShipmentActionResultDto'
        '400':
          description: Bad Request
          content:
            application/json: {}
            text/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
            text/json: {}
        '403':
          description: Forbidden
          content:
            application/json: {}
            text/json: {}
        '404':
          description: Not Found
          content:
            application/json: {}
            text/json: {}
        '409':
          description: Conflict. Order cannot be shipped in full, shipping rule Ship Complete requires all items to be in stock.
          content:
            application/json: {}
            text/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
            text/json: {}
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      security:
      - interactiveapi: []
  /v2/salesorderbasic/{orderType}/{orderNumber}/action/prepareInvoice:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Prepare Invoice operation
      description: The action result dto contains information about the result of running the action
      operationId: SalesOrderBasicV2_PrepareInvoiceActionByorderTypeorderNumber
      parameters:
      - name: orderType
        in: path
        description: Order Type of the sale order from which the invoice will be created
        required: true
        schema:
          type: string
      - name: orderNumber
        in: path
        description: Reference number of the sale order from which the invoice will be created
        required: true
        schema:
          type: string
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '204':
          description: NoContent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrepareInvoiceActionResultDto'
            text/json:
              schema:
                $ref: '#/components/schemas/PrepareInvoiceActionResultDto'
        '400':
          description: Bad Request
          content:
            application/json: {}
            text/json: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
            text/json: {}
        '403':
          description: Forbidden
          content:
            application/json: {}
            text/json: {}
        '404':
          description: Not Found
          content:
            application/json: {}
            text/json: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
            text/json: {}
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      security:
      - interactiveapi: []
  /v2/salesorderbasic/{orderType}/{orderNumber}/action/sendbymail:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Send by mail operation
      description: The action result dto contains information about the result of running the action
      operationId: SalesOrderBasicV2_SendEmailActionByorderTypeorderNumber
      parameters:
      - name: orderType
        in: path
        description: The type of sale order from which the email will be dispatched.
        required: true
        schema:
          type: string
      - name: orderNumber
        in: path
        description: The number of sale order from which the email will be dispatched.
        required: true
        schema:
          type: string
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '204':
          description: NoContent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendEmailActionResultDto'
            text/json:
              schema:
                $ref: '#/components/schemas/SendEmailActionResultDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/SendEmailActionResultDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/SendEmailActionResultDto'
        '400':
          description: Bad Request
          content:
            application/json: {}
            text/json: {}
            application/xml: {}
            text/xml: {}
        '401':
          description: Unauthorized
          content:
            application/json: {}
            text/json: {}
            application/xml: {}
            text/xml: {}
        '403':
          description: Forbidden
          content:
            application/json: {}
            text/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: Not Found
          content:
            application/json: {}
            text/json: {}
            application/xml: {}
            text/xml: {}
        '500':
          description: Internal Server Error
          content:
            application/json: {}
            text/json: {}
            application/xml: {}
            text/xml: {}
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      security:
      - interactiveapi: []
  /v2/salesorderbasic/{orderNumber}/attachment:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Creates an attachment and associates it with a sales order.
      description: Response Message has StatusCode Created if POST operation succeed
      operationId: SalesOrderBasicV2_CreateHeaderAttachmentByorderNumber
      parameters:
      - name: orderNumber
        in: path
        description: Identifies the sales order
        required: true
        schema:
          type: string
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      deprecated: true
      security:
      - interactiveapi: []
  /v2/salesorderbasic/orderType/{orderType}/{orderNumber}/attachment:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Creates an attachment and associates it with a sales order on a specific order…
      description: Response Message has StatusCode Created if POST operation succeed
      operationId: SalesOrderBasicV2_CreateHeaderAttachmentByorderNumberorderType
      parameters:
      - name: orderNumber
        in: path
        description: Identifies the sales order
        required: true
        schema:
          type: string
      - name: orderType
        in: path
        description: Identifies the sales order type
        required: true
        schema:
          type: string
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      security:
      - interactiveapi: []
  /v2/salesorderbasic/{orderNumber}/{lineNumber}/attachment:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Creates an attachment and associates it with a certain sales order line.
      description: Response Message has StatusCode Created if POST operation succeed
      operationId: SalesOrderBasicV2_CreateLineAttachmentByorderNumberlineNumber
      parameters:
      - name: orderNumber
        in: path
        description: Identifies the sales order
        required: true
        schema:
          type: string
      - name: lineNumber
        in: path
        description: Specifies line number
        required: true
        schema:
          type: integer
          format: int32
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      deprecated: true
      security:
      - interactiveapi: []
  /v2/salesorderbasic/orderType/{orderType}/{orderNumber}/{lineNumber}/attachment:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Creates an attachment and associates it with a certain sales order line on a…
      description: Response Message has StatusCode Created if POST operation succeed
      operationId: SalesOrderBasicV2_CreateLineAttachmentByorderNumberorderTypelineNumber
      parameters:
      - name: orderNumber
        in: path
        description: Identifies the sales order
        required: true
        schema:
          type: string
      - name: orderType
        in: path
        description: Identifies the sales order type
        required: true
        schema:
          type: string
      - name: lineNumber
        in: path
        description: Specifies line number
        required: true
        schema:
          type: integer
          format: int32
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      security:
      - interactiveapi: []
  /v2/salesorderbasic:
    post:
      tags:
      - SalesOrderBasicV2
      summary: Create a Sale Order
      description: 'Response Message has StatusCode Created if POST operation succeed. Response Message has StatusCode BadRequest or InternalServerError if POST operation failed. OBS: End of life March 31 2026. REPLACED BY v3 ENDPOINT. SEE https://salesorder.visma.net/swagger/index.html'
      operationId: SalesOrderBasicV2_Post
      parameters:
      - name: erp-api-background
        in: header
        description: 'Accepts the request and queues it to be executed in the background by our least busy worker. Responds with 202 Accepted and a document containing a JobId reference and details state location.

          Supported values:

          * a URL: when the background operation is finished, a notification will be posted to the URL with a document containing a reference id, status code and a details state location.

          * "none" (without quotes): Fire and forget; no notification will be sent when background operation is finished.

          * "subscription[:<name_1>=<value_1>,..,<name_n>=<value_n>]" (without quotes): when the background operation is finsihed, a notification is posted to the Webhook subscription set up in Developer Portal for your integration client.

          Optionally a set of name-value pairs can be added. These will be sent as headers in the POST request to the Webhook subscription''s url.


          To find status and details of a background-api operation, GET .. v1/background/{id}. To get the response payload of a background-api operation, if any, GET .. v1/background/{id}/content'
        schema:
          type: string
      requestBody:
        description: Defines the data for the Sale Order to create
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SalesOrderBasicUpdateDto'
          text/json:
            schema:
              $ref: '#/components/schemas/SalesOrderBasicUpdateDto'
          application/xml:
            schema:
              $ref: '#/components/schemas/SalesOrderBasicUpdateDto'
          text/xml:
            schema:
              $ref: '#/components/schemas/SalesOrderBasicUpdateDto'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SalesOrderBasicUpdateDto'
        required: true
        x-bodyName: saleOrderUpdateDto
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
            text/json:
              schema:
                type: object
        '202':
          description: Server accepted and queued the request for background execution.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
            text/json:
              schema:
                $ref: '#/components/schemas/BackgroundApiAcceptedDto'
      deprecated: true
      security:
      - interactiveapi: []
components:
  schemas:
    CreateShipmentActionDto:
      required:
      - orderType
      - shipmentDate
      - shipmentWarehouse
      type: object
      properties:
        orderType:
          type: string
          description: Mandatory field
        returnShipmentDto:
          type: boolean
        shipmentDate:
          type: string
          description: Mandatory field
          format: date-time
        shipmentWarehouse:
          type: string
          description: Mandatory field
        operation:
          type: string
          description: 'Operation Type. Possible values: I or R, I = Issue, R = Receipt. If not set it will take the default one defined on Order Type.'
    shipViaInShipmentDto:
      properties:
        id:
          type: string
          description: Click on the magnifier. &gt; The identifier.
        description:
          type: string
          description: Click on the magnifier. &gt; The description.
      description: Delivery settings tab &gt; Shipping information section &gt; Ship via &gt; The carrier used for shipping the goods.
    BackgroundApiAcceptedDto:
      type: object
      properties:
        id:
          type: string
        stateLocation:
          type: string
    locationInAllocationsDto:
      properties:
        countryId:
          type: string
          description: Location*.
        id:
          type: string
          description: Click the magnifier &gt; The identifier
        name:
          type: string
          description: Click the magnifier &gt; The displayed name
      description: Location &gt; The location in the warehouse.
    TaxDetailDto:
      type: object
      properties:
        taxId:
          type: string
          description: 'Mandatory field: VAT ID* &gt; The ID of the VAT applied to the document.'
        recordId:
          type: integer
          description: The id as stored in the database. It can be used when we want to update a VAT record.
          format: int32
        vatId:
          $ref: '#/components/schemas/vatIdInTaxDetailDto'
        vatRate:
          type: number
          description: VAT rate &gt; The rate of the VAT.
          format: double
        taxableAmount:
          type: number
          description: Taxable amount &gt; The taxable amount for the VAT, which is calculated at the document level.
          format: double
        vatAmount:
          type: number
          description: VAT &gt; The VAT amount for the specific VAT, which is calculated at the document level.
          format: double
        expenseAmount:
          type: number
          description: Expense Amount for the VAT type that has been added.
          format: double
      description: This class represents a VAT Detail Line. Used for getting data.
    AttachmentDto:
      type: object
      properties:
        name:
          type: string
          description: The name of the attachment.
        id:
          type: string
          description: The ID of the attachment
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        revision:
          type: integer
          description: The version of the attachment.
          format: int32
    vatIdInTaxDetailDto:
      properties:
        number:
          type: string
          description: Number of item
        description:
          type: string
          description: Name of item/description
      description: VAT ID &gt; The ID of the specific VAT applied.
    locationInShipmentDto:
      properties:
        countryId:
          type: string
          description: Location*.
        id:
          type: string
          description: Click the magnifier &gt; The identifier
        name:
          type: string
          description: Click the magnifier &gt; The displayed name
      description: 'Mandatory field: The top part &gt; Location* &gt; The customer location to receive the shipment.'
    vatRegistrationIdInSalesOrderBasicUpdateDto:
      properties:
        value:
          type: string
      description: Mandatory field if Customer or GLN is not specified.
    ShipmentDto:
      type: object
      properties:
        timeStamp:
          type: string
          format: byte
        shipmentNumber:
          type: string
          description: The top part &gt; Shipment no &gt; The unique reference number of the document, which is automatically generated by the system.
        shipmentType:
          enum:
          - Issue
          - DropShip
          - Transfer
          type: string
          description: 'The top part &gt; Type &gt; The type of the shipment document, which can be one of the following options: Shipment, Transfer.'
        status:
          enum:
          - Open
          - Hold
          - Completed
          - Cancelled
          - Confirmed
          - Invoiced
          - Receipted
          - AutoGenerated
          - PartiallyInvoiced
          type: string
          description: The top part &gt; Status &gt; The status of the document.
        hold:
          type: boolean
          description: The top part &gt; Hold &gt; This check box indicates (if selected) that the documents cannot be processed further until the check box is cleared.
        operation:
          enum:
          - Issue
          - Receipt
          type: string
          description: 'The top part &gt; Operation &gt; The operation to be performed in the Inventory workspace for this shipment: Issue or Receipt.'
        shipmentDate:
          type: string
          description: 'Mandatory field: The top part &gt; Shipment date* &gt; The date when the document has been created.'
          format: date-time
        customer:
          $ref: '#/components/schemas/customerInShipmentDto'
        location:
          $ref: '#/components/schemas/locationInShipmentDto'
        fromWarehouse:
          $ref: '#/components/schemas/fromWarehouseInShipmentDto'
        toWarehouse:
          $ref: '#/components/schemas/toWarehouseInShipmentDto'
        currencyId:
          type: string
          description: Delivery settings tab &gt; Freight currency &gt; By default, it is the currency of the sales order, but you can change it if needed.
        owner:
          $ref: '#/components/schemas/ownerInShipmentDto'
        shippedQuantity:
          type: number
          description: The top part &gt; Shipped quantity &gt; The quantity of goods shipped.
          format: double
        shippedWeight:
          type: number
          description: The top part &gt; Shipped weight &gt; The weight of the goods shipped.
          format: double
        shippedVolume:
          type: number
          description: The top part &gt; Shipped volume &gt; The total volume of the items in the shipment.
          format: double
        packages:
          type: integer
          description: The top part &gt; Packages &gt; The number of boxes included in this shipment.
          format: int32
        packagesWeight:
          type: number
          description: The top part &gt; Package weight &gt; The total weight of the shipment that includes the weight of boxes (for boxes determined automatically).
          format: double
        packagesVolume:
          type: number
          description: The top part &gt; Package volume &gt; The total volume of the shipment that includes the volume of boxes (for boxes determined automatically).
          format: double
        controlQuantity:
          type: number
          description: The top part &gt; Control quantity &gt; The control value,

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