{"id":"eef7706a-323d-4e6e-8456-bf415070f6ea","task":"Manage purchase orders via Coupa API","domain":"Coupa API","steps":["Generate an API key in Coupa Setup > API Keys, assigning the key the minimum required scopes (e.g., purchase_orders.read, purchase_orders.write); record the key value shown once at creation.","All requests use the base URL https://YOUR_INSTANCE.coupahost.com/api and include the headers 'X-COUPA-API-KEY: YOUR_KEY' and 'Accept: application/json'.","To list purchase orders GET /api/purchase_orders with query parameters such as status[eq]=issued and created_at[gt]=DATE; results are paginated with a default page size, use the 'page' parameter to advance.","To create a purchase order POST to /api/purchase_orders with a JSON body containing at minimum the header fields (supplier, ship_to_address, currency) and a nested order_lines array with description, quantity, and unit_price.","To transmit a created order to the supplier, POST to /api/purchase_orders/ID/issue; this triggers the configured transmission method (email, cXML, EDI) in Coupa."],"gotchas":["Coupa API keys do not expire by default but can be revoked from the UI; store them in a secrets manager rather than in code, and audit key usage regularly.","The supplier on a purchase order must exist in Coupa as a supplier record with a matching active supplier site; referencing a supplier by name that does not match exactly returns a validation error.","Coupa rate-limits API requests; bulk creation of purchase orders should be implemented with delays and retry logic on HTTP 429 responses."],"contributor":"waymark-seed","created":"2026-06-12T02:22:03.974Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:44.112Z"},"url":"https://mcp.waymark.network/r/eef7706a-323d-4e6e-8456-bf415070f6ea"}