TPP Public API · MCP connector

Operate TPP from your AI agent

The whole public API, exposed as 28 agent-callable tools over the Model Context Protocol. Connect your agent, paste your existing API key, and run loyalty operations in natural language.

Works with

ChatGPT
Claude
Cursor
n8n
+ any MCP-capable client

What you can do

Onboard & sync players

Register a player the moment they sign up, keep their profile current, or find them by your own external_id. All in natural language.

Run the coin wallet

Credit a bonus, debit a redemption, or read the balance and its movement history. Money moves under a row lock, so an agent's retries can't double-spend.

Browse the catalog

Search products visible to your sub-brand and inspect their variants. Prices and availability are resolved and veiled server-side, so the agent only ever sees sell prices.

Place & track orders

Reserve an order, follow it from pending to delivered, read carrier and tracking, or cancel before it ships. The agent confirms before anything destructive.

Explore storefronts

List the sub-brand's stores and read their configuration and catalogs, so the agent can point a player to the right store or attribute a redemption.

Run bulk actions by segment

Reward whole cohorts in one sentence: “give 1000 coins to everyone who registered before June 2026” or “gift the VIPs”. Target by coins, order count, dates, country or segment.

Connect it in 2 minutes

ChatGPTClaudeCursorn8n
01

Create an API key

In the backoffice, open Sub-brand → API keys and mint a tpp_live_* token with only the scopes the agent needs.

02

Add the connector

In ChatGPT (Developer Mode) or Claude, add a custom connector: paste the endpoint URL and your token as the Bearer credential.

03

Start chatting

The client lists the tools automatically. Ask in plain language and the agent picks the right calls, confirming before anything destructive.

Connector URL

Click to copy, then paste it with your bearer token into the connector settings.

Prefer to introspect first? The machine-readable manifest, with a JSON Schema per tool, lives at /api/mcp/tools.

See it in action

The same operations a partner runs over HTTP, driven by an agent in plain language. Each reply names the tools it called.

ChatGPTChatGPT · TPP connector

Ask anything

Illustrative. Real replies depend on your data and your key's scopes.

Tool catalogue (28)

Generated from the same registry the connector uses, so it is always in sync.

ToolProxies toScopeHints
adjust_customer_coinsPOST /customers/{id}/coinscustomers:coins
idempotent
bulk_adjust_customer_coinsPOST /customers/bulk/coinscustomers:coins
idempotent
cancel_orderDELETE /orders/{id}orders:delete
destructiveidempotent
create_customerPOST /customerscustomers:create
idempotent
create_store_sessionPOST /store-sessionsstore_sessions:create
delete_customerDELETE /customers/{id}customers:delete
destructiveidempotent
get_brand_sub_brandGET /brands/{brandId}/sub-brands/{subBrandId}brands:read
read-only
get_catalogGET /catalogs/{id}catalogs:read
read-only
get_customerGET /customers/{id}customers:read
read-only
get_customer_coinsGET /customers/{id}/coinscustomers:read
read-only
get_healthGET /healthcustomers:read
read-only
get_orderGET /orders/{id}orders:read
read-only
get_order_reservation_requestGET /order-reservations/{id}orders:read
read-only
get_order_shippingGET /orders/{id}/shippingorders:read
read-only
get_productGET /products/{id}products:read
read-only
get_storeGET /stores/{id}stores:read
read-only
ingest_engine_eventPOST /engine/eventsengine:events
idempotent
ingest_engine_webhookPOST /engine/webhooks/{code}engine:events
list_catalogsGET /catalogscatalogs:read
read-only
list_categoriesGET /categoriescategories:read
read-only
list_customer_coin_movementsGET /customers/{id}/coins/movementscustomers:read
read-only
list_customersGET /customerscustomers:read
read-only
list_ordersGET /ordersorders:read
read-only
list_storesGET /storesstores:read
read-only
reserve_orderPOST /ordersorders:create
idempotent
search_productsGET /productsproducts:read
read-only
update_customerPATCH /customers/{id}customers:update
update_order_shippingPATCH /orders/{id}/shippingorders:update

Safe by construction

Your key, your scope

The connector forwards your bearer verbatim and stores no credentials. A tool whose endpoint needs a scope your key lacks simply returns 403, so a read-only key can't be talked into writing.

Safe retries

Money endpoints get an auto-generated Idempotency-Key per call, so an agent that retries when unsure never double-charges. Pass your own idempotency_key to repeat a call deliberately.

Confirm before destroy

cancel_order and delete_customer are flagged destructive, so the client asks for confirmation before running them. Reads are flagged read-only and run freely.

Same guarantees as the API

Sub-brand scoping, the provider veil, rate limits and the audit log are all enforced by the API. The MCP is a thin passthrough, so nothing is weaker than a direct HTTP integration.

Two ways in, one contract

Write code against the REST API, or let an agent drive the same endpoints over MCP. Same key, same scopes, same guarantees.

Open the API Reference →