http://github.com/folio-org/mod-orders-storage
This module implements the CRUD interface. This API is intended for internal use only. Please use the /orders/composite-orders API provided by mod-orders instead.
Collection of purchase-order items.
Get list of purchase orders
GET /orders-storage/purchase-orders
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.
with valid searchable fields: for example code
Example:
(username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
["code", "MEDGRANT", "="]
How to calculate the totalRecords property. "exact" for the correct number, "estimated" for an estimation, "auto" to automatically select "exact" or "estimated", "none" for suppressing the totalRecords property. For details see https://github.com/folio-org/raml-module-builder#estimated-totalrecords
Example:
none
Skip over a number of elements by specifying an offset value for the query
Example:
0
Limit the number of elements returned in the response
Example:
10
Returns a list of purchase-order items
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",
"javaName": "PurchaseOrder",
"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",
"$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}$"
},
"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",
"$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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$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}$"
},
"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
},
"openedById": {
"description": "UUID of the user opening the 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}$"
},
"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",
"default": false
},
"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",
"$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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$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}$"
},
"vendor": {
"description": "UUID of the vendor record",
"$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}$"
},
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"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
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"fiscalYearId": {
"$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}$"
},
"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"
],
"customFields": {
"membership": "opt_0"
},
"metadata": {
"createdDate": "2018-07-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
],
"totalRecords": 1
}
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.
Media type: text/plain
Type: any
Example:
unable to list purchase-orders -- malformed parameter 'query', syntax error at column 6
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to list purchase-orders -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Create a new purchase-order item.
POST /orders-storage/purchase-orders
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order",
"type": "object",
"javaName": "PurchaseOrder",
"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",
"$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}$"
},
"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",
"$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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$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}$"
},
"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
},
"openedById": {
"description": "UUID of the user opening the 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}$"
},
"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",
"default": false
},
"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",
"$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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$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}$"
},
"vendor": {
"description": "UUID of the vendor record",
"$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}$"
},
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"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
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"fiscalYearId": {
"$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}$"
},
"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
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-08-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "Shipping delay",
"note": "Two years is too long for shipping of 'Calendar for Year 2017'"
},
"openedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"dateOrdered": "2018-08-20T00:00:00.000+0000",
"manualPo": false,
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "AB268758XYZ",
"poNumberPrefix": "AB",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"notes" : "Some note",
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z",
"reviewDate" : "2019-03-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Closed",
"tags": {
"tagList": [
"important"
]
},
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"nextPolNumber": 1,
"customFields": {
"membership": "opt_0"
},
"fiscalYearId": "43aba0df-70e4-435e-8463-d8f730d19e0b",
"metadata": {
"createdDate": "2018-08-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
Returns a newly created item, with server-controlled fields like 'id' populated
URI to the created purchase-order item
Media type: application/json
Type: any
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-08-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "Shipping delay",
"note": "Two years is too long for shipping of 'Calendar for Year 2017'"
},
"openedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"dateOrdered": "2018-08-20T00:00:00.000+0000",
"manualPo": false,
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "AB268758XYZ",
"poNumberPrefix": "AB",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"notes" : "Some note",
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z",
"reviewDate" : "2019-03-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Closed",
"tags": {
"tagList": [
"important"
]
},
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"nextPolNumber": 1,
"customFields": {
"membership": "opt_0"
},
"fiscalYearId": "43aba0df-70e4-435e-8463-d8f730d19e0b",
"metadata": {
"createdDate": "2018-08-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
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.
Media type: text/plain
Type: any
Example:
"unable to add purchase-order -- malformed JSON at 13:3"
Not authorized to perform requested action
Media type: text/plain
Type: any
Example:
unable to create purchase-orders -- unauthorized
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Retrieve purchase-order item with given {purchase-orderId}
GET /orders-storage/purchase-orders/{id}
The UUID of a Purchase Order
Returns item with a given ID
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order",
"type": "object",
"javaName": "PurchaseOrder",
"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",
"$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}$"
},
"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",
"$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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$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}$"
},
"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
},
"openedById": {
"description": "UUID of the user opening the 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}$"
},
"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",
"default": false
},
"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",
"$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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$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}$"
},
"vendor": {
"description": "UUID of the vendor record",
"$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}$"
},
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"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
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"fiscalYearId": {
"$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}$"
},
"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
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-08-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "Shipping delay",
"note": "Two years is too long for shipping of 'Calendar for Year 2017'"
},
"openedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"dateOrdered": "2018-08-20T00:00:00.000+0000",
"manualPo": false,
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "AB268758XYZ",
"poNumberPrefix": "AB",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"notes" : "Some note",
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z",
"reviewDate" : "2019-03-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Closed",
"tags": {
"tagList": [
"important"
]
},
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"nextPolNumber": 1,
"customFields": {
"membership": "opt_0"
},
"fiscalYearId": "43aba0df-70e4-435e-8463-d8f730d19e0b",
"metadata": {
"createdDate": "2018-08-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"purchase-order not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator
Delete purchase-order item with given {purchase-orderId}
DELETE /orders-storage/purchase-orders/{id}
The UUID of a Purchase Order
Item deleted successfully
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.
Media type: text/plain
Type: any
Example:
"unable to delete purchase-order -- constraint violation"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"purchase-order not found"
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
Internal server error, contact administrator
Update purchase-order item with given {purchase-orderId}
PUT /orders-storage/purchase-orders/{id}
The UUID of a Purchase Order
Media type: application/json
Type: json
Content:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "purchase order",
"type": "object",
"javaName": "PurchaseOrder",
"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",
"$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}$"
},
"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",
"$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}$"
},
"billTo": {
"description": "UUID of the billing address",
"$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}$"
},
"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
},
"openedById": {
"description": "UUID of the user opening the 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}$"
},
"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",
"default": false
},
"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",
"$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}$"
},
"template": {
"description": "The ID of the order template used for this order. Applies to both PO and POL",
"$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}$"
},
"vendor": {
"description": "UUID of the vendor record",
"$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}$"
},
"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}$"
}
},
"nextPolNumber": {
"description": "Number that will be used next time a purchase order line is created",
"type": "integer",
"readonly": true
},
"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
},
"customFields": {
"description": "Object that contains custom field",
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"javaName": "CustomFields",
"additionalProperties": true
},
"fiscalYearId": {
"$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}$"
},
"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
}
Example:
{
"id": "0804ddec-6545-404a-b54d-a693f505681d",
"approved": true,
"approvedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"approvalDate": "2018-08-19T00:00:00.000Z",
"assignedTo": "ab18897b-0e40-4f31-896b-9c9adc979a88",
"billTo": "1df71bab-818c-46ea-988b-a23676d91ae6",
"closeReason": {
"reason": "Shipping delay",
"note": "Two years is too long for shipping of 'Calendar for Year 2017'"
},
"openedById": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1",
"dateOrdered": "2018-08-20T00:00:00.000+0000",
"manualPo": false,
"notes": [
"ABCDEFGHIJKLMNO",
"ABCDEFGHIJKLMNOPQRST",
"ABCDEFGHIJKLMNOPQRSTUV"
],
"orderType": "Ongoing",
"poNumber": "AB268758XYZ",
"poNumberPrefix": "AB",
"poNumberSuffix": "XYZ",
"reEncumber": false,
"ongoing": {
"interval": 182,
"isSubscription": true,
"manualRenewal": true,
"notes" : "Some note",
"reviewPeriod": 30,
"renewalDate": "2019-04-09T00:00:00.000Z",
"reviewDate" : "2019-03-09T00:00:00.000Z"
},
"shipTo": "0830111e-dcf1-4897-9eee-dcd1ab44adce",
"template": "678323d2-3d86-4a69-8674-bbd4f8eecb33",
"vendor": "168f8a86-d26c-406e-813f-c7527f241ac3",
"workflowStatus": "Closed",
"tags": {
"tagList": [
"important"
]
},
"acqUnitIds": [
"1895e539-8dac-441e-b1f5-aab62b3fde60",
"47f504bd-0c1b-498e-a2ae-e2f0a0cea273"
],
"nextPolNumber": 1,
"customFields": {
"membership": "opt_0"
},
"fiscalYearId": "43aba0df-70e4-435e-8463-d8f730d19e0b",
"metadata": {
"createdDate": "2018-08-19T00:00:00.000+0000",
"createdByUserId": "28d1057c-d137-11e8-a8d5-f2801f1b9fd1"
}
}
Item successfully updated
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.
Media type: text/plain
Type: any
Example:
"unable to update purchase-order -- malformed JSON at 13:4"
Item with a given ID not found
Media type: text/plain
Type: any
Example:
"purchase-order not found"
Optimistic locking version conflict
Media type: text/plain
Type: any
Example:
version conflict
Internal server error, e.g. due to misconfiguration
Media type: text/plain
Type: any
Example:
internal server error, contact administrator