List purchase requests
Lists the purchase requests you can see, newest first.
GET/v1/workspaces/{regionId}/purchase-requests
Parameters
status"draft" | "pending_approval" | "approved" | "ordered" | "rejected" | "canceled"Only requests with this status.
minebooleantrue: only the caller's own requests.
awaitingMebooleantrue: only the requests waiting on the caller's approval, as in their approvals queue. status and mine are then ignored.
Returns
200 OK with the object shown in the response.
More details
Lists the caller's own requests; with 'view' access to purchase orders, everyone's except other people's drafts; and any request whose approval chain names the caller. Newest first.
Response fields
statusstringdraft until submitted; pending_approval while its approval chain runs; approved, then ordered once it became a purchase order (poId); or rejected (rejectionReason) or canceled.
amountnumberThe lines' total (qty × unitPrice), in currency.
approvalobjectThe approval chain, absent while a draft. Built from the workspace's purchase request approval flow (by default its purchase order flow), the requester's spend limit and the budget check.
approvalVersionnumberGoes up with every approval change. Send it as expectedVersion when approving.
budgetCheckobjectThe cost center's budget check when budgets are on: the last one, from submitting or the final approval. Figures are in the budget's currency.
Errors
- 401 Unauthorized - No credential was presented, or the Bearer token / X-Api-Key value is missing, invalid, expired, or revoked.
- 403 Forbidden - The caller's Bearer token or API key doesn't grant access to this workspace (regionId), or lacks the required role.
curl "$PLEAXY_API_BASE_URL/v1/workspaces/{regionId}/purchase-requests" \
-H "X-Api-Key: $PLEAXY_API_KEY"[
{
"id": "string",
"title": "string",
"description": "string",
"requesterEmployeeKey": "string",
"requesterName": "string",
"costCenter": "string",
"glCode": "string",
"supplier": { "name": "string", "supplierConnectionId": "string", "supplierRegionId": "string" },
"lineItems": [
{ "name": "string", "lineType": "goods" | "service", "qty": number, "unit": "string", "unitPrice": number }
],
"amount": number,
"currency": "string",
"neededBy": "string",
"quoteDocument": { "importId": "string", "fileName": "string", "contentType": "string", "addedAt": "string", "quoteNumber": "string", "validUntil": "string" },
"notes": "string",
"status": "draft" | "pending_approval" | "approved" | "ordered" | "rejected" | "canceled",
"approval": {
"requester": "string",
"requesterEmployeeKey": "string",
"groups": [
{
"id": "string",
"mode": "sequential" | "parallel",
"label": "string",
"status": "pending" | "approved" | "rejected",
"stages": [
{ "id": "string", "label": "string", "approverEmployeeKey": "string", "approverName": "string", "status": "pending" | "approved" | "rejected" }
]
}
],
"groupIndex": number,
"status": "pending" | "approved" | "rejected",
"history": [
{ "stage": "string", "by": "string", "at": "string", "action": "approved" | "rejected" | "limit_exceeded" | "reassigned" | "skipped" }
],
"autonomy": boolean,
"selfApproved": boolean
},
"approvalVersion": number,
"budgetCheck": { "outcome": "within" | "over" | "no_budget" | "no_rate" | "off", "mode": "off" | "warn" | "block", "costCenter": "string", "currency": "string", "budget": number, "remaining": number, "amount": number, "overBy": number, "checkedAt": "string" },
"poId": "string",
"rejectionReason": "string",
"createdAt": "string",
"updatedAt": "string",
"submittedAt": "string",
"decidedAt": "string",
"canceledAt": "string",
"canceledBy": "string"
}
]