Basware ExportedPurchaseOrders API

The ExportedPurchaseOrders API from Basware — 3 operation(s) for exportedpurchaseorders.

Operations 4

GET /v1/exportedPurchaseOrders Returns purchase orders exported from Basware P2P.
DELETE /v1/exportedPurchaseOrders Deletes data from Basware API. For manual one-time operations.
GET /v1/exportedPurchaseOrders/{externalCode} Returns single exported order by externalCode - identifier.
POST /v1/exportedPurchaseOrders/{externalCode}/acknowledge Acknowledged orders are no longer returned for next GET operation.

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/basware-exportedpurchaseorders-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

basware-exportedpurchaseorders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Basware OAUTH2 authentication APIs AccountingDocuments Exported Purchase Orders API
  description: "**Using OAUTH2.0 authentication:**\n\nGet API access token from api.basware.com/tokens\n1. Using client id and client secret, which you can obtain from Basware. \n2. Specify which APIs can be accessed by using the token e.g. Read only access to vendors API only (these are called scopes). Available scopes are listed at <https://developer.basware.com/api/p2p/manual#AccessRights>. \n3. Each token has an expiration time, until which it can be used to call APIs.\n\nWhen using OAUTH2 authentication, you need to pass the OAUTH2 authentication token when calling Basware API endpoints. Available Basware API operations are documented at <https://api.basware.com/swagger>. \n\nSee the Basware API developer site at <https://developer.basware.com/api/p2p/manual#Authentication> for more details on API authentication."
  version: 1.0.0
  x-logo:
    url: https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png
servers:
- url: https://api.basware.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: ExportedPurchaseOrders
paths:
  /v1/exportedPurchaseOrders:
    get:
      tags:
      - ExportedPurchaseOrders
      summary: Returns purchase orders exported from Basware P2P.
      description: "Notes: \n1) This API supports sending webhook based  [push notifications](https://developer.basware.com/api/p2p/manual#PushNotifications) when new data is available to be exported. \n2) This GET operation returns a HTTP redirect, which the API client needs to follow. \n * 'Authorization' header must not be included in the redirected request (the second request after receiving a redirect). \n * 'Host' header needs to be included.\n\nPlease see section \"[Usage scenario 4: Import and export procurement data](https://developer.basware.com/api/p2p/manual#usage4)\" for details on implementing this API."
      parameters:
      - name: orderStatus
        in: query
        description: Document status filter. Returns items by order document status.
        schema:
          enum:
          - WaitingForExport
          - Exported
          type: string
      - name: pageSize
        in: query
        description: A limit for the number of items to be returned for one request. Limit can range between 1 and 100 items.
        schema:
          type: integer
          format: int32
          default: 100
      - name: companyCode
        in: query
        description: Company filter. Returns items for specific company.
        schema:
          type: string
          default: ''
      - name: lastUpdated
        in: query
        description: Date filter. Returns items that have been updated after specified date.
        schema:
          type: string
          format: date-time
      - name: x-amz-meta-continuationtoken
        in: header
        description: Used to get next page of results when item count indicated by 'pageSize' is exceeded. A token is returned in header (not body) parameter 'X-amz-meta-continuationToken' of the response whenever there are more records to fetch. Post the received value here in a new HEADER parameter on the next GET request to receive the next page of results. When getting the next page of results, you must include the same query parameters that were used when getting the first page.
        schema:
          type: string
        example: f0054d6b-f6d9-42ec-8391-7f94738dad4d
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Unexpected error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            text/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
    delete:
      tags:
      - ExportedPurchaseOrders
      summary: Deletes data from Basware API. For manual one-time operations.
      description: "For manual one-time operations only, such as a manual clean-up to remove test data generated during API integration development. Only removes records from API layer. \nDeletion in target systems needs to be done separately using the data deletion mechanisms available in each of the target system in addition to deleting the data in Basware API."
      requestBody:
        description: "Contains the body of the request.\n            Either externalCode or lastUpdated -field is required. If both values are provided, externalCode will have the priority."
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DeleteRequest'
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '202':
          description: RequestAccepted
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/DeleteResponse'
        '400':
          description: BadRequest
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            text/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
        '401':
          description: Unauthorized
        '500':
          description: Unexpected error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            text/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
  /v1/exportedPurchaseOrders/{externalCode}:
    get:
      tags:
      - ExportedPurchaseOrders
      summary: Returns single exported order by externalCode - identifier.
      description: "Note: This GET operation returns a HTTP redirect, which the API client needs to follow. \n* 'Authorization' header must not be included in the redirected request (the second request after receiving a redirect). \n* 'Host' header needs to be included.\n\nPlease see section \"[Usage scenario 4: Import and export procurement data](https://developer.basware.com/api/p2p/manual#usage4)\" for details on implementing this API."
      parameters:
      - name: externalCode
        in: path
        description: ExternalCode of the order to be retrieved.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/ExportedPurchaseOrdersResponse'
        '401':
          description: Unauthorized
        '404':
          description: Not found. Request was successful and no records were found.
        '500':
          description: Unexpected error
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
            text/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityList'
  /v1/exportedPurchaseOrders/{externalCode}/acknowledge:
    post:
      tags:
      - ExportedPurchaseOrders
      summary: Acknowledged orders are no longer returned for next GET operation.
      description: 'Notes:

        1. Updates ''processingStatus'' -field on the document to allow filtering out the document on the next GET operation

        2. For a document which is already acknowledged (processingStatus: ''Exported''), API will return 405 ''Method not allowed'' if acknowledge is attempted again on the document.


        Please see section "[Usage scenario 4: Import and export procurement data](https://developer.basware.com/api/p2p/manual#usage4)" for details on implementing this API.'
      parameters:
      - name: externalCode
        in: path
        description: 'ExternalCode of the order to be acknowledged. Note: For an order which is already acknowledged, API will return 405 ''Method not allowed''.'
        required: true
        schema:
          type: string
      - name: Content-Type
        in: header
        description: Specifies the media type of the resource. Value application/json is supported.
        schema:
          type: string
        example: application/json
      responses:
        '200':
          description: Success
          content:
            text/plain:
              schema:
                type: string
            application/json:
              schema:
                type: string
            text/json:
              schema:
                type: string
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found. Record to acknowledge not found.
        '405':
          description: Method not allowed. This generally happens when trying to acknowledge an exportedPurchaseOrder that is already acknowledged.
        '500':
          description: Unexpected error
components:
  schemas:
    DeliveryAddress:
      required:
      - name
      type: object
      properties:
        name:
          maxLength: 250
          minLength: 1
          type: string
          description: Specifies the address’ name for the goods delivery.
          example: Maple street office
        pObox:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: PO box
          example: ''
        streetName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Street name.
          example: Maple street
        additionalStreetName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Additional street name.
          example: ''
        blockName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Block name.
          example: ''
        buildingName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Building name.
          example: ''
        buildingNumber:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Building number.
          example: '68'
        department:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Department.
          example: ''
        floor:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Floor.
          example: ''
        room:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Room.
          example: ''
        postalZone:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Postal zone.
          example: '02600'
        city:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: City.
          example: Toronto
        region:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Region.
          example: ''
        district:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: District.
          example: ''
        countryCode:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Country code.
          example: CA
        countryName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Country name.
          example: Canada
        description:
          maxLength: 1000
          minLength: 0
          type:
          - string
          - 'null'
          description: Description.
          example: ''
        globalLocationNumber:
          maxLength: 13
          minLength: 0
          type:
          - string
          - 'null'
          description: Global location number.
          example: ''
        countrySubEntity:
          maxLength: 50
          minLength: 0
          type:
          - string
          - 'null'
          example: TX
        countrySubEntityDescription:
          maxLength: 50
          minLength: 0
          type:
          - string
          - 'null'
          example: Texas
        addressId:
          maxLength: 2000
          minLength: 0
          type:
          - string
          - 'null'
          description: Identifier for the address.
          example: '1000467'
        addressSchemeId:
          maxLength: 2000
          minLength: 0
          type:
          - string
          - 'null'
          description: Can be used to specify a code that represents the agency or organization responsible for the addressID numbering.
          example: BuyerAccountId
      additionalProperties: false
      description: 'Specifies delivery address for the purchase requisition. If no address specified, uses the default delivery address of organization (configured in P2P).

        Delivery address on header level applies to entire purchase reuisition. If addresses are also provided on requisition lines, these will apply only to the corresponding lines.'
    ExportedPurchaseOrderLineCodingRowEntity:
      required:
      - externalCode
      - rowIndex
      - splitPercent
      type: object
      properties:
        externalCode:
          maxLength: 100
          minLength: 1
          type: string
          description: Unique external identifier that is used as a key in API.
          example: 060cb8ea-5464-11ea-a38b-2e728ce88122
        rowIndex:
          type: integer
          description: Purchase internal coding row number.
          format: int32
          example: 1
        splitPercent:
          type: number
          description: Percentage of order line's cost which this coding row covers (cost can be split between coding lines).
          format: double
          example: 100
        accountCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Account  code.
          example: '765232'
        accountName:
          maxLength: 2000
          minLength: 0
          type:
          - string
          - 'null'
          description: Account name.
          example: IT costs
        costCenterCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Cost center code.
          example: '213441'
        costCenterName:
          maxLength: 2000
          minLength: 0
          type:
          - string
          - 'null'
          description: Cost center name.
          example: Sao Paolo
        projectCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Project code.
          example: ''
        projectName:
          maxLength: 255
          minLength: 0
          type:
          - string
          - 'null'
          description: Project name.
          example: ''
        fixedAssetCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Fixed asset code.
          example: ''
        fixedAssetName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Fixed asset name.
          example: ''
        fixedAssetSubCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Fixed asset sub code.
          example: ''
        fixedAssetSubName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Fixed assets sub name.
          example: ''
        internalOrderCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Internal order code.
          example: ''
        internalOrderName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Internal order name.
          example: ''
        profitCenterCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Profit center code.
          example: ''
        profitCenterName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Profit center name.
          example: ''
        businessUnitCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Business unit code.
          example: ''
        businessUnitName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Business unit name.
          example: ''
        projectSubCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Project sub code.
          example: ''
        projectSubName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Project sub name.
          example: ''
        employeeCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Employee code.
          example: ''
        employeeName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Employee name.
          example: ''
        vehicleNumber:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Vehicle number.
          example: ''
        vehicleName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Vehicle name.
          example: ''
        salesOrderCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Sales order code.
          example: ''
        salesOrderName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Sales order name.
          example: ''
        salesOrderSubCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Sales order sub code.
          example: ''
        salesOrderSubName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Sales order sub name.
          example: ''
        customerCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Customer code.
          example: ''
        customerName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Customer name.
          example: ''
        accAssignmentCategoryCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Account assignment category code.
          example: ''
        accAssignmentCategoryName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Account assignment category name.
          example: ''
        budgetCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Budget code.
          example: ''
        budgetName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Budget name.
          example: ''
        serviceCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Service code.
          example: ''
        serviceName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Service name.
          example: ''
        businessAreaCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Business area code.
          example: ''
        businessAreaName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Business area name.
          example: ''
        workOrderCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Work order code.
          example: ''
        workOrderName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Work order name.
          example: ''
        workOrderSubCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Work order sub code.
          example: ''
        workOrderSubName:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Work order sub name.
          example: ''
        distributionCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Distribution code.
          example: ''
        distributionMode:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Distribution mode.
          example: ''
        dimCode1:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: 'DimCode 1-10: Code fields for Customer-specific coding dimensions.'
          example: ''
        dimCode2:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode3:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode4:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode5:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode6:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode7:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode8:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode9:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimCode10:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName1:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: Distribution mode.
          example: ''
        dimName2:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName3:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName4:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName5:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName6:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName7:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName8:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName9:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        dimName10:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        num1:
          type:
          - number
          - 'null'
          description: 'LineInvoicingNum1-5: Can be used for for customer-specific date fields.'
          format: double
        num2:
          type:
          - number
          - 'null'
          format: double
        num3:
          type:
          - number
          - 'null'
          format: double
        num4:
          type:
          - number
          - 'null'
          format: double
        num5:
          type:
          - number
          - 'null'
          format: double
        text1:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          description: 'LineInvoicingText1-5: Can be used for for customer-specific date fields.'
          example: ''
        text2:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        text3:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        text4:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        text5:
          maxLength: 250
          minLength: 0
          type:
          - string
          - 'null'
          example: ''
        date1:
          type:
          - string
          - 'null'
          description: 'LineInvoicingDate1-5: Can be used for for customer-specific date fields.'
          format: date-time
          example: ''
        date2:
          type:
          - string
          - 'null'
          format: date-time
          example: ''
        date3:
          type:
          - string
          - 'null'
          format: date-time
          example: ''
        date4:
          type:
          - string
          - 'null'
          format: date-time
          example: ''
        date5:
          type:
          - string
          - 'null'
          format: date-time
          example: ''
      additionalProperties: false
    Owner:
      type: object
      properties:
        personCode:
          maxLength: 25
          minLength: 0
          type:
          - string
          - 'null'
          description: Person code.
          example: '22110'
        userName:
          maxLength: 227
          minLength: 0
          type:
          - string
          - 'null'
          description: User name.
          example: Liz Green
        loginAccount:
          maxLength: 100
          minLength: 0
          type:
          - string
          - 'null'
          description: Login account.
          example: company\\lizgreen
        emailAddress:
          maxLength: 320
          minLength: 0
          pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*)@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$
          type:
          - string
          - 'null'
          description: Email address.
          example: liz.green@company.com
        externalCode:
          maxLength: 50
          minLength: 0
          type:
          - string
          - 'null'
          description: External code.
          example: 908123lkhjhdsai213io7
      additionalProperties: false
      description: Specifies owner for the order / requisition. Owner is by default same person as creator, unless manually changed.
    DeleteRequest:
      type: object
      properties:
        lastUpdated:
          type:
          - string
          - 'null'
          description: 'To delete records updated after specific time, use lastUpdated -field. This will delete all items that have been updated after the specified date. In response, user will get the taskStatus api link where the task status can be checked. Note: ''0001-01-01'' can be used to delete all records.'
          format: date-time
        externalCode:
          maxLength: 36
          minLength: 0
          type:
          - string
          - 'null'
          description: Single item can be deleted using externalCode and final status is returned immediately.
      additionalProperties: false
    ExportedPurchaseOrderLineEntity:
      required:
      - deliveryAddress
      - externalCode
      - grossPrice
      - grossPriceComp
      - grossPriceOrg
      - grossSum
      - grossSumComp
      - grossSumOrg
      - grossUnitPriceComp
      - grossUnitPriceOrg
      - lineType
      - netPrice
      - netPriceComp
      - netPriceOrg
      - netSum
      - netSumComp
      - netSumOrg
      - netUnitPriceComp
      - netUnitPriceOrg
      - orderLineNumber
      - priceType
      - receivingRequired
      - taxTotal
      - taxTotalComp
      - taxTotalOrg
      type: object
      properties:
        externalCode:
          maxLength: 100
          minLength: 1
          type: string
          description: "Unique external identifier that is used as a key in API. \nIdentifies order line for updates through API."
          example: 060cb8ea-5464-11ea-a38b-2e728ce88123
        orderLineNumber:
          type: integer
          description: Order line number 

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