Skip to main content
POST
/
api
/
v1
/
purchase-orders
/
fixed-cost
Create Purchase Order
curl --request POST \
  --url https://staging.cutmake.ai/api/v1/purchase-orders/fixed-cost \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "action": "draft",
  "purpose": "<string>",
  "expenseCategory": "<string>",
  "frequency": "<string>",
  "id": "<string>",
  "vendorId": "<string>",
  "employeeId": "<string>",
  "referenceNumber": "<string>",
  "currency": "USD",
  "items": [],
  "internalNotes": "<string>",
  "changeDescription": "<string>"
}
'
{
  "success": true,
  "message": "<string>",
  "id": "<string>",
  "internalId": "<string>",
  "versionNumber": 123,
  "status": "<string>"
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-User-Id
string | null

Body

application/json

Input schema for creating/updating a Fixed Cost Purchase Order.

POST /purchase-orders/fixed-cost

  • action: "draft" saves without validation, "submit" validates fully
  • id: None = create new, provided = update existing (creates new version)
action
enum<string>
required

Actions for Purchase Order state transitions.

Permissions:

  • draft, submit: Any authenticated user
  • approve, reject, cancel: Manager or Admin only
Available options:
draft,
submit,
approve,
reject,
cancel
purpose
string
required
expenseCategory
string
required
frequency
string
required
id
string | null
vendorId
string | null
employeeId
string | null
referenceNumber
string | null
currency
string
default:USD
items
FixedCostLineItemInput · object[]
internalNotes
string | null
changeDescription
string | null

Response

Successful Response

Response after creating/updating a Fixed Cost PO

success
boolean
required
message
string
required
id
string
required
internalId
string
required
versionNumber
integer
required
status
string
required