Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the LoyaltyDog, 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%2Floyalty.dog%2Floyalty" | 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%2Floyalty.dog%2Floyalty" | 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 LoyaltyDog API.
Enrol a customer in a loyalty program with firstName, lastName, email, phone, and starting points via POST /v2/loyalty/programs/{programId}/customers
Add reward points to a customer's account through POST /v2/loyalty/programs/{programId}/customers/{customerId}/points/add
Publish, cancel, or duplicate program offers and let a customer claim one through the offers/{offerId}/claim operation
Push a message to every consenting pass holder in a program via POST /v2/loyalty/programs/{programId}/customers/push
GET STARTED
Issue, reload, redeem, and refund gift cards, including bulk issuance with an async task to poll
Generate a save-to-wallet link for a pass and update its values, status, or images under /v2/passes/{passTypeIdentifier}/{serialNumber}
Record marketing_email, marketing_sms, analytics, or data_sharing consents for a customer and read them back
Patterns agents use LoyaltyDog API for, with concrete tasks.
★ Point-of-sale loyalty agent through Jentic
A store assistant agent awards points after each purchase. It searches Jentic for 'add loyalty points to a customer', receives the LoyaltyDog points operation with its input schema, finds the customer by email with the customers list operation, and posts the points to POST /v2/loyalty/programs/{programId}/customers/{customerId}/points/add. The updated points total comes back in the response, so the agent can tell the customer their new balance.
Call GET /v2/loyalty/programs/{programId}/customers with email 'ana@example.com', then POST /v2/loyalty/programs/{programId}/customers/{customerId}/points/add with points 50 and report the new total
Wallet pass promotions
Announce a weekend offer straight to customers' phones. The merchant publishes an offer with POST /v2/loyalty/programs/{programId}/offers/{offerId}/publish, then sends a message with the program-wide push operation. The response reports recipients and members, so the merchant sees how many pass holders granted marketing consent and actually receive the notification.
Publish the offer with POST /v2/loyalty/programs/{programId}/offers/{offerId}/publish, then call POST /v2/loyalty/programs/{programId}/customers/push with message 'Double points this weekend' and report recipients versus members
Gift card issuance and redemption
Run a gift card program next to the loyalty card. POST /v2/giftcards/programs/{programId}/cards/bulk issues multiple cards with an initialValue and returns a task to poll, while redeem, reload, and refund operations handle the card's lifecycle at the till with a posTransactionId and terminalId for reconciliation.
Call POST /v2/giftcards/programs/{programId}/cards/bulk with initialValue 25 and count 100, then poll GET /v2/giftcards/programs/{programId}/cards/bulk/{taskId} until the task completes
Consent and privacy requests
Keep marketing consent and data-subject requests in order. Consents are recorded per customer with a consentType such as marketing_email or marketing_sms, a method such as checkbox or pos_terminal, and a policyVersion, and a customer's data can be exported or a DSAR request created and tracked through its status.
Call POST /v2/loyalty/programs/{programId}/customers/{customerId}/consents with consentType marketing_sms, granted true, method checkbox, and the current policyVersion
257 endpoints — the loyaltydog api runs digital loyalty programs delivered as wallet passes, letting a merchant enrol customers, add reward points, publish offers and vouchers, and push messages to the passes on customers' phones.
METHOD
PATH
DESCRIPTION
/v2/token
Log in and obtain a JWT access token
/v2/loyalty/programs/{programId}/customers
Enrol a customer in a program
/v2/loyalty/programs/{programId}/customers/{customerId}/points/add
Add reward points to a customer
/v2/loyalty/programs/{programId}/customers/push
Push a message to all consenting pass holders
/v2/loyalty/programs/{programId}/offers/{offerId}/publish
Publish an offer
/v2/giftcards/programs/{programId}/cards/bulk
Issue multiple gift cards
/v2/passes/{passTypeIdentifier}/{serialNumber}/savetowallet
Get the save-to-wallet URL for a pass
/v2/webhooks
Create a webhook
/v2/token
Log in and obtain a JWT access token
/v2/loyalty/programs/{programId}/customers
Enrol a customer in a program
/v2/loyalty/programs/{programId}/customers/{customerId}/points/add
Add reward points to a customer
/v2/loyalty/programs/{programId}/customers/push
Push a message to all consenting pass holders
/v2/loyalty/programs/{programId}/offers/{offerId}/publish
Publish an offer
/v2/giftcards/programs/{programId}/cards/bulk
Issue multiple gift cards
/v2/passes/{passTypeIdentifier}/{serialNumber}/savetowallet
Get the save-to-wallet URL for a pass
What agents get from Jentic-routed access to this vendor.
Setup
Wiring LoyaltyDog by hand means logging in through the OAuth2 password form at POST /v2/token, refreshing the JWT, handling MFA, and sending separate Eposn token headers on gift card routes. Through Jentic you install once, import LoyaltyDog from the API Directory, store your token once, and your agent calls it.
Permission scoping
LoyaltyDog puts the program id in the URL path (/v2/loyalty/programs/{programId}/...), so a rule can pin your agent to one loyalty program and the operations you pick. You choose the operations it may call, so destructive ones like customer purge or gift card void are not included unless you add them.
Credential isolation
Your LoyaltyDog token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'add loyalty points to a customer' or 'issue gift cards', and Jentic returns the matching LoyaltyDog operation with its input schema, out of 257, so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using LoyaltyDog API through Jentic.
What authentication does the LoyaltyDog API use?
Per its OpenAPI spec, the LoyaltyDog API uses an HTTP bearer JWT obtained by posting a username and password to POST /v2/token; MFA logins finish at POST /v2/token/mfa-verify. Gift card routes also accept X-Eposn-Customer-Token and X-Eposn-Merchant-Token headers, and a few routes such as signup and gift card balance checks need no token. Through Jentic, the token is stored encrypted by your own Jentic One instance and injected at execution time.
Can I add points to a customer with the LoyaltyDog API?
Yes. POST /v2/loyalty/programs/{programId}/customers/{customerId}/points/add takes a required points value and returns the updated customer with the new total. It accepts an Idempotency-Key header, so a retried request after a timeout does not award the points twice.
What are the rate limits for the LoyaltyDog API?
The OpenAPI spec does not publish a general rate limit. It states that the customer gift card balance check is rate limited to 5 requests per minute per IP, and warns that excessive push notifications can lead to rate limiting or blocking of your cards. See https://loyalty.dog/contact-us for current limits.
How do I send a push message to my loyalty customers through Jentic?
Install Jentic One, add the LoyaltyDog API from the Jentic directory, and store your token. Your agent searches for 'send a push message to loyalty customers', receives POST /v2/loyalty/programs/{programId}/customers/push with its message field, and the response reports recipients and members so you can see how many granted marketing consent. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Why did my LoyaltyDog push reach fewer customers than hold the pass?
Marketing consent is opt-in, so recipients counts only customers who answered yes, while members counts everyone holding the pass. The push operation returns HTTP 409 when the program requires consent but has nobody to send to, or when the audience already holds the same message, because wallet passes only notify when the text changes.
Is there a LoyaltyDog MCP server?
LoyaltyDog's spec links to its own MCP integration guide. You can also connect the LoyaltyDog API directly through Jentic: your agent gets the full 257-endpoint surface from the spec without loading another server's tool definitions into its context, your token is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.
Can I limit what my agent is allowed to do with the LoyaltyDog API?
Yes. For a till assistant, allow only the customer lookup and points/add operations under your program's programId, so the agent can find a member and award points but cannot purge customers, push messages, or issue gift cards. The agent's calls are logged for review.
For Agents
Enrol customers in a LoyaltyDog program, add points, publish offers and vouchers, push messages to wallet passes, and issue or redeem gift cards. Authenticates with a JWT bearer token.
Use for: I need to add 50 points to a customer's loyalty card, Enrol a new customer in our coffee shop loyalty program, Send a push message to every pass holder about this weekend's offer, List all customers in a loyalty program by email
Not supported: Does not process card payments, run an online storefront, or send email campaigns. Use for wallet-pass loyalty programs, points, offers, vouchers, and gift cards only.
The LoyaltyDog API runs digital loyalty programs delivered as wallet passes, letting a merchant enrol customers, add reward points, publish offers and vouchers, and push messages to the passes on customers' phones. Beyond loyalty cards it covers pass templates with branding and images, individual passes with save-to-wallet links and status, gift cards with issuance, reloads, redemptions, refunds, and fraud alerts, plus scanners, webhooks, and customer consent records. Calls authenticate with a JWT bearer token obtained from the token endpoint, and app keys can be created, rotated, and revoked for integrations.
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.
/v2/webhooks
Create a webhook
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>