In this section: Balances
Balances
Loyalty-point balances a member has told Miles about, and the reconciliation questions a transactions agent could answer.
get_balances
The loyalty-point balances the user has told Miles about -- Ultimate Rewards, Membership Rewards, airline and hotel currencies. To RECORD one, see set_balances.
| Scope | Quota |
|---|---|
miles:read | standard |
| Name | Type | Required | Description |
|---|---|---|---|
programs | string[] | Loyalty program names to limit the read to, e.g. ["Chase Ultimate Rewards", "Marriott Bonvoy"]. Omit for every balance on file. |
get_reconciliation_needs
QUESTIONS, not assertions, about the wallet that transaction data could answer -- the division of labor with a transactions agent (Copilot Money's MCP or similar): Miles knows what a transaction would MEAN; the agent knows where transactions ARE. Miles never sees spending, so it cannot confirm anything here itself.
| Scope | Quota |
|---|---|
miles:read | standard |
No parameters.
set_balances
Record loyalty-point balances you have READ or reconciled -- from a statement, an account page, or something the user told you. Requires reconciliation write access (the narrower of the two write grants). undo_balance_write reverses any call to this one.
| Scope | Quota |
|---|---|
miles:write:reconcile | standard |
| Name | Type | Required | Description |
|---|---|---|---|
entries | object[] | required | A list of rows, one per loyalty program, even for a single row. Each row is {program, points, as_of?, expires_on?, cardholder?, confirm?}. program is the program's full name as Miles spells it; points a whole number; as_of an ISO date the reading was accurate, defaulting to now; expires_on an ISO date the points expire, only ever one you READ, never one you worked out; cardholder a household member's name or id, omitted for the account holder's own balance; confirm: true re-affirms a row a previous call flagged for review. Any source field is discarded; every row is stamped agent_reconciled. Replaying the same batch overwrites in place. |
undo_balance_write
Put back what the balances looked like before one set_balances call. Requires reconciliation write access, the same grant set_balances needs.
| Scope | Quota |
|---|---|
miles:write:reconcile | standard |
| Name | Type | Required | Description |
|---|---|---|---|
history_id | integer | The history_id a set_balances call returned. Omit it to reverse the most recent balance write this app made that has not already been undone. |