Ramp: Create a purchase order — request body — body
Create a purchase order: request body, field body. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: Create a purchase order — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
accounting_field_selections | array | Optional | List of accounting field options selected to code the purchase order. Generally, only a single vendor accounting field is supported. |
accounting_field_selections[] | Model | Each item | Expand Create a bill — request body — body accounting field selections item |
currency | string | Required within parent | Currency of the purchase order. One of: AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BOV, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHE, CHF, CHW, CLF, CLP, CNH, CNY, COP, COU, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, EURC, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MXV, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, OPEN_USD, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, USDB, USDC, USDG, USDT, USN, UYI, UYU, UYW, UZS, VED, VES, VND, VUV, WST, XAD, XAF, XAG, XAU, XBA, XBB, XBC, XBD, XCD, XCG, XDR, XOF, XPD, XPF, XPT, XSU, XTS, XUA, XXX, YER, ZAR, ZMW, ZWG, ZWL |
entity_id | string | Required within parent | Unique identifier of associated business entity. Format: uuid |
external_id | JSON | Optional | |
external_id (anyOf 1) | string | Alternative | An ID that uniquely identifies the purchase order on the client’s side. Must be unique per business and cannot be updated after creation. Default: null |
external_id (anyOf 2) | null | Alternative | |
line_items | array | Required within parent | List of purchase order line items. |
line_items[] | Model | Each item | Expand Create a purchase order — request body — body line items item |
memo | JSON | Optional | |
memo (anyOf 1) | string | Alternative | Memo for the purchase order. Default: null |
memo (anyOf 2) | null | Alternative | |
name | JSON | Optional | |
name (anyOf 1) | string | Alternative | Name of the purchase order. Must contain a non-whitespace character. Default: null Pattern: \s*\S |
name (anyOf 2) | null | Alternative | |
net_payment_terms | JSON | Optional | |
net_payment_terms (anyOf 1) | integer | Alternative | The required time an invoice needs to be paid after receipt in days. Default: null |
net_payment_terms (anyOf 2) | null | Alternative | |
owner_id | JSON | Optional | |
owner_id (anyOf 1) | string | Alternative | Unique identifier for the owner of the purchase order. Defaults to the API caller when not provided. Default: null Format: uuid |
owner_id (anyOf 2) | null | Alternative | |
promise_date | JSON | Optional | |
promise_date (anyOf 1) | string | Alternative | The date the vendor will deliver the goods or services. Default: null Format: date |
promise_date (anyOf 2) | null | Alternative | |
purchase_order_number | JSON | Optional | |
purchase_order_number (anyOf 1) | string | Alternative | Unique purchase order number with format <prefix>-<number>. Prefixes must only contain numbers, uppercase letters, and dashes. Invalid characters will be filtered out automatically. If not provided, one will be auto-generated using a prefix specified in procurement settings, if it exists. Default: null |
purchase_order_number (anyOf 2) | null | Alternative | |
spend_end_date | JSON | Optional | |
spend_end_date (anyOf 1) | string | Alternative | The date when spending for this purchase order ends. Default: null Format: date |
spend_end_date (anyOf 2) | null | Alternative | |
spend_start_date | JSON | Optional | |
spend_start_date (anyOf 1) | string | Alternative | The date when spending for this purchase order begins. Default: null Format: date |
spend_start_date (anyOf 2) | null | Alternative | |
three_way_match_enabled | boolean | Required within parent | Whether three-way match is enabled for the purchase order. I.e. whether an item receipt will be attached to indicate goods were received. |
vendor_id | JSON | Optional | |
vendor_id (anyOf 1) | string | Alternative | Unique identifier for the vendor. Default: null Format: uuid |
vendor_id (anyOf 2) | null | Alternative | |
withholding_default_rate | JSON | Optional | |
withholding_default_rate (anyOf 1) | JSON | Alternative | Default retainage withholding rate for the purchase order, expressed as a fractional decimal. For example, 0.10 means 10%. Default: null Minimum: 0 Less than: 1 |
withholding_default_rate (anyOf 1) (oneOf 1) | string | Alternative | Format: decimal |
withholding_default_rate (anyOf 1) (oneOf 2) | number | Alternative | |
withholding_default_rate (anyOf 2) | null | Alternative |
Referenced models: Create a bill — request body — body accounting field selections item, Create a purchase order — request body — body line items item