Orders (v8.1)

https://github.com/folio-org/mod-orders

Table of contents

Orders Business Logic API

API for managing purchase orders

Orders

Collection of composite-order items.

GET /orders/composite-orders

Retrieve a list of composite-order items.

GET /orders/composite-orders
Query Parameters
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    using CQL (indexes for purchase orders)

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    workflow_status=="Pending"
    
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns a list of composite-order items

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "collection of purchase order records",
  "type": "object",
  "properties": {
    "purchaseOrders": {
      "description": "collection of purchase order records",
      "type": "array",
      "id": "purchaseOrders",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "purchase order",
        "extends": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "description": "Purchase order number prefix",
          "type": "object",
          "javaName": "entity",
          "properties": {
            "id": {
              "description": "UUID identifying this entity",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "type": "string",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
            }
          },
          "additionalProperties": false
        },
        "properties": {
          "id": {
            "description": "UUID of this purchase order",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "approved": {
            "description": "whether or not the purchase order has been approved",
            "type": "boolean",
            "default": false
          },
          "approvedById": {
            "description": "UUID of the user approving the order",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "approvalDate": {
            "description": "Date and time when purchase order was approved",
            "type": "string",
            "format": "date-time"
          },
          "assignedTo": {
            "description": "UUID of the user this purchase order his assigned to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "billTo": {
            "description": "UUID of the billing address",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "closeReason": {
            "description": "Close reason for purchase order",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "reason": {
                "description": "close reason description",
                "type": "string"
              },
              "note": {
                "description": "free-form notes related to closing reason",
                "type": "string"
              }
            },
            "additionalProperties": false
          },
          "dateOrdered": {
            "description": "Date and time when purchase order was opened",
            "type": "string",
            "format": "date-time"
          },
          "manualPo": {
            "description": "if true, order cannot be sent automatically, e.g. via EDI",
            "type": "boolean"
          },
          "notes": {
            "description": "free-form notes associated with this purchase order",
            "id": "notes",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "poNumber": {
            "description": "A human readable ID assigned to this purchase order",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{1,22}$"
          },
          "poNumberPrefix": {
            "description": "Purchase order number prefix",
            "type": "string"
          },
          "poNumberSuffix": {
            "description": "Purchase order number suffix",
            "type": "string"
          },
          "orderType": {
            "description": "the purchase order type",
            "type": "string",
            "enum": [
              "One-Time",
              "Ongoing"
            ]
          },
          "reEncumber": {
            "description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
            "type": "boolean",
            "default": false
          },
          "ongoing": {
            "description": "Ongoing information associated with this order",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "interval": {
                "description": "Renewal interval (in days)",
                "type": "integer"
              },
              "isSubscription": {
                "description": "Whether or not this is a subscription",
                "type": "boolean",
                "default": "false"
              },
              "manualRenewal": {
                "description": "Whether or not this is a manual renewal",
                "type": "boolean"
              },
              "notes": {
                "description": "Notes associated with the Ongoing order",
                "type": "string"
              },
              "reviewPeriod": {
                "description": "Time prior to renewal where changes can be made to subscription",
                "type": "integer"
              },
              "renewalDate": {
                "description": "The date this Ongoing PO's order lines were renewed",
                "type": "string",
                "format": "date-time"
              },
              "reviewDate": {
                "description": "Date when Order has to be reviewed",
                "type": "string",
                "format": "date-time"
              }
            },
            "additionalProperties": false
          },
          "shipTo": {
            "description": "UUID of the shipping address",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "template": {
            "description": "The ID of the order template used for this order. Applies to both PO and POL",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "vendor": {
            "description": "UUID of the vendor record",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "workflowStatus": {
            "description": "the workflow status for this purchase order",
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Pending",
              "Open",
              "Closed"
            ],
            "default": "Pending"
          },
          "acqUnitIds": {
            "description": "acquisition unit ids associated with this purchase order",
            "type": "array",
            "items": {
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "The UUID format string",
              "type": "string",
              "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
            }
          },
          "tags": {
            "type": "object",
            "description": "arbitrary tags associated with this purchase order",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "tags.schema",
            "title": "tags",
            "properties": {
              "tagList": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "totalRecords": {
      "description": "The number of objects contained in this collection",
      "type": "integer"
    }
  },
  "additionalProperties": false,
  "required": [
    "purchaseOrders",
    "totalRecords"
  ]
}

Example:

{
  "purchaseOrders": [
    {
      "id": "0804ddec-6545-404a-b54d-a693f505681d",
      "approved": true,
      "approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
      "approvalDate": "2018-07-19T00:00:00.000Z",
      "assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
      "billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
      "closeReason": {
        "reason": "No longer available",
        "note": "Items are no longer available to purchase"
      },
      "manualPo": false,
      "notes": [
        "ABCDEFGHIJKLMNO",
        "ABCDEFGHIJKLMNOPQRST",
        "ABCDEFGHIJKLMNOPQRSTUV"
      ],
      "orderType": "Ongoing",
      "poNumber": "ABC268758XYZ",
      "poNumberPrefix": "AB",
      "poNumberSuffix": "XYZ",
      "reEncumber": false,
      "ongoing": {
        "interval": 182,
        "isSubscription": false,
        "manualRenewal": true,
        "reviewPeriod": 30,
        "renewalDate": "2019-04-09T00:00:00.000Z"
      },
      "shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
      "template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
      "vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
      "workflowStatus": "Pending",
      "tags": {
        "tagList": [
          "important"
        ]
      },
      "acqUnitIds": [
        "1895e539-8dac-441e-b1f5-aab62b3fde60",
        "47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
      ],
      "metadata": {
        "createdDate": "2018-07-19T00:00:00.000+0000",
        "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
      }
    }
  ],
  "totalRecords": 1
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

unable to list composite-orders -- malformed parameter 'query', syntax error at column 6

Response 401

Not authorized to perform requested action

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

unable to list composite-orders -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

POST /orders/composite-orders

Post a purchase order (PO) and a number of PO lines; record fund transactions corresponding to the order. Only in case an acquisition unit has to be assigned to the Order it is required that user should have extra permission orders.acquisitions-units-assignments.item.post to create an purchase order.

POST /orders/composite-orders
Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "composite purchase order with dereferenced/expanded orders fields",
  "type": "object",
  "properties": {
    "id": {
      "description": "UUID of this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approved": {
      "description": "whether or not the purchase order has been approved",
      "type": "boolean",
      "default": false
    },
    "approvedById": {
      "description": "UUID of the user approving the order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approvalDate": {
      "description": "Date and time when purchase order was approved",
      "type": "string",
      "format": "date-time"
    },
    "assignedTo": {
      "description": "UUID of the user this purchase order his assigned to",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "billTo": {
      "description": "UUID of the billing address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "closeReason": {
      "description": "Close reason for purchase order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "reason": {
          "description": "close reason description",
          "type": "string"
        },
        "note": {
          "description": "free-form notes related to closing reason",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "dateOrdered": {
      "description": "Date and time when purchase order was opened",
      "type": "string",
      "format": "date-time",
      "readonly": true
    },
    "manualPo": {
      "description": "if true, order cannot be sent automatically, e.g. via EDI",
      "type": "boolean"
    },
    "notes": {
      "description": "free-form notes associated with this purchase order",
      "id": "notes",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "poNumber": {
      "description": "A human readable ID assigned to this purchase order",
      "type": "string",
      "pattern": "^[a-zA-Z0-9]{1,22}$"
    },
    "poNumberPrefix": {
      "description": "Purchase order number prefix",
      "type": "string"
    },
    "poNumberSuffix": {
      "description": "Purchase order number suffix",
      "type": "string"
    },
    "orderType": {
      "description": "the purchase order type",
      "type": "string",
      "enum": [
        "One-Time",
        "Ongoing"
      ]
    },
    "reEncumber": {
      "description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
      "type": "boolean",
      "default": false
    },
    "ongoing": {
      "description": "Ongoing information associated with this order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "interval": {
          "description": "Renewal interval (in days)",
          "type": "integer"
        },
        "isSubscription": {
          "description": "Whether or not this is a subscription",
          "type": "boolean",
          "default": "false"
        },
        "manualRenewal": {
          "description": "Whether or not this is a manual renewal",
          "type": "boolean"
        },
        "notes": {
          "description": "Notes associated with the Ongoing order",
          "type": "string"
        },
        "reviewPeriod": {
          "description": "Time prior to renewal where changes can be made to subscription",
          "type": "integer"
        },
        "renewalDate": {
          "description": "The date this Ongoing PO's order lines were renewed",
          "type": "string",
          "format": "date-time"
        },
        "reviewDate": {
          "description": "Date when Order has to be reviewed",
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "shipTo": {
      "description": "UUID of the shipping address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "template": {
      "description": "The ID of the order template used for this order. Applies to both PO and POL",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "totalEstimatedPrice": {
      "description": "total estimated price of this purchase order",
      "type": "number"
    },
    "totalEncumbered": {
      "description": "Total encumbered for the order",
      "type": "number",
      "readonly": true
    },
    "totalExpended": {
      "description": "Total expended for the order",
      "type": "number",
      "readonly": true
    },
    "totalItems": {
      "description": "total number of items included in the purchase order",
      "type": "integer"
    },
    "vendor": {
      "description": "UUID of the vendorDetails record",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "workflowStatus": {
      "description": "the workflow status for this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "enum": [
        "Pending",
        "Open",
        "Closed"
      ],
      "default": "Pending"
    },
    "compositePoLines": {
      "description": "a list of completely de-referenced purchase order lines",
      "id": "compositePoLines",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "composite purchase order line with dereferenced/expanded orders fields",
        "properties": {
          "id": {
            "description": "UUID identifying this purchase order line",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "edition": {
            "description": "edition of the material",
            "type": "string"
          },
          "checkinItems": {
            "description": "if true this will toggle the Check-in workflow for details associated with this PO line",
            "type": "boolean",
            "default": false
          },
          "instanceId": {
            "description": "UUID of the instance record this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "agreementId": {
            "description": "UUID of the agreement this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "acquisitionMethod": {
            "description": "the acquisition method for this purchase order line",
            "type": "string",
            "enum": [
              "Approval Plan",
              "Demand Driven Acquisitions (DDA)",
              "Depository",
              "Evidence Based Acquisitions (EBA)",
              "Exchange",
              "Gift",
              "Purchase At Vendor System",
              "Purchase",
              "Technical"
            ]
          },
          "alerts": {
            "description": "alerts associated with this purchase order line",
            "id": "alerts",
            "type": "array",
            "items": {
              "description": "an alert record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "id": {
                  "description": "UUID of this alert record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "alert": {
                  "description": "the alert text",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "alert"
              ]
            }
          },
          "cancellationRestriction": {
            "description": "whether or not there are cancellation restrictions for this purchase order line",
            "type": "boolean"
          },
          "cancellationRestrictionNote": {
            "description": "free-form notes related to cancellation restrictions",
            "type": "string"
          },
          "claims": {
            "description": "claims associated with this purchase order line",
            "id": "claims",
            "type": "array",
            "items": {
              "description": "a claim record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "claimed": {
                  "description": "whether or not this purchase order line has been claimed",
                  "type": "boolean",
                  "default": false
                },
                "sent": {
                  "description": "date a claim was sent",
                  "type": "string",
                  "format": "date-time"
                },
                "grace": {
                  "description": "the number of days after the expected receipt date during which claims should not be processed",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "collection": {
            "description": "whether or not this purchase order line is for a collection",
            "type": "boolean"
          },
          "contributors": {
            "description": "list of contributors to the material",
            "id": "contributors",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "contributor to the material",
              "properties": {
                "contributor": {
                  "description": "the name of a contributor to the material",
                  "type": "string"
                },
                "contributorNameTypeId": {
                  "description": "UUID of the contributor type",
                  "type": "string",
                  "pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                }
              },
              "additionalProperties": false,
              "required": [
                "contributorNameTypeId"
              ]
            }
          },
          "cost": {
            "description": "cost details associated with this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "listUnitPrice": {
                "description": "The per-item list price for physical or resources of 'Other' order format",
                "type": "number"
              },
              "listUnitPriceElectronic": {
                "description": "The e-resource per-item list price",
                "type": "number"
              },
              "currency": {
                "description": "An ISO currency code",
                "type": "string"
              },
              "additionalCost": {
                "description": "Lump sum that is added to the total estimated price - not affected by discount",
                "type": "number"
              },
              "discount": {
                "description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
                "type": "number"
              },
              "discountType": {
                "description": "Percentage or amount discount type",
                "type": "string",
                "enum": [
                  "amount",
                  "percentage"
                ],
                "default": "percentage"
              },
              "exchangeRate": {
                "description": "Exchange rate",
                "type": "number"
              },
              "quantityPhysical": {
                "description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
                "type": "integer"
              },
              "quantityElectronic": {
                "description": "Quantity of electronic items in this purchase order line",
                "type": "integer"
              },
              "poLineEstimatedPrice": {
                "description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
                "type": "number"
              },
              "fyroAdjustmentAmount": {
                "description": "Adjustment amount if rollover was happen",
                "type": "number"
              }
            },
            "additionalProperties": false,
            "required": [
              "currency"
            ]
          },
          "description": {
            "description": "description of the material",
            "type": "string"
          },
          "details": {
            "description": "details about this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "receivingNote": {
                "description": "notes regarding receiving instructions",
                "type": "string"
              },
              "productIds": {
                "description": "a list of product identifiers",
                "id": "productIds",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Product identifier",
                  "type": "object",
                  "properties": {
                    "productId": {
                      "description": "The actual product identifier",
                      "type": "string"
                    },
                    "productIdType": {
                      "description": "The type of product identifier",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                    },
                    "qualifier": {
                      "description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "subscriptionFrom": {
                "description": "the start date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "subscriptionInterval": {
                "description": "the subscription interval in days",
                "type": "integer"
              },
              "subscriptionTo": {
                "description": "the end date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            },
            "additionalProperties": false
          },
          "donor": {
            "description": "the donor contributing to this purchase order line",
            "type": "string"
          },
          "eresource": {
            "description": "eresource-related details of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "activated": {
                "description": "whether or not this resource is activated",
                "type": "boolean",
                "default": false
              },
              "activationDue": {
                "description": "number of days until activation, from date of order placement",
                "type": "integer"
              },
              "createInventory": {
                "description": "Shows what inventory objects need to be created for electronic resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "trial": {
                "description": "whether or not this is a trial",
                "type": "boolean",
                "default": false
              },
              "expectedActivation": {
                "description": "expected date the resource will be activated",
                "type": "string",
                "format": "date-time"
              },
              "userLimit": {
                "description": "the concurrent user-limit",
                "type": "integer"
              },
              "accessProvider": {
                "description": "UUID of the access provider",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "license": {
                "description": "License record",
                "type": "object",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "code": {
                    "description": "license code",
                    "type": "string"
                  },
                  "description": {
                    "description": "license description",
                    "type": "string"
                  },
                  "reference": {
                    "description": "license reference",
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "resourceUrl": {
                "description": "Electronic resource can be access via this URL",
                "type": "string",
                "pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
              }
            },
            "additionalProperties": false
          },
          "fundDistribution": {
            "description": "the UUIDs of the fund distribution records for this purchase order line",
            "id": "fundDistribution",
            "type": "array",
            "items": {
              "description": "a fund distribution record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "code": {
                  "description": "the fund code",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[^:]+$"
                },
                "encumbrance": {
                  "description": "UUID of encumbrance record associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "fundId": {
                  "description": "UUID of the fund associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "expenseClassId": {
                  "description": "UUID of the expense class associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "distributionType": {
                  "description": "Percentage or amount type of the value property",
                  "type": "string",
                  "enum": [
                    "amount",
                    "percentage"
                  ],
                  "default": "percentage"
                },
                "value": {
                  "description": "The value of the cost to be applied to this fund",
                  "type": "number"
                }
              },
              "additionalProperties": false,
              "required": [
                "fundId",
                "distributionType",
                "value"
              ]
            }
          },
          "isPackage": {
            "description": "Indicates that this POL is for a package",
            "type": "boolean",
            "default": false
          },
          "locations": {
            "description": "a list of the location records for this purchase order line",
            "id": "locations",
            "type": "array",
            "items": {
              "description": "The location details",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "locationId": {
                  "description": "UUID of the (inventory) location record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "holdingId": {
                  "description": "Holding UUID associated with order line",
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "quantity": {
                  "description": "combined/total quanitity of physical and electronic items",
                  "type": "integer"
                },
                "quantityElectronic": {
                  "description": "quantity of electronic items",
                  "type": "integer"
                },
                "quantityPhysical": {
                  "description": "quantity of physical items",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "orderFormat": {
            "description": "The purchase order line format",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Electronic Resource",
              "P/E Mix",
              "Physical Resource",
              "Other"
            ]
          },
          "packagePoLineId": {
            "description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "paymentStatus": {
            "description": "The purchase order line payment status",
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Payment",
              "Cancelled",
              "Fully Paid",
              "Partially Paid",
              "Payment Not Required",
              "Pending",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "physical": {
            "description": "details of this purchase order line relating to physical materials",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "createInventory": {
                "description": "Shows what inventory objects need to be created for physical resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "materialSupplier": {
                "description": "UUID of the material supplier record",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "expectedReceiptDate": {
                "description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "receiptDue": {
                "description": "date item should be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "volumes": {
                "description": "list of volumes included to the physical material",
                "type": "array",
                "items": {
                  "description": "the identifier of volume",
                  "type": "string"
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "volumes"
            ]
          },
          "poLineDescription": {
            "description": "purchase order line description",
            "type": "string"
          },
          "poLineNumber": {
            "description": "A human readable number assigned to this PO line",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$",
            "readonly": true
          },
          "publicationDate": {
            "description": "date (year) of the material's publication",
            "type": "string"
          },
          "publisher": {
            "description": "publisher of the material",
            "type": "string"
          },
          "purchaseOrderId": {
            "description": "UUID of this parent purchase order",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "receiptDate": {
            "description": "date the purchase order line was received",
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "receiptStatus": {
            "description": "The purchase order line receipt status",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Receipt",
              "Cancelled",
              "Fully Received",
              "Partially Received",
              "Pending",
              "Receipt Not Required",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "reportingCodes": {
            "description": "a list of reporting codes associated with this purchase order line",
            "id": "reportingCodes",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "purchase order line reporting code",
              "properties": {
                "id": {
                  "description": "UUID of this reporting code record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "code": {
                  "description": "a reporting code",
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9]{4}[a-zA-Z0-9]*$"
                },
                "description": {
                  "description": "description of this reporting code",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "code"
              ]
            }
          },
          "requester": {
            "description": "who requested this purchase order line",
            "type": "string"
          },
          "rush": {
            "description": "whether or not this is a rush order",
            "type": "boolean"
          },
          "selector": {
            "description": "who selected this material",
            "type": "string"
          },
          "source": {
            "description": "the source of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "User",
              "API",
              "EDI",
              "MARC",
              "EBSCONET"
            ]
          },
          "tags": {
            "description": "arbitrary tags associated with this purchase order line",
            "id": "tags",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "tags",
            "properties": {
              "tagList": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "titleOrPackage": {
            "description": "title of the material",
            "type": "string"
          },
          "vendorDetail": {
            "description": "details related to the vendor of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "instructions": {
                "description": "special instructions for the vendor",
                "type": "string"
              },
              "noteFromVendor": {
                "description": "free-form notes from the vendor",
                "type": "string"
              },
              "vendorAccount": {
                "description": "the accound number on the vendor's end associated with this purchase order line",
                "type": "string"
              },
              "referenceNumbers": {
                "description": "Collection of reference number items",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Reference number item",
                  "type": "object",
                  "properties": {
                    "refNumber": {
                      "description": "a reference number for this purchase order line",
                      "type": "string"
                    },
                    "refNumberType": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "Vendor continuation reference number",
                        "Vendor order reference number",
                        "Vendor subscription reference number",
                        "Vendor internal number",
                        "Vendor title number"
                      ],
                      "javaEnums": [
                        "CONTINUATION_REF_NUMBER",
                        "ORDER_REF_NUMBER",
                        "SUBSCRIPTION_REF_NUMBER",
                        "INTERNAL_NUMBER",
                        "TITLE_NUMBER"
                      ]
                    },
                    "vendorDetailsSource": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "OrderLine",
                        "InvoiceLine"
                      ],
                      "javaEnums": [
                        "ORDER_LINE",
                        "INVOICE_LINE"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false,
            "required": [
              "instructions"
            ]
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "acquisitionMethod",
          "cost",
          "orderFormat",
          "source",
          "titleOrPackage"
        ]
      }
    },
    "acqUnitIds": {
      "description": "acquisition unit ids associated with this purchase order",
      "type": "array",
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "The UUID format string",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "tags": {
      "type": "object",
      "description": "arbitrary tags associated with this purchase order",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "tags.schema",
      "title": "tags",
      "properties": {
        "tagList": {
          "description": "List of tags",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    },
    "needReEncumber": {
      "description": "Indicates that order needs to be re-encumbered",
      "type": "boolean",
      "readonly": true
    }
  },
  "additionalProperties": false,
  "required": [
    "vendor",
    "orderType"
  ]
}

Example:

{
  "id": "0804ddec-6545-404a-b54d-a693f505681d",
  "approved": true,
  "approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
  "approvalDate": "2018-07-19T00:00:00.000Z",
  "assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
  "billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
  "closeReason": {
    "reason": "No longer available",
    "note": "Items are no longer available to purchase"
  },
  "dateOrdered": "2018-07-20T00:00:00.000+0000",
  "notes": [
    "ABCDEFGHIJKLMNO",
    "ABCDEFGHIJKLMNOPQRST",
    "ABCDEFGHIJKLMNOPQRSTUV"
  ],
  "orderType": "Ongoing",
  "poNumber": "A268758XYZ",
  "poNumberPrefix": "A",
  "poNumberSuffix": "XYZ",
  "reEncumber": false,
  "ongoing": {
    "interval": 182,
    "isSubscription": true,
    "manualRenewal": true,
    "reviewPeriod": 30,
    "renewalDate": "2019-04-09T00:00:00.000Z"
  },
  "shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
  "template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
  "totalEstimatedPrice": 75.47,
  "totalItems": 3,
  "totalEncumbered": 70.00,
  "totalExpended": 5.47,
  "vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
  "workflowStatus": "Open",
  "metadata": {
    "createdDate": "2018-07-19T00:00:00.000+0000",
    "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
  },
  "compositePoLines": [
    {
      "id": "8c778aee-97fa-4586-b131-3ea588a728e2",
      "edition": "First edition",
      "checkinItems": false,
      "instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
      "isPackage": false,
      "agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
      "acquisitionMethod": "Purchase At Vendor System",
      "alerts": [
        {
          "alert": "Receipt overdue",
          "id": "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
        }
      ],
      "cancellationRestriction": false,
      "cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
      "claims": [
        {
          "claimed": false,
          "sent": "2018-10-09T00:00:00.000Z",
          "grace": 30
        }
      ],
      "collection": false,
      "contributors": [
        {
          "contributor": "Ed Mashburn",
          "contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
        }
      ],
      "cost": {
        "additionalCost": 2.00,
        "currency": "USD",
        "discount": 2,
        "discountType": "percentage",
        "exchangeRate": 1.12,
        "listUnitPrice": 24.99,
        "listUnitPriceElectronic": 0.00,
        "quantityPhysical": 3,
        "quantityElectronic": 0,
        "poLineEstimatedPrice": 75.47
      },
      "description": "ABCDEFGH",
      "details": {
        "receivingNote": "ABCDEFGHIJKL",
        "productIds": [
          {
            "productId": "9780764354113",
            "productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
            "qualifier": "(paperback)"
          }
        ],
        "subscriptionFrom": "2018-10-09T00:00:00.000Z",
        "subscriptionInterval": 824,
        "subscriptionTo": "2020-10-09T00:00:00.000Z"
      },
      "donor": "ABCDEFGHIJKLM",
      "fundDistribution": [
        {
          "code": "HIST",
          "expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
          "fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
          "distributionType": "percentage",
          "value": 80.0,
          "encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
        },
        {
          "code": "GENRL",
          "fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
          "distributionType": "percentage",
          "value": 20.0,
          "encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
        }
      ],
      "locations": [
        {
          "locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
          "quantity": 2,
          "quantityElectronic": 0,
          "quantityPhysical": 2
        },
        {
          "locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
          "quantity": 1,
          "quantityElectronic": 0,
          "quantityPhysical": 1
        }
      ],
      "orderFormat": "Physical Resource",
      "paymentStatus": "Awaiting Payment",
      "physical": {
        "createInventory": "Instance, Holding, Item",
        "volumes": [
          "vol. 1"
        ],
        "materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
        "expectedReceiptDate": "2018-10-05T00:00:00.000Z",
        "receiptDue": "2018-10-10T00:00:00.000Z",
        "materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
      },
      "poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
      "poLineNumber": "ABC268758XYZ-03",
      "publicationDate": "2017",
      "publisher": "Schiffer Publishing",
      "purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
      "receiptDate": "2018-10-09T00:00:00.000Z",
      "receiptStatus": "Awaiting Receipt",
      "reportingCodes": [
        {
          "code": "CODE1",
          "id": "5926dcd7-85f5-4504-8283-712595ebc38b",
          "description": "ABCDEF"
        },
        {
          "code": "CODE2",
          "id": "fa316c04-8101-4e72-8aaf-01281bac718f",
          "description": "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        },
        {
          "code": "CODE3",
          "id": "ea68b696-3125-4940-bf91-1d128323473e",
          "description": "ABCDE"
        }
      ],
      "requester": "Leo Bulero",
      "rush": true,
      "selector": "ABCD",
      "source": "EDI",
      "titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
      "acqUnitIds": [
        "1895e539-8dac-441e-b1f5-aab62b3fde60",
        "47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
      ],
      "vendorDetail": {
        "instructions": "ABCDEFG",
        "noteFromVendor": "ABCDEFGHIKJKLMNOP",
        "referenceNumbers": [
          {
            "refNumber": "123456-78",
            "refNumberType": "Vendor title number",
            "vendorDetailsSource": "OrderLine"
          }
        ],
        "vendorAccount": "8910-10"
      },
      "tags": {
        "tagList": [
          "important"
        ]
      },
      "metadata": {
        "createdDate": "2018-07-19T00:00:00.000+0000",
        "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
      }
    }
  ]
}

Response 201

Returns a newly created item, with server-controlled fields like 'id' populated

Headers
  • Location: required (string)

    URI to the created composite-order item

Body

Media type: application/json

Type: any

Example:

{
  "id": "0804ddec-6545-404a-b54d-a693f505681d",
  "approved": true,
  "approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
  "approvalDate": "2018-07-19T00:00:00.000Z",
  "assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
  "billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
  "closeReason": {
    "reason": "No longer available",
    "note": "Items are no longer available to purchase"
  },
  "dateOrdered": "2018-07-20T00:00:00.000+0000",
  "notes": [
    "ABCDEFGHIJKLMNO",
    "ABCDEFGHIJKLMNOPQRST",
    "ABCDEFGHIJKLMNOPQRSTUV"
  ],
  "orderType": "Ongoing",
  "poNumber": "A268758XYZ",
  "poNumberPrefix": "A",
  "poNumberSuffix": "XYZ",
  "reEncumber": false,
  "ongoing": {
    "interval": 182,
    "isSubscription": true,
    "manualRenewal": true,
    "reviewPeriod": 30,
    "renewalDate": "2019-04-09T00:00:00.000Z"
  },
  "shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
  "template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
  "totalEstimatedPrice": 75.47,
  "totalItems": 3,
  "totalEncumbered": 70.00,
  "totalExpended": 5.47,
  "vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
  "workflowStatus": "Open",
  "metadata": {
    "createdDate": "2018-07-19T00:00:00.000+0000",
    "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
  },
  "compositePoLines": [
    {
      "id": "8c778aee-97fa-4586-b131-3ea588a728e2",
      "edition": "First edition",
      "checkinItems": false,
      "instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
      "isPackage": false,
      "agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
      "acquisitionMethod": "Purchase At Vendor System",
      "alerts": [
        {
          "alert": "Receipt overdue",
          "id": "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
        }
      ],
      "cancellationRestriction": false,
      "cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
      "claims": [
        {
          "claimed": false,
          "sent": "2018-10-09T00:00:00.000Z",
          "grace": 30
        }
      ],
      "collection": false,
      "contributors": [
        {
          "contributor": "Ed Mashburn",
          "contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
        }
      ],
      "cost": {
        "additionalCost": 2.00,
        "currency": "USD",
        "discount": 2,
        "discountType": "percentage",
        "exchangeRate": 1.12,
        "listUnitPrice": 24.99,
        "listUnitPriceElectronic": 0.00,
        "quantityPhysical": 3,
        "quantityElectronic": 0,
        "poLineEstimatedPrice": 75.47
      },
      "description": "ABCDEFGH",
      "details": {
        "receivingNote": "ABCDEFGHIJKL",
        "productIds": [
          {
            "productId": "9780764354113",
            "productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
            "qualifier": "(paperback)"
          }
        ],
        "subscriptionFrom": "2018-10-09T00:00:00.000Z",
        "subscriptionInterval": 824,
        "subscriptionTo": "2020-10-09T00:00:00.000Z"
      },
      "donor": "ABCDEFGHIJKLM",
      "fundDistribution": [
        {
          "code": "HIST",
          "expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
          "fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
          "distributionType": "percentage",
          "value": 80.0,
          "encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
        },
        {
          "code": "GENRL",
          "fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
          "distributionType": "percentage",
          "value": 20.0,
          "encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
        }
      ],
      "locations": [
        {
          "locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
          "quantity": 2,
          "quantityElectronic": 0,
          "quantityPhysical": 2
        },
        {
          "locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
          "quantity": 1,
          "quantityElectronic": 0,
          "quantityPhysical": 1
        }
      ],
      "orderFormat": "Physical Resource",
      "paymentStatus": "Awaiting Payment",
      "physical": {
        "createInventory": "Instance, Holding, Item",
        "volumes": [
          "vol. 1"
        ],
        "materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
        "expectedReceiptDate": "2018-10-05T00:00:00.000Z",
        "receiptDue": "2018-10-10T00:00:00.000Z",
        "materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
      },
      "poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
      "poLineNumber": "ABC268758XYZ-03",
      "publicationDate": "2017",
      "publisher": "Schiffer Publishing",
      "purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
      "receiptDate": "2018-10-09T00:00:00.000Z",
      "receiptStatus": "Awaiting Receipt",
      "reportingCodes": [
        {
          "code": "CODE1",
          "id": "5926dcd7-85f5-4504-8283-712595ebc38b",
          "description": "ABCDEF"
        },
        {
          "code": "CODE2",
          "id": "fa316c04-8101-4e72-8aaf-01281bac718f",
          "description": "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        },
        {
          "code": "CODE3",
          "id": "ea68b696-3125-4940-bf91-1d128323473e",
          "description": "ABCDE"
        }
      ],
      "requester": "Leo Bulero",
      "rush": true,
      "selector": "ABCD",
      "source": "EDI",
      "titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
      "acqUnitIds": [
        "1895e539-8dac-441e-b1f5-aab62b3fde60",
        "47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
      ],
      "vendorDetail": {
        "instructions": "ABCDEFG",
        "noteFromVendor": "ABCDEFGHIKJKLMNOP",
        "referenceNumbers": [
          {
            "refNumber": "123456-78",
            "refNumberType": "Vendor title number",
            "vendorDetailsSource": "OrderLine"
          }
        ],
        "vendorAccount": "8910-10"
      },
      "tags": {
        "tagList": [
          "important"
        ]
      },
      "metadata": {
        "createdDate": "2018-07-19T00:00:00.000+0000",
        "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
      }
    }
  ]
}

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"unable to add composite-order -- malformed JSON at 13:3"

Response 401

Not authorized to perform requested action

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

unable to create composite-orders -- unauthorized

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

GET /orders/composite-orders/{id}

Return a purchase order with given {id}

GET /orders/composite-orders/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of a purchase order

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 200

Returns item with a given ID

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "composite purchase order with dereferenced/expanded orders fields",
  "type": "object",
  "properties": {
    "id": {
      "description": "UUID of this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approved": {
      "description": "whether or not the purchase order has been approved",
      "type": "boolean",
      "default": false
    },
    "approvedById": {
      "description": "UUID of the user approving the order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approvalDate": {
      "description": "Date and time when purchase order was approved",
      "type": "string",
      "format": "date-time"
    },
    "assignedTo": {
      "description": "UUID of the user this purchase order his assigned to",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "billTo": {
      "description": "UUID of the billing address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "closeReason": {
      "description": "Close reason for purchase order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "reason": {
          "description": "close reason description",
          "type": "string"
        },
        "note": {
          "description": "free-form notes related to closing reason",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "dateOrdered": {
      "description": "Date and time when purchase order was opened",
      "type": "string",
      "format": "date-time",
      "readonly": true
    },
    "manualPo": {
      "description": "if true, order cannot be sent automatically, e.g. via EDI",
      "type": "boolean"
    },
    "notes": {
      "description": "free-form notes associated with this purchase order",
      "id": "notes",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "poNumber": {
      "description": "A human readable ID assigned to this purchase order",
      "type": "string",
      "pattern": "^[a-zA-Z0-9]{1,22}$"
    },
    "poNumberPrefix": {
      "description": "Purchase order number prefix",
      "type": "string"
    },
    "poNumberSuffix": {
      "description": "Purchase order number suffix",
      "type": "string"
    },
    "orderType": {
      "description": "the purchase order type",
      "type": "string",
      "enum": [
        "One-Time",
        "Ongoing"
      ]
    },
    "reEncumber": {
      "description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
      "type": "boolean",
      "default": false
    },
    "ongoing": {
      "description": "Ongoing information associated with this order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "interval": {
          "description": "Renewal interval (in days)",
          "type": "integer"
        },
        "isSubscription": {
          "description": "Whether or not this is a subscription",
          "type": "boolean",
          "default": "false"
        },
        "manualRenewal": {
          "description": "Whether or not this is a manual renewal",
          "type": "boolean"
        },
        "notes": {
          "description": "Notes associated with the Ongoing order",
          "type": "string"
        },
        "reviewPeriod": {
          "description": "Time prior to renewal where changes can be made to subscription",
          "type": "integer"
        },
        "renewalDate": {
          "description": "The date this Ongoing PO's order lines were renewed",
          "type": "string",
          "format": "date-time"
        },
        "reviewDate": {
          "description": "Date when Order has to be reviewed",
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "shipTo": {
      "description": "UUID of the shipping address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "template": {
      "description": "The ID of the order template used for this order. Applies to both PO and POL",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "totalEstimatedPrice": {
      "description": "total estimated price of this purchase order",
      "type": "number"
    },
    "totalEncumbered": {
      "description": "Total encumbered for the order",
      "type": "number",
      "readonly": true
    },
    "totalExpended": {
      "description": "Total expended for the order",
      "type": "number",
      "readonly": true
    },
    "totalItems": {
      "description": "total number of items included in the purchase order",
      "type": "integer"
    },
    "vendor": {
      "description": "UUID of the vendorDetails record",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "workflowStatus": {
      "description": "the workflow status for this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "enum": [
        "Pending",
        "Open",
        "Closed"
      ],
      "default": "Pending"
    },
    "compositePoLines": {
      "description": "a list of completely de-referenced purchase order lines",
      "id": "compositePoLines",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "composite purchase order line with dereferenced/expanded orders fields",
        "properties": {
          "id": {
            "description": "UUID identifying this purchase order line",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "edition": {
            "description": "edition of the material",
            "type": "string"
          },
          "checkinItems": {
            "description": "if true this will toggle the Check-in workflow for details associated with this PO line",
            "type": "boolean",
            "default": false
          },
          "instanceId": {
            "description": "UUID of the instance record this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "agreementId": {
            "description": "UUID of the agreement this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "acquisitionMethod": {
            "description": "the acquisition method for this purchase order line",
            "type": "string",
            "enum": [
              "Approval Plan",
              "Demand Driven Acquisitions (DDA)",
              "Depository",
              "Evidence Based Acquisitions (EBA)",
              "Exchange",
              "Gift",
              "Purchase At Vendor System",
              "Purchase",
              "Technical"
            ]
          },
          "alerts": {
            "description": "alerts associated with this purchase order line",
            "id": "alerts",
            "type": "array",
            "items": {
              "description": "an alert record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "id": {
                  "description": "UUID of this alert record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "alert": {
                  "description": "the alert text",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "alert"
              ]
            }
          },
          "cancellationRestriction": {
            "description": "whether or not there are cancellation restrictions for this purchase order line",
            "type": "boolean"
          },
          "cancellationRestrictionNote": {
            "description": "free-form notes related to cancellation restrictions",
            "type": "string"
          },
          "claims": {
            "description": "claims associated with this purchase order line",
            "id": "claims",
            "type": "array",
            "items": {
              "description": "a claim record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "claimed": {
                  "description": "whether or not this purchase order line has been claimed",
                  "type": "boolean",
                  "default": false
                },
                "sent": {
                  "description": "date a claim was sent",
                  "type": "string",
                  "format": "date-time"
                },
                "grace": {
                  "description": "the number of days after the expected receipt date during which claims should not be processed",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "collection": {
            "description": "whether or not this purchase order line is for a collection",
            "type": "boolean"
          },
          "contributors": {
            "description": "list of contributors to the material",
            "id": "contributors",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "contributor to the material",
              "properties": {
                "contributor": {
                  "description": "the name of a contributor to the material",
                  "type": "string"
                },
                "contributorNameTypeId": {
                  "description": "UUID of the contributor type",
                  "type": "string",
                  "pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                }
              },
              "additionalProperties": false,
              "required": [
                "contributorNameTypeId"
              ]
            }
          },
          "cost": {
            "description": "cost details associated with this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "listUnitPrice": {
                "description": "The per-item list price for physical or resources of 'Other' order format",
                "type": "number"
              },
              "listUnitPriceElectronic": {
                "description": "The e-resource per-item list price",
                "type": "number"
              },
              "currency": {
                "description": "An ISO currency code",
                "type": "string"
              },
              "additionalCost": {
                "description": "Lump sum that is added to the total estimated price - not affected by discount",
                "type": "number"
              },
              "discount": {
                "description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
                "type": "number"
              },
              "discountType": {
                "description": "Percentage or amount discount type",
                "type": "string",
                "enum": [
                  "amount",
                  "percentage"
                ],
                "default": "percentage"
              },
              "exchangeRate": {
                "description": "Exchange rate",
                "type": "number"
              },
              "quantityPhysical": {
                "description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
                "type": "integer"
              },
              "quantityElectronic": {
                "description": "Quantity of electronic items in this purchase order line",
                "type": "integer"
              },
              "poLineEstimatedPrice": {
                "description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
                "type": "number"
              },
              "fyroAdjustmentAmount": {
                "description": "Adjustment amount if rollover was happen",
                "type": "number"
              }
            },
            "additionalProperties": false,
            "required": [
              "currency"
            ]
          },
          "description": {
            "description": "description of the material",
            "type": "string"
          },
          "details": {
            "description": "details about this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "receivingNote": {
                "description": "notes regarding receiving instructions",
                "type": "string"
              },
              "productIds": {
                "description": "a list of product identifiers",
                "id": "productIds",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Product identifier",
                  "type": "object",
                  "properties": {
                    "productId": {
                      "description": "The actual product identifier",
                      "type": "string"
                    },
                    "productIdType": {
                      "description": "The type of product identifier",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                    },
                    "qualifier": {
                      "description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "subscriptionFrom": {
                "description": "the start date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "subscriptionInterval": {
                "description": "the subscription interval in days",
                "type": "integer"
              },
              "subscriptionTo": {
                "description": "the end date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            },
            "additionalProperties": false
          },
          "donor": {
            "description": "the donor contributing to this purchase order line",
            "type": "string"
          },
          "eresource": {
            "description": "eresource-related details of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "activated": {
                "description": "whether or not this resource is activated",
                "type": "boolean",
                "default": false
              },
              "activationDue": {
                "description": "number of days until activation, from date of order placement",
                "type": "integer"
              },
              "createInventory": {
                "description": "Shows what inventory objects need to be created for electronic resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "trial": {
                "description": "whether or not this is a trial",
                "type": "boolean",
                "default": false
              },
              "expectedActivation": {
                "description": "expected date the resource will be activated",
                "type": "string",
                "format": "date-time"
              },
              "userLimit": {
                "description": "the concurrent user-limit",
                "type": "integer"
              },
              "accessProvider": {
                "description": "UUID of the access provider",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "license": {
                "description": "License record",
                "type": "object",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "code": {
                    "description": "license code",
                    "type": "string"
                  },
                  "description": {
                    "description": "license description",
                    "type": "string"
                  },
                  "reference": {
                    "description": "license reference",
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "resourceUrl": {
                "description": "Electronic resource can be access via this URL",
                "type": "string",
                "pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
              }
            },
            "additionalProperties": false
          },
          "fundDistribution": {
            "description": "the UUIDs of the fund distribution records for this purchase order line",
            "id": "fundDistribution",
            "type": "array",
            "items": {
              "description": "a fund distribution record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "code": {
                  "description": "the fund code",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[^:]+$"
                },
                "encumbrance": {
                  "description": "UUID of encumbrance record associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "fundId": {
                  "description": "UUID of the fund associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "expenseClassId": {
                  "description": "UUID of the expense class associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "distributionType": {
                  "description": "Percentage or amount type of the value property",
                  "type": "string",
                  "enum": [
                    "amount",
                    "percentage"
                  ],
                  "default": "percentage"
                },
                "value": {
                  "description": "The value of the cost to be applied to this fund",
                  "type": "number"
                }
              },
              "additionalProperties": false,
              "required": [
                "fundId",
                "distributionType",
                "value"
              ]
            }
          },
          "isPackage": {
            "description": "Indicates that this POL is for a package",
            "type": "boolean",
            "default": false
          },
          "locations": {
            "description": "a list of the location records for this purchase order line",
            "id": "locations",
            "type": "array",
            "items": {
              "description": "The location details",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "locationId": {
                  "description": "UUID of the (inventory) location record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "holdingId": {
                  "description": "Holding UUID associated with order line",
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "quantity": {
                  "description": "combined/total quanitity of physical and electronic items",
                  "type": "integer"
                },
                "quantityElectronic": {
                  "description": "quantity of electronic items",
                  "type": "integer"
                },
                "quantityPhysical": {
                  "description": "quantity of physical items",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "orderFormat": {
            "description": "The purchase order line format",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Electronic Resource",
              "P/E Mix",
              "Physical Resource",
              "Other"
            ]
          },
          "packagePoLineId": {
            "description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "paymentStatus": {
            "description": "The purchase order line payment status",
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Payment",
              "Cancelled",
              "Fully Paid",
              "Partially Paid",
              "Payment Not Required",
              "Pending",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "physical": {
            "description": "details of this purchase order line relating to physical materials",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "createInventory": {
                "description": "Shows what inventory objects need to be created for physical resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "materialSupplier": {
                "description": "UUID of the material supplier record",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "expectedReceiptDate": {
                "description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "receiptDue": {
                "description": "date item should be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "volumes": {
                "description": "list of volumes included to the physical material",
                "type": "array",
                "items": {
                  "description": "the identifier of volume",
                  "type": "string"
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "volumes"
            ]
          },
          "poLineDescription": {
            "description": "purchase order line description",
            "type": "string"
          },
          "poLineNumber": {
            "description": "A human readable number assigned to this PO line",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$",
            "readonly": true
          },
          "publicationDate": {
            "description": "date (year) of the material's publication",
            "type": "string"
          },
          "publisher": {
            "description": "publisher of the material",
            "type": "string"
          },
          "purchaseOrderId": {
            "description": "UUID of this parent purchase order",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "receiptDate": {
            "description": "date the purchase order line was received",
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "receiptStatus": {
            "description": "The purchase order line receipt status",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Receipt",
              "Cancelled",
              "Fully Received",
              "Partially Received",
              "Pending",
              "Receipt Not Required",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "reportingCodes": {
            "description": "a list of reporting codes associated with this purchase order line",
            "id": "reportingCodes",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "purchase order line reporting code",
              "properties": {
                "id": {
                  "description": "UUID of this reporting code record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "code": {
                  "description": "a reporting code",
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9]{4}[a-zA-Z0-9]*$"
                },
                "description": {
                  "description": "description of this reporting code",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "code"
              ]
            }
          },
          "requester": {
            "description": "who requested this purchase order line",
            "type": "string"
          },
          "rush": {
            "description": "whether or not this is a rush order",
            "type": "boolean"
          },
          "selector": {
            "description": "who selected this material",
            "type": "string"
          },
          "source": {
            "description": "the source of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "User",
              "API",
              "EDI",
              "MARC",
              "EBSCONET"
            ]
          },
          "tags": {
            "description": "arbitrary tags associated with this purchase order line",
            "id": "tags",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "tags",
            "properties": {
              "tagList": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "titleOrPackage": {
            "description": "title of the material",
            "type": "string"
          },
          "vendorDetail": {
            "description": "details related to the vendor of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "instructions": {
                "description": "special instructions for the vendor",
                "type": "string"
              },
              "noteFromVendor": {
                "description": "free-form notes from the vendor",
                "type": "string"
              },
              "vendorAccount": {
                "description": "the accound number on the vendor's end associated with this purchase order line",
                "type": "string"
              },
              "referenceNumbers": {
                "description": "Collection of reference number items",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Reference number item",
                  "type": "object",
                  "properties": {
                    "refNumber": {
                      "description": "a reference number for this purchase order line",
                      "type": "string"
                    },
                    "refNumberType": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "Vendor continuation reference number",
                        "Vendor order reference number",
                        "Vendor subscription reference number",
                        "Vendor internal number",
                        "Vendor title number"
                      ],
                      "javaEnums": [
                        "CONTINUATION_REF_NUMBER",
                        "ORDER_REF_NUMBER",
                        "SUBSCRIPTION_REF_NUMBER",
                        "INTERNAL_NUMBER",
                        "TITLE_NUMBER"
                      ]
                    },
                    "vendorDetailsSource": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "OrderLine",
                        "InvoiceLine"
                      ],
                      "javaEnums": [
                        "ORDER_LINE",
                        "INVOICE_LINE"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false,
            "required": [
              "instructions"
            ]
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "acquisitionMethod",
          "cost",
          "orderFormat",
          "source",
          "titleOrPackage"
        ]
      }
    },
    "acqUnitIds": {
      "description": "acquisition unit ids associated with this purchase order",
      "type": "array",
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "The UUID format string",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "tags": {
      "type": "object",
      "description": "arbitrary tags associated with this purchase order",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "tags.schema",
      "title": "tags",
      "properties": {
        "tagList": {
          "description": "List of tags",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    },
    "needReEncumber": {
      "description": "Indicates that order needs to be re-encumbered",
      "type": "boolean",
      "readonly": true
    }
  },
  "additionalProperties": false,
  "required": [
    "vendor",
    "orderType"
  ]
}

Example:

{
  "id": "0804ddec-6545-404a-b54d-a693f505681d",
  "approved": true,
  "approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
  "approvalDate": "2018-07-19T00:00:00.000Z",
  "assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
  "billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
  "closeReason": {
    "reason": "No longer available",
    "note": "Items are no longer available to purchase"
  },
  "dateOrdered": "2018-07-20T00:00:00.000+0000",
  "notes": [
    "ABCDEFGHIJKLMNO",
    "ABCDEFGHIJKLMNOPQRST",
    "ABCDEFGHIJKLMNOPQRSTUV"
  ],
  "orderType": "Ongoing",
  "poNumber": "A268758XYZ",
  "poNumberPrefix": "A",
  "poNumberSuffix": "XYZ",
  "reEncumber": false,
  "ongoing": {
    "interval": 182,
    "isSubscription": true,
    "manualRenewal": true,
    "reviewPeriod": 30,
    "renewalDate": "2019-04-09T00:00:00.000Z"
  },
  "shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
  "template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
  "totalEstimatedPrice": 75.47,
  "totalItems": 3,
  "totalEncumbered": 70.00,
  "totalExpended": 5.47,
  "vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
  "workflowStatus": "Open",
  "metadata": {
    "createdDate": "2018-07-19T00:00:00.000+0000",
    "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
  },
  "compositePoLines": [
    {
      "id": "8c778aee-97fa-4586-b131-3ea588a728e2",
      "edition": "First edition",
      "checkinItems": false,
      "instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
      "isPackage": false,
      "agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
      "acquisitionMethod": "Purchase At Vendor System",
      "alerts": [
        {
          "alert": "Receipt overdue",
          "id": "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
        }
      ],
      "cancellationRestriction": false,
      "cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
      "claims": [
        {
          "claimed": false,
          "sent": "2018-10-09T00:00:00.000Z",
          "grace": 30
        }
      ],
      "collection": false,
      "contributors": [
        {
          "contributor": "Ed Mashburn",
          "contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
        }
      ],
      "cost": {
        "additionalCost": 2.00,
        "currency": "USD",
        "discount": 2,
        "discountType": "percentage",
        "exchangeRate": 1.12,
        "listUnitPrice": 24.99,
        "listUnitPriceElectronic": 0.00,
        "quantityPhysical": 3,
        "quantityElectronic": 0,
        "poLineEstimatedPrice": 75.47
      },
      "description": "ABCDEFGH",
      "details": {
        "receivingNote": "ABCDEFGHIJKL",
        "productIds": [
          {
            "productId": "9780764354113",
            "productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
            "qualifier": "(paperback)"
          }
        ],
        "subscriptionFrom": "2018-10-09T00:00:00.000Z",
        "subscriptionInterval": 824,
        "subscriptionTo": "2020-10-09T00:00:00.000Z"
      },
      "donor": "ABCDEFGHIJKLM",
      "fundDistribution": [
        {
          "code": "HIST",
          "expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
          "fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
          "distributionType": "percentage",
          "value": 80.0,
          "encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
        },
        {
          "code": "GENRL",
          "fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
          "distributionType": "percentage",
          "value": 20.0,
          "encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
        }
      ],
      "locations": [
        {
          "locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
          "quantity": 2,
          "quantityElectronic": 0,
          "quantityPhysical": 2
        },
        {
          "locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
          "quantity": 1,
          "quantityElectronic": 0,
          "quantityPhysical": 1
        }
      ],
      "orderFormat": "Physical Resource",
      "paymentStatus": "Awaiting Payment",
      "physical": {
        "createInventory": "Instance, Holding, Item",
        "volumes": [
          "vol. 1"
        ],
        "materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
        "expectedReceiptDate": "2018-10-05T00:00:00.000Z",
        "receiptDue": "2018-10-10T00:00:00.000Z",
        "materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
      },
      "poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
      "poLineNumber": "ABC268758XYZ-03",
      "publicationDate": "2017",
      "publisher": "Schiffer Publishing",
      "purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
      "receiptDate": "2018-10-09T00:00:00.000Z",
      "receiptStatus": "Awaiting Receipt",
      "reportingCodes": [
        {
          "code": "CODE1",
          "id": "5926dcd7-85f5-4504-8283-712595ebc38b",
          "description": "ABCDEF"
        },
        {
          "code": "CODE2",
          "id": "fa316c04-8101-4e72-8aaf-01281bac718f",
          "description": "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        },
        {
          "code": "CODE3",
          "id": "ea68b696-3125-4940-bf91-1d128323473e",
          "description": "ABCDE"
        }
      ],
      "requester": "Leo Bulero",
      "rush": true,
      "selector": "ABCD",
      "source": "EDI",
      "titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
      "acqUnitIds": [
        "1895e539-8dac-441e-b1f5-aab62b3fde60",
        "47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
      ],
      "vendorDetail": {
        "instructions": "ABCDEFG",
        "noteFromVendor": "ABCDEFGHIKJKLMNOP",
        "referenceNumbers": [
          {
            "refNumber": "123456-78",
            "refNumberType": "Vendor title number",
            "vendorDetailsSource": "OrderLine"
          }
        ],
        "vendorAccount": "8910-10"
      },
      "tags": {
        "tagList": [
          "important"
        ]
      },
      "metadata": {
        "createdDate": "2018-07-19T00:00:00.000+0000",
        "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
      }
    }
  ]
}

Response 404

Item with a given ID not found

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"composite-order not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

PUT /orders/composite-orders/{id}

Update a purchase order with given {id}

  • if request does not include po_lines or includes "po_lines": [] or "po_lines": null - update just purchase order summary
  • if request includes array of "po_lines" - update PO lines as per request
PUT /orders/composite-orders/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of a purchase order

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "composite purchase order with dereferenced/expanded orders fields",
  "type": "object",
  "properties": {
    "id": {
      "description": "UUID of this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approved": {
      "description": "whether or not the purchase order has been approved",
      "type": "boolean",
      "default": false
    },
    "approvedById": {
      "description": "UUID of the user approving the order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "approvalDate": {
      "description": "Date and time when purchase order was approved",
      "type": "string",
      "format": "date-time"
    },
    "assignedTo": {
      "description": "UUID of the user this purchase order his assigned to",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "billTo": {
      "description": "UUID of the billing address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "closeReason": {
      "description": "Close reason for purchase order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "reason": {
          "description": "close reason description",
          "type": "string"
        },
        "note": {
          "description": "free-form notes related to closing reason",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "dateOrdered": {
      "description": "Date and time when purchase order was opened",
      "type": "string",
      "format": "date-time",
      "readonly": true
    },
    "manualPo": {
      "description": "if true, order cannot be sent automatically, e.g. via EDI",
      "type": "boolean"
    },
    "notes": {
      "description": "free-form notes associated with this purchase order",
      "id": "notes",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "poNumber": {
      "description": "A human readable ID assigned to this purchase order",
      "type": "string",
      "pattern": "^[a-zA-Z0-9]{1,22}$"
    },
    "poNumberPrefix": {
      "description": "Purchase order number prefix",
      "type": "string"
    },
    "poNumberSuffix": {
      "description": "Purchase order number suffix",
      "type": "string"
    },
    "orderType": {
      "description": "the purchase order type",
      "type": "string",
      "enum": [
        "One-Time",
        "Ongoing"
      ]
    },
    "reEncumber": {
      "description": "indicates this purchase order should be re-encumbered each fiscal year. Only applies to ongoing orders",
      "type": "boolean",
      "default": false
    },
    "ongoing": {
      "description": "Ongoing information associated with this order",
      "type": "object",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "properties": {
        "interval": {
          "description": "Renewal interval (in days)",
          "type": "integer"
        },
        "isSubscription": {
          "description": "Whether or not this is a subscription",
          "type": "boolean",
          "default": "false"
        },
        "manualRenewal": {
          "description": "Whether or not this is a manual renewal",
          "type": "boolean"
        },
        "notes": {
          "description": "Notes associated with the Ongoing order",
          "type": "string"
        },
        "reviewPeriod": {
          "description": "Time prior to renewal where changes can be made to subscription",
          "type": "integer"
        },
        "renewalDate": {
          "description": "The date this Ongoing PO's order lines were renewed",
          "type": "string",
          "format": "date-time"
        },
        "reviewDate": {
          "description": "Date when Order has to be reviewed",
          "type": "string",
          "format": "date-time"
        }
      },
      "additionalProperties": false
    },
    "shipTo": {
      "description": "UUID of the shipping address",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "template": {
      "description": "The ID of the order template used for this order. Applies to both PO and POL",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "totalEstimatedPrice": {
      "description": "total estimated price of this purchase order",
      "type": "number"
    },
    "totalEncumbered": {
      "description": "Total encumbered for the order",
      "type": "number",
      "readonly": true
    },
    "totalExpended": {
      "description": "Total expended for the order",
      "type": "number",
      "readonly": true
    },
    "totalItems": {
      "description": "total number of items included in the purchase order",
      "type": "integer"
    },
    "vendor": {
      "description": "UUID of the vendorDetails record",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
    },
    "workflowStatus": {
      "description": "the workflow status for this purchase order",
      "type": "string",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "enum": [
        "Pending",
        "Open",
        "Closed"
      ],
      "default": "Pending"
    },
    "compositePoLines": {
      "description": "a list of completely de-referenced purchase order lines",
      "id": "compositePoLines",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "composite purchase order line with dereferenced/expanded orders fields",
        "properties": {
          "id": {
            "description": "UUID identifying this purchase order line",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "edition": {
            "description": "edition of the material",
            "type": "string"
          },
          "checkinItems": {
            "description": "if true this will toggle the Check-in workflow for details associated with this PO line",
            "type": "boolean",
            "default": false
          },
          "instanceId": {
            "description": "UUID of the instance record this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "agreementId": {
            "description": "UUID of the agreement this purchase order line is related to",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "acquisitionMethod": {
            "description": "the acquisition method for this purchase order line",
            "type": "string",
            "enum": [
              "Approval Plan",
              "Demand Driven Acquisitions (DDA)",
              "Depository",
              "Evidence Based Acquisitions (EBA)",
              "Exchange",
              "Gift",
              "Purchase At Vendor System",
              "Purchase",
              "Technical"
            ]
          },
          "alerts": {
            "description": "alerts associated with this purchase order line",
            "id": "alerts",
            "type": "array",
            "items": {
              "description": "an alert record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "id": {
                  "description": "UUID of this alert record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "alert": {
                  "description": "the alert text",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "alert"
              ]
            }
          },
          "cancellationRestriction": {
            "description": "whether or not there are cancellation restrictions for this purchase order line",
            "type": "boolean"
          },
          "cancellationRestrictionNote": {
            "description": "free-form notes related to cancellation restrictions",
            "type": "string"
          },
          "claims": {
            "description": "claims associated with this purchase order line",
            "id": "claims",
            "type": "array",
            "items": {
              "description": "a claim record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "claimed": {
                  "description": "whether or not this purchase order line has been claimed",
                  "type": "boolean",
                  "default": false
                },
                "sent": {
                  "description": "date a claim was sent",
                  "type": "string",
                  "format": "date-time"
                },
                "grace": {
                  "description": "the number of days after the expected receipt date during which claims should not be processed",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "collection": {
            "description": "whether or not this purchase order line is for a collection",
            "type": "boolean"
          },
          "contributors": {
            "description": "list of contributors to the material",
            "id": "contributors",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "contributor to the material",
              "properties": {
                "contributor": {
                  "description": "the name of a contributor to the material",
                  "type": "string"
                },
                "contributorNameTypeId": {
                  "description": "UUID of the contributor type",
                  "type": "string",
                  "pattern": "^[a-f0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                }
              },
              "additionalProperties": false,
              "required": [
                "contributorNameTypeId"
              ]
            }
          },
          "cost": {
            "description": "cost details associated with this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "listUnitPrice": {
                "description": "The per-item list price for physical or resources of 'Other' order format",
                "type": "number"
              },
              "listUnitPriceElectronic": {
                "description": "The e-resource per-item list price",
                "type": "number"
              },
              "currency": {
                "description": "An ISO currency code",
                "type": "string"
              },
              "additionalCost": {
                "description": "Lump sum that is added to the total estimated price - not affected by discount",
                "type": "number"
              },
              "discount": {
                "description": "Percentage (0 to 100) or amount (positive number) that is subtracted from the list price time quantities calculation before additional cost",
                "type": "number"
              },
              "discountType": {
                "description": "Percentage or amount discount type",
                "type": "string",
                "enum": [
                  "amount",
                  "percentage"
                ],
                "default": "percentage"
              },
              "exchangeRate": {
                "description": "Exchange rate",
                "type": "number"
              },
              "quantityPhysical": {
                "description": "Quantity of physical items or resources of 'Other' order format in this purchase order line",
                "type": "integer"
              },
              "quantityElectronic": {
                "description": "Quantity of electronic items in this purchase order line",
                "type": "integer"
              },
              "poLineEstimatedPrice": {
                "description": "The calculated total estimated price for this purchase order line: list price time quantities minus discount amount plus additional cost",
                "type": "number"
              },
              "fyroAdjustmentAmount": {
                "description": "Adjustment amount if rollover was happen",
                "type": "number"
              }
            },
            "additionalProperties": false,
            "required": [
              "currency"
            ]
          },
          "description": {
            "description": "description of the material",
            "type": "string"
          },
          "details": {
            "description": "details about this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "receivingNote": {
                "description": "notes regarding receiving instructions",
                "type": "string"
              },
              "productIds": {
                "description": "a list of product identifiers",
                "id": "productIds",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Product identifier",
                  "type": "object",
                  "properties": {
                    "productId": {
                      "description": "The actual product identifier",
                      "type": "string"
                    },
                    "productIdType": {
                      "description": "The type of product identifier",
                      "$schema": "http://json-schema.org/draft-04/schema#",
                      "type": "string",
                      "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                    },
                    "qualifier": {
                      "description": "Information about the binding, format, volume numbers, part of a set, publisher, distributor, etc. which might be enclosed in parenthesis",
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "subscriptionFrom": {
                "description": "the start date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "subscriptionInterval": {
                "description": "the subscription interval in days",
                "type": "integer"
              },
              "subscriptionTo": {
                "description": "the end date of the subscription",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              }
            },
            "additionalProperties": false
          },
          "donor": {
            "description": "the donor contributing to this purchase order line",
            "type": "string"
          },
          "eresource": {
            "description": "eresource-related details of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "activated": {
                "description": "whether or not this resource is activated",
                "type": "boolean",
                "default": false
              },
              "activationDue": {
                "description": "number of days until activation, from date of order placement",
                "type": "integer"
              },
              "createInventory": {
                "description": "Shows what inventory objects need to be created for electronic resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "trial": {
                "description": "whether or not this is a trial",
                "type": "boolean",
                "default": false
              },
              "expectedActivation": {
                "description": "expected date the resource will be activated",
                "type": "string",
                "format": "date-time"
              },
              "userLimit": {
                "description": "the concurrent user-limit",
                "type": "integer"
              },
              "accessProvider": {
                "description": "UUID of the access provider",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "license": {
                "description": "License record",
                "type": "object",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "properties": {
                  "code": {
                    "description": "license code",
                    "type": "string"
                  },
                  "description": {
                    "description": "license description",
                    "type": "string"
                  },
                  "reference": {
                    "description": "license reference",
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "resourceUrl": {
                "description": "Electronic resource can be access via this URL",
                "type": "string",
                "pattern": "\\b((?:[a-z][\\w-]+:(?:/{1,3}|[a-z0-9%])|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?]))"
              }
            },
            "additionalProperties": false
          },
          "fundDistribution": {
            "description": "the UUIDs of the fund distribution records for this purchase order line",
            "id": "fundDistribution",
            "type": "array",
            "items": {
              "description": "a fund distribution record",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "code": {
                  "description": "the fund code",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[^:]+$"
                },
                "encumbrance": {
                  "description": "UUID of encumbrance record associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "fundId": {
                  "description": "UUID of the fund associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "expenseClassId": {
                  "description": "UUID of the expense class associated with this fund distribution",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "distributionType": {
                  "description": "Percentage or amount type of the value property",
                  "type": "string",
                  "enum": [
                    "amount",
                    "percentage"
                  ],
                  "default": "percentage"
                },
                "value": {
                  "description": "The value of the cost to be applied to this fund",
                  "type": "number"
                }
              },
              "additionalProperties": false,
              "required": [
                "fundId",
                "distributionType",
                "value"
              ]
            }
          },
          "isPackage": {
            "description": "Indicates that this POL is for a package",
            "type": "boolean",
            "default": false
          },
          "locations": {
            "description": "a list of the location records for this purchase order line",
            "id": "locations",
            "type": "array",
            "items": {
              "description": "The location details",
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "properties": {
                "locationId": {
                  "description": "UUID of the (inventory) location record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "holdingId": {
                  "description": "Holding UUID associated with order line",
                  "type": "string",
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "quantity": {
                  "description": "combined/total quanitity of physical and electronic items",
                  "type": "integer"
                },
                "quantityElectronic": {
                  "description": "quantity of electronic items",
                  "type": "integer"
                },
                "quantityPhysical": {
                  "description": "quantity of physical items",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            }
          },
          "orderFormat": {
            "description": "The purchase order line format",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Electronic Resource",
              "P/E Mix",
              "Physical Resource",
              "Other"
            ]
          },
          "packagePoLineId": {
            "description": "UUID referencing the poLine that represents the package that this POLs title belongs to",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "paymentStatus": {
            "description": "The purchase order line payment status",
            "type": "string",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Payment",
              "Cancelled",
              "Fully Paid",
              "Partially Paid",
              "Payment Not Required",
              "Pending",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "physical": {
            "description": "details of this purchase order line relating to physical materials",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "createInventory": {
                "description": "Shows what inventory objects need to be created for physical resource",
                "type": "string",
                "enum": [
                  "Instance, Holding, Item",
                  "Instance, Holding",
                  "Instance",
                  "None"
                ]
              },
              "materialType": {
                "description": "UUID of the material Type",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "materialSupplier": {
                "description": "UUID of the material supplier record",
                "type": "string",
                "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
              },
              "expectedReceiptDate": {
                "description": "vendor agreed date prior to the Receipt Due date item is expected to be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "receiptDue": {
                "description": "date item should be received by",
                "type": [
                  "string",
                  "null"
                ],
                "format": "date-time"
              },
              "volumes": {
                "description": "list of volumes included to the physical material",
                "type": "array",
                "items": {
                  "description": "the identifier of volume",
                  "type": "string"
                }
              }
            },
            "additionalProperties": false,
            "required": [
              "volumes"
            ]
          },
          "poLineDescription": {
            "description": "purchase order line description",
            "type": "string"
          },
          "poLineNumber": {
            "description": "A human readable number assigned to this PO line",
            "type": "string",
            "pattern": "^[a-zA-Z0-9]{1,22}-[0-9]{1,3}$",
            "readonly": true
          },
          "publicationDate": {
            "description": "date (year) of the material's publication",
            "type": "string"
          },
          "publisher": {
            "description": "publisher of the material",
            "type": "string"
          },
          "purchaseOrderId": {
            "description": "UUID of this parent purchase order",
            "type": "string",
            "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
          },
          "receiptDate": {
            "description": "date the purchase order line was received",
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "receiptStatus": {
            "description": "The purchase order line receipt status",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "Awaiting Receipt",
              "Cancelled",
              "Fully Received",
              "Partially Received",
              "Pending",
              "Receipt Not Required",
              "Ongoing"
            ],
            "default": "Pending"
          },
          "reportingCodes": {
            "description": "a list of reporting codes associated with this purchase order line",
            "id": "reportingCodes",
            "type": "array",
            "items": {
              "type": "object",
              "$schema": "http://json-schema.org/draft-04/schema#",
              "description": "purchase order line reporting code",
              "properties": {
                "id": {
                  "description": "UUID of this reporting code record",
                  "type": "string",
                  "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                },
                "code": {
                  "description": "a reporting code",
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9]{4}[a-zA-Z0-9]*$"
                },
                "description": {
                  "description": "description of this reporting code",
                  "type": "string"
                }
              },
              "additionalProperties": false,
              "required": [
                "code"
              ]
            }
          },
          "requester": {
            "description": "who requested this purchase order line",
            "type": "string"
          },
          "rush": {
            "description": "whether or not this is a rush order",
            "type": "boolean"
          },
          "selector": {
            "description": "who selected this material",
            "type": "string"
          },
          "source": {
            "description": "the source of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "enum": [
              "User",
              "API",
              "EDI",
              "MARC",
              "EBSCONET"
            ]
          },
          "tags": {
            "description": "arbitrary tags associated with this purchase order line",
            "id": "tags",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "tags",
            "properties": {
              "tagList": {
                "description": "List of tags",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "titleOrPackage": {
            "description": "title of the material",
            "type": "string"
          },
          "vendorDetail": {
            "description": "details related to the vendor of this purchase order line",
            "type": "object",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "properties": {
              "instructions": {
                "description": "special instructions for the vendor",
                "type": "string"
              },
              "noteFromVendor": {
                "description": "free-form notes from the vendor",
                "type": "string"
              },
              "vendorAccount": {
                "description": "the accound number on the vendor's end associated with this purchase order line",
                "type": "string"
              },
              "referenceNumbers": {
                "description": "Collection of reference number items",
                "$schema": "http://json-schema.org/draft-04/schema#",
                "type": "array",
                "items": {
                  "$schema": "http://json-schema.org/draft-04/schema#",
                  "description": "Reference number item",
                  "type": "object",
                  "properties": {
                    "refNumber": {
                      "description": "a reference number for this purchase order line",
                      "type": "string"
                    },
                    "refNumberType": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "Vendor continuation reference number",
                        "Vendor order reference number",
                        "Vendor subscription reference number",
                        "Vendor internal number",
                        "Vendor title number"
                      ],
                      "javaEnums": [
                        "CONTINUATION_REF_NUMBER",
                        "ORDER_REF_NUMBER",
                        "SUBSCRIPTION_REF_NUMBER",
                        "INTERNAL_NUMBER",
                        "TITLE_NUMBER"
                      ]
                    },
                    "vendorDetailsSource": {
                      "description": "the reference number type",
                      "type": "string",
                      "enum": [
                        "OrderLine",
                        "InvoiceLine"
                      ],
                      "javaEnums": [
                        "ORDER_LINE",
                        "INVOICE_LINE"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false,
            "required": [
              "instructions"
            ]
          },
          "metadata": {
            "type": "object",
            "readonly": true,
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "metadata.schema",
            "title": "Metadata Schema",
            "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
            "properties": {
              "createdDate": {
                "description": "Date and time when the record was created",
                "type": "string",
                "format": "date-time"
              },
              "createdByUserId": {
                "description": "ID of the user who created the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "createdByUsername": {
                "description": "Username of the user who created the record (when available)",
                "type": "string"
              },
              "updatedDate": {
                "description": "Date and time when the record was last updated",
                "type": "string",
                "format": "date-time"
              },
              "updatedByUserId": {
                "description": "ID of the user who last updated the record (when available)",
                "type": "string",
                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
              },
              "updatedByUsername": {
                "description": "Username of the user who last updated the record (when available)",
                "type": "string"
              }
            },
            "additionalProperties": false,
            "required": [
              "createdDate"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "acquisitionMethod",
          "cost",
          "orderFormat",
          "source",
          "titleOrPackage"
        ]
      }
    },
    "acqUnitIds": {
      "description": "acquisition unit ids associated with this purchase order",
      "type": "array",
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "description": "The UUID format string",
        "type": "string",
        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
      }
    },
    "tags": {
      "type": "object",
      "description": "arbitrary tags associated with this purchase order",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "tags.schema",
      "title": "tags",
      "properties": {
        "tagList": {
          "description": "List of tags",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "metadata": {
      "type": "object",
      "readonly": true,
      "$schema": "http://json-schema.org/draft-04/schema#",
      "id": "metadata.schema",
      "title": "Metadata Schema",
      "description": "Metadata about creation and changes to records, provided by the server (client should not provide)",
      "properties": {
        "createdDate": {
          "description": "Date and time when the record was created",
          "type": "string",
          "format": "date-time"
        },
        "createdByUserId": {
          "description": "ID of the user who created the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "createdByUsername": {
          "description": "Username of the user who created the record (when available)",
          "type": "string"
        },
        "updatedDate": {
          "description": "Date and time when the record was last updated",
          "type": "string",
          "format": "date-time"
        },
        "updatedByUserId": {
          "description": "ID of the user who last updated the record (when available)",
          "type": "string",
          "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
        },
        "updatedByUsername": {
          "description": "Username of the user who last updated the record (when available)",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "createdDate"
      ]
    },
    "needReEncumber": {
      "description": "Indicates that order needs to be re-encumbered",
      "type": "boolean",
      "readonly": true
    }
  },
  "additionalProperties": false,
  "required": [
    "vendor",
    "orderType"
  ]
}

Example:

{
  "id": "0804ddec-6545-404a-b54d-a693f505681d",
  "approved": true,
  "approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
  "approvalDate": "2018-07-19T00:00:00.000Z",
  "assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
  "billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
  "closeReason": {
    "reason": "No longer available",
    "note": "Items are no longer available to purchase"
  },
  "dateOrdered": "2018-07-20T00:00:00.000+0000",
  "notes": [
    "ABCDEFGHIJKLMNO",
    "ABCDEFGHIJKLMNOPQRST",
    "ABCDEFGHIJKLMNOPQRSTUV"
  ],
  "orderType": "Ongoing",
  "poNumber": "A268758XYZ",
  "poNumberPrefix": "A",
  "poNumberSuffix": "XYZ",
  "reEncumber": false,
  "ongoing": {
    "interval": 182,
    "isSubscription": true,
    "manualRenewal": true,
    "reviewPeriod": 30,
    "renewalDate": "2019-04-09T00:00:00.000Z"
  },
  "shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
  "template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
  "totalEstimatedPrice": 75.47,
  "totalItems": 3,
  "totalEncumbered": 70.00,
  "totalExpended": 5.47,
  "vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
  "workflowStatus": "Open",
  "metadata": {
    "createdDate": "2018-07-19T00:00:00.000+0000",
    "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
  },
  "compositePoLines": [
    {
      "id": "8c778aee-97fa-4586-b131-3ea588a728e2",
      "edition": "First edition",
      "checkinItems": false,
      "instanceId": "8343e5a0-fed8-11e8-8eb2-f2801f1b9fd1",
      "isPackage": false,
      "agreementId": "bdc75fea-fed8-11e8-8eb2-f2801f1b9fd1",
      "acquisitionMethod": "Purchase At Vendor System",
      "alerts": [
        {
          "alert": "Receipt overdue",
          "id": "9a665b22-9fe5-4c95-b4ee-837a5433c95d"
        }
      ],
      "cancellationRestriction": false,
      "cancellationRestrictionNote": "ABCDEFGHIJKLMNOPQRSTUVW",
      "claims": [
        {
          "claimed": false,
          "sent": "2018-10-09T00:00:00.000Z",
          "grace": 30
        }
      ],
      "collection": false,
      "contributors": [
        {
          "contributor": "Ed Mashburn",
          "contributorNameTypeId": "fbdd42a8-e47d-4694-b448-cc571d1b44c3"
        }
      ],
      "cost": {
        "additionalCost": 2.00,
        "currency": "USD",
        "discount": 2,
        "discountType": "percentage",
        "exchangeRate": 1.12,
        "listUnitPrice": 24.99,
        "listUnitPriceElectronic": 0.00,
        "quantityPhysical": 3,
        "quantityElectronic": 0,
        "poLineEstimatedPrice": 75.47
      },
      "description": "ABCDEFGH",
      "details": {
        "receivingNote": "ABCDEFGHIJKL",
        "productIds": [
          {
            "productId": "9780764354113",
            "productIdType": "8261054f-be78-422d-bd51-4ed9f33c3422",
            "qualifier": "(paperback)"
          }
        ],
        "subscriptionFrom": "2018-10-09T00:00:00.000Z",
        "subscriptionInterval": 824,
        "subscriptionTo": "2020-10-09T00:00:00.000Z"
      },
      "donor": "ABCDEFGHIJKLM",
      "fundDistribution": [
        {
          "code": "HIST",
          "expenseClassId" : "5b5ebe3a-cf8b-4f16-a880-46873ef21388",
          "fundId": "63157e96-0693-426d-b0df-948bacdfdb08",
          "distributionType": "percentage",
          "value": 80.0,
          "encumbrance": "eb506834-6c70-4239-8d1a-6414a5b08ac3"
        },
        {
          "code": "GENRL",
          "fundId": "3652829d-a625-4c84-b297-9bd9955d6bc9",
          "distributionType": "percentage",
          "value": 20.0,
          "encumbrance": "0466cb77-0344-43c6-85eb-0a64aa2934e5"
        }
      ],
      "locations": [
        {
          "locationId": "b241764c-1466-4e1d-a028-1a3684a5da87",
          "quantity": 2,
          "quantityElectronic": 0,
          "quantityPhysical": 2
        },
        {
          "locationId": "fcd64ce1-6995-48f0-840e-89ffa2288371",
          "quantity": 1,
          "quantityElectronic": 0,
          "quantityPhysical": 1
        }
      ],
      "orderFormat": "Physical Resource",
      "paymentStatus": "Awaiting Payment",
      "physical": {
        "createInventory": "Instance, Holding, Item",
        "volumes": [
          "vol. 1"
        ],
        "materialSupplier": "73d14bc5-d131-48c6-b380-f8e62f63c8b6",
        "expectedReceiptDate": "2018-10-05T00:00:00.000Z",
        "receiptDue": "2018-10-10T00:00:00.000Z",
        "materialType": "f7e72403-2a13-43a4-a069-aaabe6c9dea8"
      },
      "poLineDescription": "ABCDEFGHIJKLMNOPQRSTUVWXY",
      "poLineNumber": "ABC268758XYZ-03",
      "publicationDate": "2017",
      "publisher": "Schiffer Publishing",
      "purchaseOrderId": "d79b0bcc-DcAD-1E4E-Abb7-DbFcaD5BB3bb",
      "receiptDate": "2018-10-09T00:00:00.000Z",
      "receiptStatus": "Awaiting Receipt",
      "reportingCodes": [
        {
          "code": "CODE1",
          "id": "5926dcd7-85f5-4504-8283-712595ebc38b",
          "description": "ABCDEF"
        },
        {
          "code": "CODE2",
          "id": "fa316c04-8101-4e72-8aaf-01281bac718f",
          "description": "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        },
        {
          "code": "CODE3",
          "id": "ea68b696-3125-4940-bf91-1d128323473e",
          "description": "ABCDE"
        }
      ],
      "requester": "Leo Bulero",
      "rush": true,
      "selector": "ABCD",
      "source": "EDI",
      "titleOrPackage": "Kayak Fishing in the Northern Gulf Coast",
      "acqUnitIds": [
        "1895e539-8dac-441e-b1f5-aab62b3fde60",
        "47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
      ],
      "vendorDetail": {
        "instructions": "ABCDEFG",
        "noteFromVendor": "ABCDEFGHIKJKLMNOP",
        "referenceNumbers": [
          {
            "refNumber": "123456-78",
            "refNumberType": "Vendor title number",
            "vendorDetailsSource": "OrderLine"
          }
        ],
        "vendorAccount": "8910-10"
      },
      "tags": {
        "tagList": [
          "important"
        ]
      },
      "metadata": {
        "createdDate": "2018-07-19T00:00:00.000+0000",
        "createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
      }
    }
  ]
}

Response 204

Item successfully updated

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"unable to update composite-order -- malformed JSON at 13:4"

Response 404

Item with a given ID not found

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"composite-order not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

internal server error, contact administrator

DELETE /orders/composite-orders/{id}

Delete a purchase order with given {id}

DELETE /orders/composite-orders/{id}
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of a purchase order

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Item deleted successfully

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"unable to delete composite-order -- constraint violation"

Response 404

Item with a given ID not found

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"composite-order not found"

Response 422

Validation errors

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "errors.schema",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$schema": "http://json-schema.org/draft-04/schema#",
        "id": "error.schema",
        "description": "An error",
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message text"
          },
          "type": {
            "type": "string",
            "description": "Error message type"
          },
          "code": {
            "type": "string",
            "description": "Error message code"
          },
          "parameters": {
            "description": "Error message parameters",
            "$schema": "http://json-schema.org/draft-04/schema#",
            "id": "parameters.schema",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "message"
        ]
      }
    },
    "total_records": {
      "description": "Total number of errors",
      "type": "integer"
    }
  }
}

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator

POST /orders/composite-orders/{id}/re-encumber

POST /orders/composite-orders/{id}/re-encumber
URI Parameters
  • id: required (string - pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$)

    The UUID of a purchase order

Query Parameters
  • lang: (string - default: en - pattern: [a-zA-Z]{2})

    Requested language. Optional. [lang=en]

Response 204

Re-encumber completed successfully

Response 400

Bad request, e.g. malformed request body or query parameter. Details of the error (e.g. name of the parameter or line/character number with malformed data) provided in the response.

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"unable to add <<resourcePathName|!singularize>> -- malformed JSON at 13:3"

Response 404

Item with a given ID not found

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

"<<resourcePathName|!singularize>> not found"

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: application/json

Type: any

Example:

{
  "errors": [
    {
      "message": "may not be null",
      "type": "1",
      "code": "-1",
      "parameters": [
        {
          "key": "moduleTo",
          "value": "null"
        }
      ]
    }
  ]
}

Media type: text/plain

Type: any

Example:

Internal server error, contact administrator