Rate Manager feeds
Ask Keelvar support to enable Rate Manager API Feed for your organisation.
Then your organisation's rate-card data is available through the Rate Manager feeds:
- Rates (
/feeds/rate-manager/rates) — one record per rate, with each value named by the card field it belongs to. - Rate cards (
/feeds/rate-manager/rate-cards) — your organisation's rate cards, each with its field definitions.
See the OpenAPI specification for full details.
Rates carry their values as named entries: each one has the column_name of the card
field it belongs to, so you can read a price without first fetching the card's
design and joining to it. Values appear in the card's field order. A currency or unit
column is inlined onto the value it qualifies, and keeps its own entry as well.
The field definitions (fields) are available on the rate cards feed and on the
rate_cards include, for the card's full design — data types, precision, roles, and the
columns no record happens to carry a value for.
Note
Names are resolved when you read, not when the record was stored, and a card's field
definitions are replaced wholesale whenever its design changes. So renaming a column
changes the column_name on rates you have already pulled, without
advancing their modified timestamp. Watch the modified timestamp on the
rate_cards include to know when a card's design last changed.
A value whose field the card no longer defines is omitted. A rate that reaches the
warehouse ahead of its card therefore serialises with an empty values — treat that
as transient rather than as a record with no data.
Note
Feeds are scoped to your organisation. An organisation API token sees all rate cards in the organisation, including any restricted to particular users in the Rate Manager UI.
Rates feed
Records are rates. Values are strings, named by the card field each belongs to.
Basic rates feed
This example is unfiltered, so returns all rate records in the order they were added or modified, oldest first.
With includes
Request the rate_cards include to receive the rate cards referenced by the page's rates,
with their field definitions.
Filters
The rates feed supports rate_card, supplier, sourcing_event, archived, and the
modified_after / modified_before date range. Filters are applied additively.
If no date filters are provided, the feed returns the last 45 days of data by default.
Rate cards feed
Lists your organisation's rate cards, each with its fields definitions, oldest-modified
first, with the same modified_after / modified_before and 45-day default window
conventions as the other feeds. Supports category and archived filters.
The fields entries are the columns the card's rates carry values for, and their
position is the order those values appear in.
Note
Like the other feeds, this one applies the 45-day default window. A card that has not
changed recently is only returned if you widen it with modified_after.
Data updates
Like the other Export API feeds, modified records are re-appended to the end of the feed
rather than updated in place, so cursor-based consumers observe every change. Deleting a
rate or card is a soft delete: the record re-appears with archived: true.
Typical consumer workflow
- Poll the feeds periodically.
- Pull the changes:
GET /api/feeds/rate-manager/rates?rate_card={card}&modified_after={last_sync} - Refresh the card's field definitions from the
rate_cardsinclude when itsmodifiedtimestamp has advanced — a design change can rename or drop a column on rates you have already pulled.