Home
Olo
Olo Promotions Structure
Olo Promotions Structure
JSON Structure documentation for the core entities of the Olo Promotions Specification: loyalty accounts, promotion requests, baskets, and transactions exchanged between Olo and a promotions provider.
Type: object
Properties: 3
Food Service Restaurant Online Ordering Delivery Point-of-Sale Hospitality Payments Loyalty Marketing
OloPromotions is a JSON Structure definition published by Olo, describing 3 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
account
basket
transaction
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/olo/main/json-structure/olo-promotions-structure.json",
"name": "OloPromotions",
"description": "JSON Structure documentation for the core entities of the Olo Promotions Specification: loyalty accounts, promotion requests, baskets, and transactions exchanged between Olo and a promotions provider.",
"type": "object",
"properties": {
"account": {
"type": "object",
"description": "A guest's loyalty account.",
"properties": {
"id": { "type": "string" },
"status": { "type": "string", "enum": ["Active", "Inactive"] },
"balance": {
"type": "object",
"properties": {
"quantity": { "type": "number" },
"target": { "type": "number" },
"unit": { "type": "string" }
}
},
"rewards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" },
"quantity": { "type": "int32" },
"currency": { "type": "string" },
"expiration": { "type": "string", "format": "date-time" },
"type": { "type": "string" },
"imageUrl": { "type": "string" }
}
}
}
}
},
"basket": {
"type": "object",
"description": "The basket contents for an order.",
"properties": {
"id": { "type": "string" },
"rewards": { "type": "array", "items": { "type": "object" } },
"coupons": { "type": "array", "items": { "type": "object" } },
"entries": { "type": "array", "items": { "type": "object" } },
"posEntries": { "type": "array", "items": { "type": "object" } }
}
},
"transaction": {
"type": "object",
"description": "The result of a Promotions operation, optionally including validated or redeemed promotions.",
"properties": {
"id": { "type": "string" },
"promotions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "string" },
"type": { "type": "string", "enum": ["Coupon", "Reward"] },
"discount": { "type": "number" },
"reference": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["Promo", "Comp"] },
"code": { "type": "string" }
}
}
}
}
}
}
}
}
}
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/olo-promotions-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms .
A second provider on the same verified email joins the account you already have.