Api-Key is the integration key, and Api-User is the Pointagram login (email address) the key belongs to. Add a Custom Integration under Settings, Integrations, click Create Credentials, then Show Key; the key is a password, so keep it out of code. Both values are read from the account, never from plugin options; test.credentials confirms the pair without touching tenant data.
Things to know before you score anything:
- Adding points.
scoreSeries.addPointsis how work done elsewhere becomes points. Supply one player identifier (player_id,player_name,player_emailorplayer_external_id), one target (scoreseries_idorscoreseries_name, not both) and an amount (pointsor apointtype_namethe series defines). The plugin rejects a call that breaks any of those rules before it is sent. - Retry safety. Pass
source_score_idwhen the caller may retry, such as an order id: Pointagram treats a second call with the same value as a revision, revoking the earlier transaction instead of scoring twice. - Tags. Score tags are sent as the JSON string inside the body that Pointagram parses, so pass
tags: [{ name: 'North' }]and the plugin encodes it. - Paging.
players.listandscoreSeries.historyreturnpagination.next_offset; pass it back asoffset. The page size defaults to 50 and stops at 1000. - Reward store. Every store route needs a
profileid; a purchase also spends the player’s currency, so it is marked destructive. Revoking an order is final because the docs do not say the currency comes back. - A rejected key looks like a missing page. Pointagram answers a wrong key with HTTP 404 and
Invalid Credentials, not a 401. The plugin tells the two apart, so a bad key is reported as an auth failure. - Webhooks. The plugin does not receive webhooks, because Pointagram sends none.
- 28 typed API operations
Setup
1
Install
2
Add the plugin
corsair.ts
multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.3
Choose authentication
- API Key (Recommended)
Store the Pointagram API key before the first call: More: API Key
pnpm corsair setup --plugin=pointagram --tenant=acme api_key=<your-key> (leave out --tenant without multiTenancy), or pass it as key in the plugin options. With Hub, each tenant enters their own key on the connect page. See API key auth.4
Connect a tenant
Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.
Example API calls
List your competitionsWhat’s next
API reference
Every
pointagram.api.* operation with input and output types.Connect / OAuth
createLink, Hub delivery, and tenant connect flows.
Use with agents
Expose this plugin’s operations as MCP tools.