Improved

Requests: purchase orders, invoices, travel and expense claims (experimental)

Get Requests no longer stops at card requests. It now also returns:

  • subscription increases (subscription_increase), purchase orders (purchase_order), invoices (invoice) and credit notes (credit_note);
  • travel budgets (travel_budget) and bookings (travel_booking);
  • expense claims, mileage and per diem (expense, mileage_allowance, per_diem_allowance), with the amount to reimburse, and a reviewed filter to tell the claims a controller has reviewed from the others.

So "which purchase-order requests are waiting for approval?" or "how much do we owe employees in expense claims?" can be answered from the API.

curl --request GET \
  --url 'https://public-api.spendesk.com/v1/requests?type=purchase_order&state=pending' \
  --header 'Authorization: Bearer <token>'
📘

What you get by default

  • Subscription increases, purchase orders, invoices, credit notes and travel are returned only when type asks for them: their amount is a budget, a commitment or a supplier document, not card spend. A request without type returns card requests and claims, as before.
  • Purchase-order requests also need experimental:purchase-order:read, and invoice and credit-note requests experimental:invoice:read. Without the scope, none are returned.
  • Claims are in beta, switched on per company by Spendesk: ask your Spendesk contact. Without it, a request for claims only answers 403. Drafts, incomplete and paid claims are never returned.

The AI assistant uses the same rules in get_requests, get_request_by_id and spendesk_analyze_requests. The endpoint remains experimental (scope experimental:request:read).