Adjoin

API keys

For the MCP server (Claude, Cursor) and for confirming orders from your own server. Keys can't create other keys or request payouts.

New key
NameKeyScopesCreatedLast used
Confirm orders from your server (S2S)Set the campaign's conversion source to Server. Save the aj_t query value from the landing URL with the visitor's account or cart, and send it when the order is paid — days later is fine (7-day window). Can't be forged from the browser, unlike the page pixel.
curl -X POST https://api.adjoin.dev/v1/conversions/s2s \
  -H "Authorization: Bearer $ADJOIN_KEY" -H "Content-Type: application/json" \
  -d '{"click_token":"<aj_t>","order_id":"order_1234","value_micros":49900000}'

# refund / cancel inside the return window
curl -X POST https://api.adjoin.dev/v1/conversions/s2s/refund \
  -H "Authorization: Bearer $ADJOIN_KEY" -H "Content-Type: application/json" \
  -d '{"campaign_id":"cmp_…","order_id":"order_1234"}'
MCP (Claude Desktop, Cursor)Use a key with Read + Write to launch campaigns from chat. The server runs from a clone of the repository (it isn't published to npm yet).
{
  "mcpServers": {
    "adjoin": {
      "command": "node",
      "args": ["C:/code/adjoin/apps/mcp-server/src/index.mjs"],
      "env": { "ADJOIN_API": "https://api.adjoin.dev", "ADJOIN_API_KEY": "adj_live_…" }
    }
  }
}