Procurify purchase-orders API
The purchase-orders API from Procurify — 7 operation(s) for purchase-orders.
The purchase-orders API from Procurify — 7 operation(s) for purchase-orders.
openapi: 3.0.3
info:
title: Procurify API Documentation account-codes purchase-orders API
version: ''
description: '
# Disclaimer
- Procurify’s API is evolving and is subject to change at any time. Additionally, aspects of the API are undocumented, including certain methods, events, and properties. Given that both documented and undocumented aspects of the Procurify API may change at any time, the client relies on the API at their own risk.
- Client (and/or client’s representative) is responsible for building, testing, and maintaining any API connection between Procurify and any other tool. Procurify’s responsibility strictly involves providing support on clarifications in regards to the issued API document.
- Procurify’s API is offered on an “as is” and “as available” basis, without warranties of any kind. By accepting this agreement, you agree that you have read the current API documentation, and accept the API functionality in its current state including current limitations. For questions and clarification around the documentation, please contact support@procurify.com.
- In accordance with Section 2.(b) of our Subscription Services Agreement, Procurify reserves the right to deny access to our API at any time. If your API requests are too large and time out, contact us immediately to avoid possible suspension of access.
- You may not attempt to reverse engineer or otherwise derive source code, trade secrets, or know-how in the Procurify API or portion thereof. You may not use the Procurify API to replicate or compete with core products or services offered by Procurify.
'
servers:
- url: https://{user_domain}.procurify.com
description: Your Procurify domain
variables:
user_domain:
default: your-domain
description: Your procurify domain
tags:
- name: purchase-orders
paths:
/api/v2/purchase_order/revise/{procurify_PO}/:
put:
operationId: purchase_order_revise_update
description: Deprecated method for revising a purchase order. Pending removable after November 16, 2023. Use `PUT` on `/api/v3/purchase-orders/{id}` instead.
summary: Revise a Purchase Order
parameters:
- in: query
name: confirm_duplicate_external_po_number
schema:
type: string
enum:
- 'False'
- 'True'
default: 'False'
description: Mechanism to check for duplicate custom PO number. If there is a duplicate, API will fail unless this query param is set to True.
- in: query
name: format
schema:
type: string
enum:
- csv
- json
- in: path
name: procurify_PO
schema:
type: integer
title: Procurify PO Number
description: A unique integer value identifying this po.
required: true
tags:
- purchase-orders
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
? ''
: schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
application/xml:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
required: true
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
deprecated: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderDetailSerializerSingle'
text/csv:
schema:
$ref: '#/components/schemas/PurchaseOrderDetailSerializerSingle'
description: ''
/api/v2/purchase_orders/{id}/:
get:
operationId: purchase_orders_retrieve
description: '**Purchase Order State Codes**
| Order Type | Code |
|---------------------|-----------|
| PURCHASED | 0 |
| CANCELLED | 1 |
| (legacy code) | 2 |
| CLOSED | 3 |
| PAID | 4 |
| REOPENED | 5 |'
summary: Get Purchase Order by ID (with items)
parameters:
- in: query
name: format
schema:
type: string
enum:
- csv
- json
- in: path
name: id
schema:
type: string
description: Procurify PO or UUID
required: true
tags:
- purchase-orders
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApiNestedEditDeletePurchaseOrderDetail'
text/csv:
schema:
$ref: '#/components/schemas/ApiNestedEditDeletePurchaseOrderDetail'
description: ''
/api/v2/purchase_orders/{role}/{status}/:
get:
operationId: purchase_orders_list
summary: Get Purchase Orders by Role & Status
parameters:
- in: query
name: account_code
schema:
type: integer
description: Account Code
- in: query
name: contract
schema:
type: integer
description: Contract
- in: query
name: currency
schema:
type: integer
description: Currency
- in: query
name: date_0
schema:
type: string
format: date
description: 'YYYY-MM-DD (start date): Filter POs by Created Date range'
- in: query
name: date_1
schema:
type: string
format: date
description: 'YYYY-MM-DD (end date): Filter POs by Created Date range'
- in: query
name: expiry_date_0
schema:
type: string
format: date
description: Expiry Date
- in: query
name: expiry_date_1
schema:
type: string
format: date
description: Expiry Date
- in: query
name: has_blanket_order_items
schema:
type: boolean
- in: query
name: modified_date_0
schema:
type: string
format: date
description: 'YYYY-MM-DD (start date): Filter POs by Last Modified Date range'
- in: query
name: modified_date_1
schema:
type: string
format: date
description: 'YYYY-MM-DD (end date): Filter POs by Last Modified Date range'
- in: query
name: order_by
schema:
type: string
description: Sort by field
- in: query
name: page
schema:
type: integer
- in: query
name: page_size
schema:
type: integer
- in: query
name: pref_vendor
schema:
type: integer
description: ID of Vendor
- in: query
name: promise_date_0
schema:
type: string
format: date
description: 'YYYY-MM-DD (start date): Filter POs by Promise Date range'
- in: query
name: promise_date_1
schema:
type: string
format: date
description: 'YYYY-MM-DD (end date): Filter POs by Promise Date range'
- in: query
name: purchase_order
schema:
type: integer
description: Purchase Order
- in: query
name: purchaser
schema:
type: integer
description: Purchaser
- in: query
name: requester
schema:
type: integer
description: Requester
- in: path
name: role
schema:
type: string
enum:
- purchased
- receivable
required: true
- in: path
name: status
schema:
type: string
enum:
- all
- cancelled
- closed
- open
- paid
- partial
required: true
- in: query
name: total_0
schema:
type: string
format: decimal
pattern: ^-?\d{0,17}(?:\.\d{0,2})?$
title: Total Cost
description: Total
- in: query
name: total_1
schema:
type: string
format: decimal
pattern: ^-?\d{0,17}(?:\.\d{0,2})?$
title: Total Cost
description: Total
tags:
- purchase-orders
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/POWithListPurchaseOrderDocs'
text/csv:
schema:
$ref: '#/components/schemas/POWithListPurchaseOrderDocs'
description: ''
/api/v3/purchase-orders/{procurify_PO}/:
put:
operationId: purchase_orders_update
summary: Update a Purchase Order
parameters:
- in: query
name: format
schema:
type: string
enum:
- csv
- json
- in: path
name: procurify_PO
schema:
type: integer
title: Procurify PO Number
description: A unique integer value identifying this po.
required: true
tags:
- purchase-orders
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
? ''
: schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
application/xml:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateRequest'
required: true
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateSerializerSingle'
text/csv:
schema:
$ref: '#/components/schemas/PurchaseOrderUpdateSerializerSingle'
description: ''
/api/v3/purchase-orders/{procurify_PO}/close/:
post:
operationId: purchase_orders_close_create
summary: Close a Purchase Order
parameters:
- in: query
name: format
schema:
type: string
enum:
- csv
- json
- in: path
name: procurify_PO
schema:
type: integer
title: Procurify PO Number
description: A unique integer value identifying this po.
required: true
tags:
- purchase-orders
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderReadDocsSerializerSingle'
text/csv:
schema:
$ref: '#/components/schemas/PurchaseOrderReadDocsSerializerSingle'
description: ''
/api/v3/purchase-orders/{procurify_PO}/reopen/:
post:
operationId: purchase_orders_reopen_create
summary: Reopen a Purchase Order
parameters:
- in: query
name: format
schema:
type: string
enum:
- csv
- json
- in: path
name: procurify_PO
schema:
type: integer
title: Procurify PO Number
description: A unique integer value identifying this po.
required: true
tags:
- purchase-orders
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
description: No response body
/api/v3/purchase-orders/billing-history/:
get:
operationId: purchase_orders_billing_history_retrieve
summary: View billing history of a Purchase Order
parameters:
- in: query
name: format
schema:
type: string
enum:
- csv
- json
tags:
- purchase-orders
security:
- RemoteAuthentication: []
- M2MAuthentication: []
- BasicAuthentication: []
- cookieAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PurchaseOrderBillingHistorySerializerList'
text/csv:
schema:
$ref: '#/components/schemas/PurchaseOrderBillingHistorySerializerList'
description: ''
components:
schemas:
SessionCreate:
type: object
properties:
creditcard:
type: integer
title: Credit Card
balance:
type: string
format: decimal
pattern: ^-?\d{0,9}(?:\.\d{0,2})?$
statement_date:
type: string
format: date-time
nullable: true
required:
- creditcard
SimpleUser:
type: object
properties:
id:
type: integer
readOnly: true
firstName:
type: string
maxLength: 100
lastName:
type: string
maxLength: 100
email:
type: string
format: email
maxLength: 254
profile_image:
type: string
nullable: true
required:
- email
PaymentMethod:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 100
description:
type: string
nullable: true
active:
type: boolean
required:
- name
OrderItemTypeEnum:
enum:
- 0
- 1
- 2
type: integer
description: '* `0` - One Time
* `1` - Recurring
* `2` - Blanket'
UserProfileRead:
type: object
properties:
id:
type: integer
readOnly: true
firstName:
type: string
maxLength: 100
lastName:
type: string
maxLength: 100
email:
type: string
format: email
maxLength: 254
department:
allOf:
- $ref: '#/components/schemas/SimpleDepartment'
nullable: true
type: object
required:
- department
- email
Attachment:
type: object
properties:
id:
type: integer
readOnly: true
uuid:
type: string
format: uuid
file:
type: string
name:
type: string
maxLength: 255
user:
type: integer
description:
type: string
maxLength: 1000
mimetype:
type: string
maxLength: 100
length:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
sha1_hash:
type: string
maxLength: 40
created_at:
type: string
format: date-time
readOnly: true
required:
- file
- user
- uuid
PermissionsEditDelete:
type: object
properties:
can_edit:
type: boolean
can_delete:
type: boolean
required:
- can_delete
- can_edit
PurchaseOrderLineItemRead:
type: object
properties:
PO:
type: array
items:
type: integer
title: PO
PO_line_num:
type: integer
maximum: 2147483647
minimum: -2147483648
account:
$ref: '#/components/schemas/AccountRead'
accountCode:
type: string
maxLength: 100
active:
type: boolean
approved_currency_rate:
type: string
format: decimal
pattern: ^-?\d{0,9}(?:\.\d{0,6})?$
nullable: true
approved_datetime:
type: string
format: date-time
nullable: true
approved_price:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
approved_quantity:
type: number
format: double
approved_shipping_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
approved_tax_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
attachments:
type: array
items:
$ref: '#/components/schemas/OrderItemAttachment'
nullable: true
catalog_item:
allOf:
- $ref: '#/components/schemas/CatalogItemRead'
nullable: true
type: object
created_at:
type: string
format: date-time
readOnly: true
currency:
$ref: '#/components/schemas/CurrencySummary'
dateInvoiced:
type: string
format: date-time
nullable: true
external_id:
type: string
description: External id of the order item
maxLength: 100
hot:
type: boolean
id:
type: integer
readOnly: true
inventoryItem:
type: integer
nullable: true
is_active:
type: boolean
item_attachments:
type: array
items:
$ref: '#/components/schemas/Attachment'
last_changed_by:
type: integer
nullable: true
title: Last changed by user
last_modified:
type: string
format: date-time
readOnly: true
lineComment:
type: string
nullable: true
name:
type: string
maxLength: 255
num:
type: string
maxLength: 50
orderNum:
type: integer
nullable: true
order_number:
type: integer
readOnly: true
nullable: true
po_note:
type: string
title: Comment
po_version:
type: integer
maximum: 2147483647
minimum: -2147483648
pref_vendor:
$ref: '#/components/schemas/VendorRead'
price:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
purchase_order:
type: integer
title: Procurify PO Number
nullable: true
purchaser:
$ref: '#/components/schemas/UserSummary'
quantity:
type: number
format: double
receivedFailQty:
type: number
format: double
receivedPassQty:
type: number
format: double
shipping_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
sku:
type: string
maxLength: 100
status:
nullable: true
minimum: -2147483648
maximum: 2147483647
oneOf:
- $ref: '#/components/schemas/OrderItemStatusEnum'
- $ref: '#/components/schemas/NullEnum'
type: integer
tax_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
total_cost:
type: string
format: decimal
pattern: ^-?\d{0,16}(?:\.\d{0,2})?$
unit:
type: string
maxLength: 30
updated_at:
type: string
format: date-time
readOnly: true
vendor:
type: string
readOnly: true
receive_method:
allOf:
- $ref: '#/components/schemas/ReceiveMethodEnum'
minimum: 0
maximum: 65535
type:
allOf:
- $ref: '#/components/schemas/OrderItemTypeEnum'
minimum: 0
maximum: 65535
blanket:
allOf:
- $ref: '#/components/schemas/BlanketOrderItemRead'
readOnly: true
comments:
type: array
items:
$ref: '#/components/schemas/Comment'
readOnly: true
confirmation_status:
type: integer
nullable: true
readOnly: true
confirmation_status_description:
type: string
nullable: true
readOnly: true
cost_details:
allOf:
- $ref: '#/components/schemas/CostDetails'
nullable: true
readOnly: true
type: object
custom_fields:
type: array
items:
$ref: '#/components/schemas/CustomFieldValueRead'
readOnly: true
date_required:
type: string
format: date-time
readOnly: true
fully_received_actual_receive_date:
type: string
format: date
readOnly: true
has_sibling_items:
type: boolean
readOnly: true
line_comment:
type: string
readOnly: true
logs:
type: array
items:
$ref: '#/components/schemas/MasterLogger'
readOnly: true
order_description:
type: string
readOnly: true
order_status:
type: integer
readOnly: true
order_uuid:
type: string
format: uuid
readOnly: true
punchout_supplier_icon:
type: string
readOnly: true
nullable: true
punchout_supplier_name:
type: string
readOnly: true
nullable: true
punchout_system:
type: integer
nullable: true
readOnly: true
punchout_vendor_reference:
type: integer
nullable: true
readOnly: true
punchout_supplier_can_update_quantity:
type: boolean
readOnly: true
purchase_order_number:
type: string
readOnly: true
purchase_order_uuid:
type: string
format: uuid
readOnly: true
purchased_currency_rate:
type: string
format: decimal
pattern: ^-?\d{0,9}(?:\.\d{0,6})?$
readOnly: true
default: '0.000000'
recurrence:
allOf:
- $ref: '#/components/schemas/RecurringOrderItem'
nullable: true
type: object
requester:
allOf:
- $ref: '#/components/schemas/SimpleUserSummary'
readOnly: true
spend_allocation:
type: array
items:
$ref: '#/components/schemas/AllocationRead'
readOnly: true
submitted_date:
type: string
format: date-time
readOnly: true
taxes:
type: array
items:
$ref: '#/components/schemas/Adjustment'
nullable: true
receive_log_count:
type: integer
readOnly: true
approval_history:
type: array
items:
$ref: '#/components/schemas/MasterLogger'
readOnly: true
flags:
type: array
items:
$ref: '#/components/schemas/FlagRead'
readOnly: true
approved_total_cost:
type: string
format: decimal
pattern: ^-?\d{0,10}(?:\.\d{0,8})?$
required:
- account
- approved_datetime
- approved_quantity
- approved_total_cost
- attachments
- catalog_item
- currency
- item_attachments
- name
- num
- pref_vendor
- price
- purchaser
- quantity
- receivedFailQty
- receivedPassQty
- recurrence
- unit
POWithListPurchaseOrderDocs:
type: object
properties:
metadata:
$ref: '#/components/schemas/PurchaseOrderListMeta'
data:
type: array
items:
$ref: '#/components/schemas/PurchaseOrderDocs'
required:
- data
- metadata
SimpleUserProfile:
type: object
properties:
id:
type: integer
readOnly: true
firstName:
type: string
maxLength: 100
lastName:
type: string
maxLength: 100
email:
type: string
format: email
maxLength: 254
role:
allOf:
- $ref: '#/components/schemas/MinimalRoleRead'
readOnly: true
profile_image:
type: string
nullable: true
required:
- email
SetupStageEnum:
enum:
- COMP
- DEPT
- USER
- COA
- BDGT
- APPR
- FIN
type: string
description: '* `COMP` - Company
* `DEPT` - Department
* `USER` - User
* `COA` - Chart_of_Accounts
* `BDGT` - Budget_Control
* `APPR` - Approver
* `FIN` - Finished'
AccountCodeRead:
type: object
properties:
id:
type: integer
readOnly: true
applied_accounts_count:
type: integer
readOnly: true
code:
type: string
maxLength: 50
code_length:
type: integer
maximum: 2147483647
minimum: -2147483648
description:
type: string
maxLength: 200
account_type:
allOf:
- $ref: '#/components/schemas/AccountTypeEnum'
minimum: -2147483648
maximum: 2147483647
active:
type: boolean
parent:
type: integer
nullable: true
required:
- code
- description
TimezoneEnum:
enum:
- -11
- -10
- -9
- -8
- -7
- -6
- -5
- -4
- -3.5
- -3
- -2
- -1
- 0
- 1
- 2
- 3
- 3.5
- 4
- 4.5
- 5
- 5.5
- 5.75
- 6
- 7
- 8
- 9
- 9.5
- 10
- 11
- 12
type: number
description: '* `-11.0` - (GMT -11:00) Midway Island, Samoa
* `-10.0` - (GMT -10:00) Hawaii
* `-9.0` - (GMT -9:00) Alaska
* `-8.0` - (GMT -8:00) Pacific Time (US & Canada)
* `-7.0` - (GMT -7:00) Mountain Time (US & Canada)
* `-6.0` - (GMT -6:00) Central Time (US & Canada), Mexico City
* `-5.0` - (GMT -5:00) Eastern Time (US & Canada), Bogota, Lima
* `-4.0` - (GMT -4:00) Atlantic Time (Canada), Caracas, La Paz
* `-3.5` - (GMT -3:30) Newfoundland
* `-3.0` - (GMT -3:00) Brazil, Buenos Aires, Georgetown
* `-2.0` - (GMT -2:00) Mid-Atlantic
* `-1.0` - (GMT -1:00) Azores, Cape Verde Islands
* `0.0` - (GMT) Western Europe Time, London, Lisbon, Casablanca
* `1.0` - (GMT +1:00) Brussels, Copenhagen, Madrid, Paris
* `2.0` - (GMT +2:00) Kaliningrad, South Africa
* `3.0` - (GMT +3:00) Baghdad, Riyadh, Moscow, St. Petersburg
* `3.5` - (GMT +3:30) Tehran
* `4.0` - (GMT +4:00) Abu Dhabi, Muscat, Baku, Tbilisi
* `4.5` - (GMT +4:30) Kabul
* `5.0` - (GMT +5:00) Ekaterinburg, Islamabad, Karachi, Tashkent
* `5.5` - (GMT +5:30) Bombay, Calcutta, Madras, New Delhi
* `5.75` - (GMT +5:45) Kathmandu
* `6.0` - (GMT +6:00) Almaty, Dhaka, Colombo
* `7.0` - (GMT +7:00) Bangkok, Hanoi, Jakarta
* `8.0` - (GMT +8:00) Beijing, Perth, Singapore, Hong Kong
* `9.0` - (GMT +9:00) Tokyo, Seoul, Osaka, Sapporo, Yakutsk
* `9.5` - (GMT +9:30) Adelaide, Darwin
* `10.0` - (GMT +10:00) Eastern Australia, Guam, Vladivostok
* `11.0` - (GMT +11:00) Magadan, Solomon Islands, New Caledonia
* `12.0` - (GMT +12:00) Auckland, Wellington, Fiji, Kamchatka'
PurchaseOrderBillingHistoryItem:
type: object
properties:
id:
type: integer
billed_qty:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
default: '0.00000000'
received_qty:
type: string
format: decimal
pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
default: '0.00000'
required:
- id
OrderItemPurchaseEdit:
type: object
properties:
id:
type: integer
name:
type: string
maxLength: 255
sku:
type: string
maxLength: 100
unit:
type: string
maxLength: 30
quantity:
type: string
format: decimal
pattern: ^-?\d{0,10}(?:\.\d{0,5})?$
price:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
po_note:
type: string
title: Comment
custom_fields:
type: array
items:
type: object
additionalProperties: {}
tax_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
shipping_amount:
type: string
format: decimal
pattern: ^-?\d{0,13}(?:\.\d{0,8})?$
nullable: true
receive_method:
allOf:
- $ref: '#/components/schemas/ReceiveMethodEnum'
minimum: 0
maximum: 65535
required:
- custom_fields
- id
- name
- price
- quantity
- unit
PaymentMethodRead:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 255
type:
allOf:
- $ref: '#/components/schemas/PaymentMethodTypeEnum'
title: Payment Method
minimum: 0
maximum: 4294967295
data: {}
currency:
$ref: '#/components/schemas/Currency'
payment_rail:
type: string
readOnly: true
bank_account_country_code:
type: string
nullable: true
readOnly: true
required:
- currency
- data
PurchaseOrderUpdateSerializerSingle:
type: object
properties:
metadata:
type: object
additionalProperties: {}
default: {}
data:
$ref: '#/components/schemas/PurchaseOrderUpdate'
required:
- data
PurchaseOrderContract:
type: object
properties:
id:
type: integer
uuid:
type: string
name:
type: string
required:
- id
- uuid
FlagRead:
type: object
properties:
color:
type: string
readOnly: true
symbol:
type: string
readOnly: true
object_id:
type: integer
maximum: 4294967295
minimum: 0
format: int64
content_type:
type: integer
nullable: true
required:
- object_id
MinimalRoleRead:
type: object
properties:
name:
type: string
maxLength: 150
type:
type: integer
required:
- name
- type
OrderItem
# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/procurify/refs/heads/main/openapi/procurify-purchase-orders-api-openapi.yml