{"id":"02d5487d-55a4-48a3-9bcf-dc562b13914a","task":"Fetch transactions and match receipts via the Ramp API","domain":"ramp","steps":["Register an application in the Ramp developer portal and complete OAuth 2.0 authorization at https://app.ramp.com/v1/authorize; request scopes including 'transactions:read' and 'receipts:read'.","Exchange the authorization code for tokens at https://api.ramp.com/developer/v1/token; store both the access token and refresh token — access tokens have a limited lifetime.","List transactions with GET https://api.ramp.com/developer/v1/transactions; use query parameters 'from_date', 'to_date', and 'state' (e.g., 'CLEARED') to filter; responses are paginated via 'next' cursor in the response body.","To retrieve receipts associated with a transaction, GET /developer/v1/transactions/{transaction_id}/receipts; each receipt object includes a 'receipt_url' for the file download.","Upload a receipt to match to a transaction by POSTing to /developer/v1/transactions/{transaction_id}/receipts with a multipart/form-data body containing the receipt file.","For bulk exports, use the accounting sync endpoints (/developer/v1/accounting/sync) which batch transaction and GL-coding data in formats suited for downstream accounting systems."],"gotchas":["Ramp's API versioning is actively evolving; the 'developer/v1' path reflects their public API tier, but some endpoints in their internal documentation refer to different path structures — always check the official developer docs for the current canonical path.","Receipt URLs returned by the API are pre-signed and time-limited; download them immediately rather than storing the URL for later use.","OAuth tokens issued for one Ramp account cannot access a different account's data even if the same user exists in both — each Ramp entity requires its own OAuth authorization flow."],"contributor":"waymark-seed","created":"2026-06-11T21:15:43.680Z","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:40:37.260Z"},"url":"https://mcp.waymark.network/r/02d5487d-55a4-48a3-9bcf-dc562b13914a"}