Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Loyalty API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmoneris.io%2Fmoneris-loyalty-api" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmoneris.io%2Fmoneris-loyalty-api" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Loyalty API.
Check a member's total and available points balance and redeemable rewards by cardId
Accumulate loyalty points on a purchase, including line items and applied promotions
Redeem points against a transaction amount and record the redemption on an invoiceId
Redeem reward items for a card and read the reward choices available to it
Reverse a loyalty transaction in full, in part by points, or item by item
GET STARTED
Commit an accumulation or redemption that was submitted with autoCommit turned off
Fetch program initialization settings and a QR code sign-up link for new members
Patterns agents use Loyalty API for, with concrete tasks.
★ AI checkout assistant that awards and redeems loyalty points
An agent handling a checkout needs to show the shopper their points and apply them without a developer hand-wiring OAuth for the Moneris loyalty service. Through Jentic the agent searches for 'check a loyalty card balance', loads the Moneris balance operation with its input schema, and then calls the redemption operation for the amount the shopper chooses. The OAuth client credentials token is fetched and attached by your own Jentic One instance, so the agent only handles the cardId and transaction values.
Call POST /loyalty/balance with the channel, cardId, timestamp, currency CAD, and languageCode en, then call POST /loyalty/redemptions to redeem 500 redeemedPoints against a 42.50 transactionAmount on invoiceId INV-1042
Earning points on in-store and online purchases
A merchant running a Moneris loyalty program awards points every time a member pays, whether at a terminal or an online checkout. The accumulation operation takes the transaction amount, payment method, and optional line items with eligibleForAccumulation flags, and returns the points added, promotion points, and the new total balance. A channel object identifies a terminal, checkout, or API source so activity is traced to where it happened.
Call POST /loyalty/accumulations for cardId 6012345678901234 with a TerminalChannel, a 120.00 transactionAmount, paymentMethod, currency, languageCode, and two line items, then report addedPoints and totalBalancePoints
Reversing loyalty activity after a refund
When a purchase is refunded or a single item is returned, the points earned on it should come back off the member's balance. The Loyalty API offers a full reversal keyed on the originalTransactionId and reversedAmount, a partial reversal by reversedPoints, and an item-level reversal for specific line items. This keeps loyalty balances aligned with the merchant's refund records.
Call POST /loyalty/reversal with the channel, cardId, timestamp, currency, languageCode, originalTransactionId, reversedAmount 35.00, and invoiceId of the refunded order
Two-step loyalty transactions with explicit commit
Some checkouts hold loyalty activity open until payment settles. Accumulation, redemption, and reward redemption requests accept an autoCommit flag; when it is off, the transaction stays pending until a commit call with the channel, cardId, originalTransactionId, and timestamp finalises it. This lets a checkout avoid awarding points for a payment that later fails.
Call POST /loyalty/accumulations with autoCommit false, wait for the payment to settle, then call POST /loyalty/commit with the channel, cardId, the returned transactionId as originalTransactionId, and a timestamp
12 endpoints — the moneris loyalty api records loyalty activity for a merchant's card-based rewards program at the point of sale or checkout.
METHOD
PATH
DESCRIPTION
/loyalty/balance
Get loyalty balance
/loyalty/accumulations
Accumulate loyalty points
/loyalty/redemptions
Redeem loyalty points
/loyalty/reward-redemptions
Redeem rewards
/loyalty/reversal
Full reversal
/loyalty/commit
Commit a pending transaction
/loyalty/initialization
Get loyalty program settings
/loyalty/balance
Get loyalty balance
/loyalty/accumulations
Accumulate loyalty points
/loyalty/redemptions
Redeem loyalty points
/loyalty/reward-redemptions
Redeem rewards
/loyalty/reversal
Full reversal
/loyalty/commit
Commit a pending transaction
/loyalty/initialization
Get loyalty program settings
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Moneris Loyalty API by hand means running the OAuth client credentials exchange against the Moneris token endpoint, refreshing the token, and building the channel object every request needs. Through Jentic you install once, import the Loyalty API from the API Directory, store the client credentials once, and your agent calls it.
Permission scoping
Every Loyalty operation carries the cardId in the request body rather than the URL path, so rules bound which operations your agent may call, not which card. You choose the operations it may call, so ones that move points like redemptions or reversals are not included unless you add them.
Credential isolation
Your Moneris client credentials are stored once, encrypted, by your own Jentic One instance, which fetches the access token and injects it at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'redeem loyalty points' or 'reverse a loyalty transaction', and Jentic returns the matching Moneris Loyalty operation with its input schema, including the required channel, cardId, and timestamp fields.
Alternatives and complements available in the Jentic catalogue.
Specific to using Loyalty API through Jentic.
What authentication does the Moneris Loyalty API use?
Per its OpenAPI spec, the Moneris Loyalty API uses OAuth 2.0 with the client credentials flow, exchanging a client ID and secret at the Moneris OAuth token endpoint for a bearer access token. The spec applies this oauth2 scheme to all 12 operations. Through Jentic your client credentials are stored by your own Jentic One instance, which obtains the token and attaches it at call time so the agent never sees it.
Can I reverse only part of a loyalty transaction with the Moneris Loyalty API?
Yes. POST /loyalty/partial-reversal takes reversedPoints to remove part of the points from an earlier transaction, and POST /loyalty/item-reversal takes the items to reverse individual line items. For a full undo, POST /loyalty/reversal takes the originalTransactionId, reversedAmount, and invoiceId.
What are the rate limits for the Moneris Loyalty API?
The OpenAPI spec does not specify rate limits for the Loyalty API. Check the Moneris developer portal at https://developer.moneris.com for current limits on your merchant account.
Is there a Moneris Loyalty MCP server?
You don't need an MCP server to give your agent the Moneris Loyalty API. Jentic connects it directly from the API Directory: import it, store your OAuth client credentials once, and your agent calls the balance, accumulation, and redemption operations on demand without another server's tool definitions sitting in its context.
Can I limit what my agent is allowed to do with the Moneris Loyalty API?
Yes. Write a rule that allows only the balance and reward-details operations, so the agent can tell a shopper their points and rewards but cannot accumulate, redeem, or reverse anything. If you later want it to redeem at checkout, add the redemption operation to the rule, and every call it makes is logged.
How do I check a member's points through Jentic?
Search Jentic for 'check a loyalty card balance', load the POST /loyalty/balance operation, and execute it with the channel, cardId, timestamp, currency, and languageCode. The response returns totalBalancePoints, totalAvailablePoints, and any rewards on the card. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Know of an official OpenAPI document? Contribute it →
For Agents
Check loyalty balances, accumulate and redeem points, redeem rewards, and reverse or commit loyalty transactions for a Moneris merchant loyalty program by card ID.
Use for: Check the points balance on a loyalty card, I need to add loyalty points for a customer's purchase, Redeem points against a checkout total, Find the rewards available on a member's card
Not supported: Does not process card payments, issue refunds, or manage customer billing profiles. Use for Moneris loyalty points and rewards transactions only.
The Moneris Loyalty API records loyalty activity for a merchant's card-based rewards program at the point of sale or checkout. It checks a member's points balance, accumulates points on a purchase with optional line items and promotions, redeems points against a transaction, and redeems reward items for a card. Full, partial, and item-level reversals undo earlier activity, a commit call finalises transactions held open, and non-member accumulation records points for shoppers who have not yet joined. The initialization and QR code calls return program settings, transaction limits, and a sign-up link.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>