Ramp: Create a purchase order — response body
Create a purchase order: response body. Complete fields and constraints for contract 2026-10-27.
API reference · Contract 2026-10-27
SDK schema: Create a purchase order — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
accounting_field_selections | array | Required within parent | List of accounting field options selected to code the purchase order. Read only: true |
accounting_field_selections[] | Model | Each item | Expand Hold Bill — response body — accounting field selections item |
amount | Model | Required within parent | Expand Hold Bill — response body — amount Amount of the purchse order. Read only: true |
archived_at | JSON | Required within parent | |
archived_at (anyOf 1) | string | Alternative | Format: date-time |
archived_at (anyOf 2) | null | Alternative | |
bill_ids | array | Required within parent | List of unique identifiers for attached bills. Read only: true |
bill_ids[] | string | Each item | Format: uuid |
billing_status | JSON | Optional | |
billing_status (anyOf 1) | string | Alternative | Known values: CLOSED, DELETED, FULLY_BILLED, OPEN, PARTIALLY_BILLED Read only: true |
billing_status (anyOf 2) | null | Alternative | |
created_at | string | Required within parent | Format: date-time |
creation_source | string | Required within parent | Known values: ACCOUNTING_PROVIDER, DEVELOPER_API, EXTERNAL_IMPORT, RAMP |
entity_id | string | Required within parent | Associated business entity. Format: uuid |
external_id | JSON | Required within parent | |
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. |
external_id (anyOf 2) | null | Alternative | |
id | string | Required within parent | Format: uuid |
item_receipt_ids | array | Required within parent | List of unique identifiers for item receipts matched to the purchase order. Read only: true |
item_receipt_ids[] | string | Each item | Format: uuid |
line_items | array | Required within parent | List of line items on the purchase order. |
line_items[] | Model | Each item | Expand Create a purchase order — response body — line items item |
memo | JSON | Required within parent | |
memo (anyOf 1) | string | Alternative | Memo of the purchase order. |
memo (anyOf 2) | null | Alternative | |
name | JSON | Required within parent | |
name (anyOf 1) | string | Alternative | The name of the spend request associated with the purchase order. |
name (anyOf 2) | null | Alternative | |
net_payment_terms | JSON | Required within parent | |
net_payment_terms (anyOf 1) | JSON | Alternative | |
net_payment_terms (anyOf 1) (anyOf 1) | integer | Alternative | The required time an invoice needs to be paid after receipt. |
net_payment_terms (anyOf 1) (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
net_payment_terms (anyOf 2) | null | Alternative | |
owner_id | JSON | Required within parent | |
owner_id (anyOf 1) | string | Alternative | Unique identifier for the owner of the spend request. This value will only be present for Ramp-created purchase orders. Format: uuid |
owner_id (anyOf 2) | null | Alternative | |
promise_date | JSON | Required within parent | |
promise_date (anyOf 1) | string | Alternative | The date the vendor will deliver the goods or services. Format: date-time |
promise_date (anyOf 2) | null | Alternative | |
purchase_order_number | JSON | Required within parent | |
purchase_order_number (anyOf 1) | string | Alternative | |
purchase_order_number (anyOf 2) | null | Alternative | |
ramp_url | string | Required within parent | A stable URL that links to the purchase order in the Ramp web application. Read only: true |
receipt_status | string | Required within parent | Known values: FULLY_RECEIVED, NOT_RECEIVED, OVER_RECEIVED, PARTIALLY_RECEIVED |
remote_id | JSON | Required within parent | |
remote_id (anyOf 1) | string | Alternative | The accounting remote identifier of the purchase order. Read only: true |
remote_id (anyOf 2) | null | Alternative | |
ship_to_address | JSON | Required within parent | |
ship_to_address (anyOf 1) | Model | Alternative | Expand Fetch a purchase order — response body — ship to address address1, address2, city, country, postal code, state Delivery address for the purchase order. |
ship_to_address (anyOf 2) | null | Alternative | |
ship_to_company_name | JSON | Required within parent | |
ship_to_company_name (anyOf 1) | string | Alternative | Company name associated with the delivery address. |
ship_to_company_name (anyOf 2) | null | Alternative | |
shipping_contact_email | JSON | Required within parent | |
shipping_contact_email (anyOf 1) | string | Alternative | Email address of the delivery contact. |
shipping_contact_email (anyOf 2) | null | Alternative | |
shipping_contact_first_name | JSON | Required within parent | |
shipping_contact_first_name (anyOf 1) | string | Alternative | First name of the delivery contact. |
shipping_contact_first_name (anyOf 2) | null | Alternative | |
shipping_contact_last_name | JSON | Required within parent | |
shipping_contact_last_name (anyOf 1) | string | Alternative | Last name of the delivery contact. |
shipping_contact_last_name (anyOf 2) | null | Alternative | |
shipping_contact_phone_number | JSON | Required within parent | |
shipping_contact_phone_number (anyOf 1) | string | Alternative | Phone number of the delivery contact. |
shipping_contact_phone_number (anyOf 2) | null | Alternative | |
spend_end_date | JSON | Required within parent | |
spend_end_date (anyOf 1) | string | Alternative | The date when spending for this purchase order ends. Format: date-time |
spend_end_date (anyOf 2) | null | Alternative | |
spend_program_id | JSON | Required within parent | |
spend_program_id (anyOf 1) | string | Alternative | Unique identifier for the spend program associated with the purchase order. This value will only be null for purchase orders imported from an accounting provider. Format: uuid Read only: true |
spend_program_id (anyOf 2) | null | Alternative | |
spend_request_id | JSON | Required within parent | |
spend_request_id (anyOf 1) | string | Alternative | Unique identifier for the spend request associated with the purchase order. This value will only be null for purchase orders imported from an accounting provider. Format: uuid |
spend_request_id (anyOf 2) | null | Alternative | |
spend_start_date | JSON | Required within parent | |
spend_start_date (anyOf 1) | string | Alternative | The date when spending for this purchase order begins. Format: date-time |
spend_start_date (anyOf 2) | null | Alternative | |
spend_total_amount | JSON | Required within parent | |
spend_total_amount (anyOf 1) | Model | Alternative | Expand Hold Bill — response body — amount Total amount of the purchase order, calculated based on frequency and date range for recurring purchases. Read only: true |
spend_total_amount (anyOf 2) | null | Alternative | |
three_way_match_enabled | boolean | Required within parent | Whether three-way match is enabled for the purchase order. Read only: true |
transaction_ids | array | Required within parent | List of unique identifiers for attached transactions. This does not include transactions on attached bills. Read only: true |
transaction_ids[] | string | Each item | Format: uuid |
user_id | JSON | Required within parent | |
user_id (anyOf 1) | string | Alternative | Unique identifier for the user who created the spend request. This value will only be present for Ramp-created purchase orders. Format: uuid |
user_id (anyOf 2) | null | Alternative | |
vendor_id | JSON | Required within parent | |
vendor_id (anyOf 1) | string | Alternative | Unique identifier for the vendor. Format: uuid Read only: true |
vendor_id (anyOf 2) | null | Alternative | |
withholding_default_rate | JSON | Required within parent | |
withholding_default_rate (anyOf 1) | string | Alternative | Default retainage withholding rate for the purchase order, expressed as a fractional decimal. For example, 0.10 means 10%. Format: decimal Maximum: 1 Minimum: 0 |
withholding_default_rate (anyOf 2) | null | Alternative |
Referenced models: Hold Bill — response body — accounting field selections item, Create a purchase order — response body — line items item, Hold Bill — response body — amount, Fetch a purchase order — response body — ship to address address1, address2, city, country, postal code, state