POST /v1/purchase-order — Create Purchase Order
Overview
This endpoint allows creating a Purchase Order with a header and optional detail lines in a single request.
It is designed for creating a complete Purchase Order including header information and associated line items.
Optional processing such as selection, summary population, and posting can be triggered based on input flags.
Notes
Authentication and authorization are required.
A valid header is required; detail lines are optional.
The header is inserted first to generate system values such as PO number, which are then used for detail lines.
System-generated fields (UUID, ORASEQ, PO number, release number, line number) are automatically assigned and must not be provided.
If
pomstSelectFlagis set toY, thenpomstPostDateis required.Auto-approval must be enabled for selection and posting to succeed.
Each detail line is validated individually.
UI Navigation
Asset Management → Purchase Orders → Purchase Order Entry
Finders
Not applicable.
This is a POST (create) endpoint and does not support finders.
Path Parameters
Not applicable.
This endpoint does not use path parameters.
Query Standards
Not applicable.
This endpoint does not support finder, limit, offset, or orderBy.
Finders with Example
Not applicable.
Finders are not supported for POST operations.
Attributes
The request body must contain a header object and an optional lines array.
The header object represents the Purchase Order master record.
Each object in the lines array represents one detail line to be created.
Only attributes marked as Mandatory = True are required during creation.
Header Attributes (PoMasterItem)
| CMiC UI Fieldname | Object | Name | Description | Type | Data Length | Example | Mandatory |
|---|---|---|---|---|---|---|---|
| PomstCompCode | header | pomstCompCode | Company code for the Purchase Order | String | 8 | CL02 | True |
| PomstVenCode | header | pomstVenCode | Vendor code associated with the Purchase Order | String | 8 | VEN001 | True |
| PomstDeptCode | header | pomstDeptCode | Department code for the Purchase Order | String | 6 | 00 | True |
| PomstTypeCode | header | pomstTypeCode | Purchase Order type code | String | 4 | STD | True |
| PomstExptdDate | header | pomstExptdDate | Expected delivery date | Date | N/A | 2026-06-01 | False |
| PomstOrdDate | header | pomstOrdDate | Order date | Date | N/A | 2026-05-10 | False |
| PomstStatCode | header | pomstStatCode | Status code of the Purchase Order | String | 4 | OPEN | False |
| PomstTermCode | header | pomstTermCode | Payment terms code | String | 4 | NET30 | False |
| PomstCurrCode | header | pomstCurrCode | Currency code | String | 4 | CAD | False |
| PomstFobCode | header | pomstFobCode | FOB (Free On Board) code | String | 4 | DEST | False |
| PomstBuyCode | header | pomstBuyCode | Buyer code | String | 8 | BUY01 | False |
| PomstAddCode | header | pomstAddCode | Ship-to address code | String | 8 | ADD01 | False |
| PomstShplneCode | header | pomstShplneCode | Shipping line code | String | 8 | SHP01 | False |
| PomstShpmetCode | header | pomstShpmetCode | Shipment method code | String | 8 | TRUCK | False |
| PomstTxt1Code | header | pomstTxt1Code | Text code 1 | String | 8 | TXT1 | False |
| PomstTxt2Code | header | pomstTxt2Code | Text code 2 | String | 8 | TXT2 | False |
| PomstShpinstDesc | header | pomstShpinstDesc | Shipping instructions description | String | 255 | Handle with care | False |
| PomstDesc1 | header | pomstDesc1 | Description line 1 | String | 255 | Office supplies order | False |
| PomstDesc2 | header | pomstDesc2 | Description line 2 | String | 255 | Q2 2026 | False |
| PomstReqCode | header | pomstReqCode | Requisition code | String | 8 | REQ001 | False |
| PomstWipAccCode | header | pomstWipAccCode | WIP account code | String | 20 | WIP01 | False |
| PomstWipDeptCode | header | pomstWipDeptCode | WIP department code | String | 6 | WIP | False |
| PomstShipinstTxt1Code | header | pomstShipinstTxt1Code | Shipping instruction text code 1 | String | 8 | SI1 | False |
| PomstShipinstTxt2Code | header | pomstShipinstTxt2Code | Shipping instruction text code 2 | String | 8 | SI2 | False |
| PomstShipinstTxt3Code | header | pomstShipinstTxt3Code | Shipping instruction text code 3 | String | 8 | SI3 | False |
| PomstShipinstTxt4Code | header | pomstShipinstTxt4Code | Shipping instruction text code 4 | String | 8 | SI4 | False |
| PomstShipinstTxt5Code | header | pomstShipinstTxt5Code | Shipping instruction text code 5 | String | 8 | SI5 | False |
| PomstBilltoAddCode | header | pomstBilltoAddCode | Bill-to address code | String | 8 | BILL01 | False |
| PomstReqReason | header | pomstReqReason | Requisition reason | String | 255 | Project requirement | False |
| PomstVendOrderAddCode | header | pomstVendOrderAddCode | Vendor order address code | String | 8 | VORD01 | False |
| PomstComplianceFlag | header | pomstComplianceFlag | Compliance flag (Y/N) | String | 1 | Y | False |
| PomstActionCode | header | pomstActionCode | Action code | String | 4 | APPR | False |
| PomstPrintStatus | header | pomstPrintStatus | Print status | String | 4 | N | False |
| PomstJobCompCode | header | pomstJobCompCode | Job company code | String | 8 | CL02 | False |
| PomstJobCode | header | pomstJobCode | Job code | String | 12 | JOB001 | False |
| PomstContactCode | header | pomstContactCode | Contact code | String | 8 | CON01 | False |
| PomstHoldPaymentFlag | header | pomstHoldPaymentFlag | Hold payment flag (Y/N) | String | 1 | N | False |
| PomstHoldPaymentDays | header | pomstHoldPaymentDays | Number of days to hold payment | Number | 6 | 30 | False |
| PomstAddCompCode | header | pomstAddCompCode | Address company code | String | 8 | CL02 | False |
| PomstSuspDeptCode | header | pomstSuspDeptCode | Suspense department code | String | 6 | SUSP | False |
| PomstPorgrCode | header | pomstPorgrCode | Purchase Order group code | String | 8 | GRP01 | False |
| PomstDefaultRecCode | header | pomstDefaultRecCode | Default receiving code | String | 8 | REC01 | False |
| PomstRoutCompCode | header | pomstRoutCompCode | Routing company code | String | 8 | CL02 | False |
| PomstRoutJobCode | header | pomstRoutJobCode | Routing job code | String | 12 | RJOB01 | False |
| PomstDistTypeCode | header | pomstDistTypeCode | Distribution type code | String | 4 | STD | False |
| PomstUserField1 | header | pomstUserField1 | User-defined field 1 | String | 30 | Custom1 | False |
| PomstUserField2 | header | pomstUserField2 | User-defined field 2 | String | 30 | Custom2 | False |
| PomstUserField3 | header | pomstUserField3 | User-defined field 3 | String | 30 | Custom3 | False |
| PomstAdvPayAmt | header | pomstAdvPayAmt | Advance payment amount | Number | 14,2 | 5000.00 | False |
| PomstAdvPayPct | header | pomstAdvPayPct | Advance payment percentage | Number | 6,2 | 10.00 | False |
| PomstAdvPayMultiFlag | header | pomstAdvPayMultiFlag | Allow multiple advance payments (Y/N) | String | 1 | N | False |
| PomstSelectFlag | header | pomstSelectFlag | Select record for posting flag (Y/N). Processing-only, not stored. | String | 1 | N | False |
| PomstPopulateSummary | header | pomstPopulateSummary | Populate summary flag (Y/N). Processing-only, not stored. | String | 1 | N | False |
| PomstPostDate | header | pomstPostDate | Post date. Required when pomstSelectFlag = Y. Processing-only, not stored. | String | 10 | 2026-05-10 | Conditional |
| PomstNum | header | pomstNum | Purchase Order number | String | 10 | System generated | False |
| PomstBchNum | header | pomstBchNum | Batch number | Number | 10 | System generated | False |
| PomstReleaseNum | header | pomstReleaseNum | Release number | Number | 6 | System generated | False |
| PomstObjectOraseq | header | pomstObjectOraseq | Internal Oracle sequence number | Number | 18 | System generated | False |
| PomstVUuid | header | pomstVUuid | Virtual unique identifier generated by the system | String | 64 | System generated | False |
| PomstIuCreateDate | header | pomstIuCreateDate | Date and time when the record was created | Timestamp | N/A | System generated | False |
| PomstIuCreateUser | header | pomstIuCreateUser | User who created the record | String | 30 | System generated | False |
| PomstIuUpdateDate | header | pomstIuUpdateDate | Date and time of last update | Timestamp | N/A | System generated | False |
| PomstIuUpdateUser | header | pomstIuUpdateUser | User who last updated the record | String | 30 | System generated | False |
Line Attributes (PoDetailItem)
| CMiC UI Fieldname | Object | Name | Description | Type | Data Length | Example | Mandatory |
|---|---|---|---|---|---|---|---|
| PosCompCode | line | posCompCode | Company code for the detail line | String | 8 | CL02 | False |
| PosPoItemType | line | posPoItemType | PO item type | String | 4 | ITM | False |
| PosItmCode | line | posItmCode | Item code | String | 20 | ITEM001 | False |
| PosItmName | line | posItmName | Item name or description | String | 60 | Office Chair | False |
| PosWmCode | line | posWmCode | Work method code | String | 8 | WM01 | False |
| PosOrdQty | line | posOrdQty | Ordered quantity | Number | 14,4 | 10.0 | False |
| PosExptdPriceAmt | line | posExptdPriceAmt | Expected unit price amount | Number | 14,4 | 250.00 | False |
| PosUserTypeCode | line | posUserTypeCode | User type code | String | 4 | USR1 | False |
| PosUserField1 | line | posUserField1 | User-defined field 1 | String | 30 | Custom1 | False |
| PosUserField2 | line | posUserField2 | User-defined field 2 | String | 30 | Custom2 | False |
| PosUserField3 | line | posUserField3 | User-defined field 3 | String | 30 | Custom3 | False |
| PosUserField4 | line | posUserField4 | User-defined field 4 | String | 30 | Custom4 | False |
| PosUserField5 | line | posUserField5 | User-defined field 5 | String | 30 | Custom5 | False |
| PosUserField6 | line | posUserField6 | User-defined field 6 | String | 30 | Custom6 | False |
| PosUserField7 | line | posUserField7 | User-defined field 7 | String | 30 | Custom7 | False |
| PosUserField8 | line | posUserField8 | User-defined field 8 | String | 30 | Custom8 | False |
| PosCiitemtypCode | line | posCiitemtypCode | Inventory item type code | String | 8 | TYPE01 | False |
| PosItemLocCode | line | posItemLocCode | Item location code | String | 7 | LOC01 | False |
| PosTax1Code | line | posTax1Code | Tax code 1 | String | 8 | GST | False |
| PosTax2Code | line | posTax2Code | Tax code 2 | String | 8 | PST | False |
| PosTax3Code | line | posTax3Code | Tax code 3 | String | 8 | HST | False |
| PosTax1TaxableFlag | line | posTax1TaxableFlag | Tax 1 taxable flag (Y/N) | String | 1 | Y | False |
| PosTax2TaxableFlag | line | posTax2TaxableFlag | Tax 2 taxable flag (Y/N) | String | 1 | N | False |
| PosTax3TaxableFlag | line | posTax3TaxableFlag | Tax 3 taxable flag (Y/N) | String | 1 | N | False |
| PosRecIntoInvFlag | line | posRecIntoInvFlag | Receive into inventory flag (Y/N) | String | 1 | N | False |
| PosDesc | line | posDesc | Line description | String | 255 | Ergonomic office chair | False |
| PosWbsvCode1 | line | posWbsvCode1 | WBS value code 1 | String | 20 | WBS1 | False |
| PosWbsvCode2 | line | posWbsvCode2 | WBS value code 2 | String | 20 | WBS2 | False |
| PosWbsvCode3 | line | posWbsvCode3 | WBS value code 3 | String | 20 | WBS3 | False |
| PosWbsvCode4 | line | posWbsvCode4 | WBS value code 4 | String | 20 | WBS4 | False |
| PosExptdDate | line | posExptdDate | Expected date for the line item | Timestamp | N/A | 2026-06-01T00:00:00 | False |
| PosPoNum | line | posPoNum | Purchase Order number | String | 10 | System generated | False |
| PosReleaseNum | line | posReleaseNum | Release number | Number | 6 | System generated | False |
| PosLineNum | line | posLineNum | Line number | Number | 6 | System generated | False |
| PosOraseq | line | posOraseq | Internal Oracle sequence number | Number | 18 | System generated | False |
| PosVUuid | line | posVUuid | Virtual unique identifier for the detail line | String | 64 | System generated | False |
| PomstVUuid | line | pomstVUuid | Parent header UUID | String | 64 | System generated | False |
| PosExtdAmt | line | posExtdAmt | Extended amount (calculated) | Number | 14,2 | System generated | False |
| PosTaxAmt | line | posTaxAmt | Tax amount (calculated) | Number | 14,2 | System generated | False |
| PosTotAmt | line | posTotAmt | Total amount (calculated) | Number | 14,2 | System generated | False |
| PosIuCreateDate | line | posIuCreateDate | Date and time when the record was created | Timestamp | N/A | System generated | False |
| PosIuCreateUser | line | posIuCreateUser | User who created the record | String | 30 | System generated | False |
| PosIuUpdateDate | line | posIuUpdateDate | Date and time of last update | Timestamp | N/A | System generated | False |
| PosIuUpdateUser | line | posIuUpdateUser | User who last updated the record | String | 30 | System generated | False |
Basic authentication
Created
"{\n \"header\": {\n \"pomstCompCode\": \"ZZ\",\n \"pomstNum\": \"PZZ00014\",\n \"pomstBchNum\": null,\n \"pomstVenCode\": \"ZZ-ACME\",\n \"pomstDeptCode\": null,\n \"pomstExptdDate\": null,\n \"pomstOrdDate\": \"2026-05-10 18:46:54.0\",\n \"pomstTypeCode\": \"S\",\n \"pomstStatCode\": \"N\",\n \"pomstTermCode\": \"TESTCO\",\n \"pomstCurrCode\": \"US\",\n \"pomstFobCode\": null,\n \"pomstBuyCode\": \"ON\",\n \"pomstAddCode\": null,\n \"pomstShplneCode\": \"DHL\",\n \"pomstShpmetCode\": null,\n \"pomstTxt1Code\": null,\n \"pomstTxt2Code\": null,\n \"pomstShpinstDesc\": null,\n \"pomstDesc1\": null,\n \"pomstDesc2\": null,\n \"pomstReqCode\": \"DA\",\n \"pomstWipAccCode\": null,\n \"pomstWipDeptCode\": null,\n \"pomstShipinstTxt1Code\": null,\n \"pomstShipinstTxt2Code\": null,\n \"pomstShipinstTxt3Code\": null,\n \"pomstShipinstTxt4Code\": null,\n \"pomstShipinstTxt5Code\": null,\n \"pomstReleaseNum\": 1,\n \"pomstBilltoAddCode\": null,\n \"pomstReqReason\": null,\n \"pomstVendOrderAddCode\": null,\n \"pomstComplianceFlag\": \"N\",\n \"pomstActionCode\": null,\n \"pomstPrintStatus\": null,\n \"pomstJobCompCode\": \"ZZ\",\n \"pomstJobCode\": null,\n \"pomstContactCode\": null,\n \"pomstHoldPaymentFlag\": \"Y\",\n \"pomstHoldPaymentDays\": null,\n \"pomstAddCompCode\": null,\n \"pomstSuspDeptCode\": null,\n \"pomstIuCreateDate\": \"2026-05-10T18:46:54-04:00\",\n \"pomstIuCreateUser\": \"YASHB\",\n \"pomstIuUpdateDate\": \"2026-05-10T18:46:55-04:00\",\n \"pomstIuUpdateUser\": \"YASHB\",\n \"pomstPorgrCode\": null,\n \"pomstDefaultRecCode\": \"M\",\n \"pomstRoutCompCode\": null,\n \"pomstRoutJobCode\": null,\n \"pomstDistTypeCode\": \"G\",\n \"pomstUserField1\": null,\n \"pomstUserField2\": null,\n \"pomstUserField3\": null,\n \"pomstVUuid\": \"517F3F288584309DE0630B811DAC183E\",\n \"pomstAdvPayAmt\": null,\n \"pomstAdvPayPct\": null,\n \"pomstAdvPayMultiFlag\": \"N\"\n },\n \"lines\": [\n {\n \"posCompCode\": \"ZZ\",\n \"posPoNum\": \"PZZ00014\",\n \"posReleaseNum\": 1,\n \"posLineNum\": 1,\n \"posPoItemType\": \"I\",\n \"posItmCode\": \"DONUT\",\n \"posItmName\": \"donut\",\n \"posWmCode\": \"EA\",\n \"posOrdQty\": 12,\n \"posExptdPriceAmt\": 0,\n \"posUserTypeCode\": \"G\",\n \"posUserField1\": \"ZZ\",\n \"posUserField2\": \"50\",\n \"posUserField3\": \"1700.400\",\n \"posUserField4\": null,\n \"posUserField5\": \"TAC1V1\",\n \"posUserField6\": \"1\",\n \"posUserField7\": null,\n \"posUserField8\": \"TAV4_1\",\n \"posCiitemtypCode\": \"1\",\n \"posItemLocCode\": \"MAIN\",\n \"posTax1Code\": \"K1\",\n \"posTax2Code\": null,\n \"posTax3Code\": null,\n \"posTax1TaxableFlag\": \"Y\",\n \"posTax2TaxableFlag\": \"Y\",\n \"posTax3TaxableFlag\": \"Y\",\n \"posExtdAmt\": 0,\n \"posTaxAmt\": 0,\n \"posTotAmt\": 0,\n \"posRecIntoInvFlag\": \"N\",\n \"posDesc\": \"donut\",\n \"posWbsvCode1\": null,\n \"posWbsvCode2\": null,\n \"posWbsvCode3\": null,\n \"posWbsvCode4\": null,\n \"posExptdDate\": null,\n \"posVUuid\": \"517F3F288596309DE0630B811DAC183E\",\n \"pomstVUuid\": \"517F3F288584309DE0630B811DAC183E\",\n \"posIuCreateDate\": \"2026-05-10T18:46:55-04:00\",\n \"posIuCreateUser\": \"YASHB\",\n \"posIuUpdateDate\": null,\n \"posIuUpdateUser\": null\n }\n ]\n}"