Packages
A production-grade Elixir client for the Ramp Developer API (v1): cards, users, transactions, limits, bills, vendors, accounting sync, reimbursements, webhooks, and more -- with OAuth2 token management, automatic retries, cursor pagination many more.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.0] - Unreleased
### Added
- Initial release.
- `Ramp.Client` / `Ramp.TokenManager`: OAuth2 `client_credentials` and
`authorization_code` flows, with automatic caching, refresh, and
single-flight semantics.
- `Ramp.HTTP`: `:httpc`-based transport with exponential backoff + jitter
retries, `Retry-After` handling, one-shot 401 refresh-and-retry,
idempotency key support, and `:telemetry` spans.
- `Ramp.Pagination`: lazy, auto-paginating `Stream`s for every list
endpoint, plus manual `list_page/2` control.
- `Ramp.Poller`: capped-backoff polling for deferred async tasks.
- `Ramp.Error`: one normalized exception type across every failure mode,
with classification predicates (`not_found?/1`, `rate_limited?/1`, etc).
- `Ramp.Webhooks` / `Ramp.Webhooks.Handler`: constant-time HMAC-SHA256
signature verification with replay protection, and ergonomic per-event
dispatch.
- Full resource coverage: `Accounting`, `AuditLogs`, `Bills`, `Business`,
`Cards`, `Cashbacks`, `Departments`, `Entities`, `Limits`, `Locations`,
`Merchants`, `Reimbursements`, `SpendPrograms`, `Statements`,
`Transactions`, `Users`, `Vendors`, `WebhookSubscriptions`.