Getting Started with Syndicate Links

Time to first API call: ~5 minutes

Syndicate Links is the attribution and commission infrastructure layer for AI-driven commerce. Whether you're a merchant running programs, a publisher earning commissions, or an agent developer building programmatic referral flows — this guide gets you live.

Jump to your role:


Shared Setup (All Roles)

Step 1 — Create Your Account

Merchants: Sign up at app.syndicatelinks.co

Publishers: Sign up at affiliate.syndicatelinks.co

Agent Developers: Sign up as a publisher first, then issue agent-scoped keys from your account.

Step 2 — Get Your API Key

Your API key is in Settings → API Keys. Key prefixes tell you what the key can do:

PrefixTypeUsed for
mk_live_Merchant keyCreating programs, managing affiliates, accessing merchant data
ak_live_Publisher account keyJoining programs, generating links, issuing agent keys
aff_agent_Agent keyProgrammatic attribution tracking (AI agents)

Keep your keys out of client-side code and version control. Rotate them from the dashboard if compromised.

Step 3 — Verify Your Key

Confirm your key works by fetching a lightweight endpoint for your role.

Publishers:

import requests

resp = requests.get(
    "https://api.syndicatelinks.co/affiliate/me",
    headers={"Authorization": "Bearer YOUR_AK_LIVE_KEY"},
)
print(resp.json())

Merchants:

Confirm your merchant key works by listing your programs. A brand-new account should still return 200 with an empty data array.

import requests

resp = requests.get(
    "https://api.syndicatelinks.co/merchant/programs",
    headers={"Authorization": "Bearer YOUR_MK_LIVE_KEY"},
)
print(resp.json())

A 200 response means your key is live. New merchants will usually see { "data": [], "cursor": null, "hasMore": false } until they create their first program. A 401 means the key is invalid or missing — check the prefix matches your role.


Merchant Path

Create a Commission Program

From the dashboard: Programs → New Program.

Configure:

  • Commission rate — percentage or flat fee per conversion
  • Cookie window — how long after a click a publisher gets credit (e.g., 30 days)
  • Approval mode — auto-approve publishers or review manually
  • Program name and description — what publishers see when browsing your program

Or via API:

import requests

resp = requests.post(
"https://api.syndicatelinks.co/merchant/programs",
headers={
"Authorization": "Bearer YOUR_MK_LIVE_KEY",
"Content-Type": "application/json",
},
json={
"name": "My Affiliate Program",
"commissionRate": 10,
"commissionType": "percentage",
"cookieWindow": 30,
"autoApprove": True,
},
)
print(resp.json())

Manage Your Affiliates

View publishers enrolled in your programs:

curl https://api.syndicatelinks.co/merchant/affiliates \
  -H "Authorization: Bearer YOUR_MK_LIVE_KEY"

Pending publishers appear in Programs → [Program Name] → Pending Approvals. Approve or reject from the dashboard or via API.

View Your Programs

curl https://api.syndicatelinks.co/merchant/programs \
  -H "Authorization: Bearer YOUR_MK_LIVE_KEY"

Track Conversions

Conversions are tracked automatically when a publisher's tracking link is used. For server-side tracking or custom integrations, use the track endpoint:

curl -X POST https://api.syndicatelinks.co/track \
  -H "Authorization: Bearer YOUR_MK_LIVE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "event": "purchase",
    "trackingCode": "trk_abc123",
    "orderValue": 49.00,
    "currency": "USD",
    "orderId": "order_12345"
  }'

View Payouts

Check commission payouts owed to your publishers:

curl https://api.syndicatelinks.co/merchant/payouts \
  -H "Authorization: Bearer YOUR_MK_LIVE_KEY"

Payout methods include Stripe Connect and Bitcoin Lightning (via BTCPay). Configure your payout rails in Settings → Payout Methods.

What's Next (Merchants)

ResourceLink
Full API Referencesyndicatelinks.co/docs/api-reference
Stripe MPP Integrationsyndicatelinks.co/docs/stripe-mpp
Dashboardapp.syndicatelinks.co

Publisher Path

Browse and Join Programs

Discover active commission programs at affiliate.syndicatelinks.co or query via API:

curl https://api.syndicatelinks.co/affiliate/programs \
  -H "Authorization: Bearer YOUR_AK_LIVE_KEY"

From the dashboard: Programs → Browse → Join. Some programs auto-approve; others require merchant approval. You'll be notified when your application is reviewed.

Once approved, find your affiliate link in Programs → [Program Name] → Your Link. This is the URL you embed in your content, newsletter, social posts, or recommendations.

When a user clicks your tracking link and completes a purchase within the cookie window, the conversion is attributed to you and commission is credited automatically.

Check Your Earnings

View your commission balance and payout history:

curl https://api.syndicatelinks.co/v1/agent/commission \
  -H "Authorization: Bearer YOUR_AK_LIVE_KEY"

Or check the dashboard at Earnings → Overview for a visual breakdown by program.

Configure Payout Method

Set up how you get paid in Settings → Payout Methods:

  • Stripe — direct bank transfer
  • Bitcoin Lightning — instant settlement via BTCPay

What's Next (Publishers)

ResourceLink
Full API Referencesyndicatelinks.co/docs/api-reference
Issue Agent Keys (for AI agents)See Agent Developer section below
Publisher Portalaffiliate.syndicatelinks.co

Agent Developer Path

If you're building an AI assistant, shopping agent, or any software that recommends products to users — this section is for you. Syndicate Links provides agent-native attribution so your agent can earn commission on conversions it drives, without browser cookies or tracked clicks.

Step 1 — Create a Publisher Account

Agent developers register as publishers first. Sign up at affiliate.syndicatelinks.co and get your ak_live_ key.

Step 2 — Issue an Agent Key

Agent keys (aff_agent_ prefix) are scoped for programmatic use. Issue one via API:

import requests

resp = requests.post(
"https://api.syndicatelinks.co/affiliate/keys",
headers={
"Authorization": "Bearer YOUR_AK_LIVE_KEY",
"Content-Type": "application/json",
},
json={"type": "agent", "label": "my-shopping-agent-v1"},
)
print(resp.json())

Response:

{
"key": "aff_agent_abc123...",
"type": "agent",
"label": "my-shopping-agent-v1",
"createdAt": "2026-03-30T12:00:00Z"
}

Store this key securely. Your agent uses it for all attribution API calls.

Step 3 — Join a Merchant Program

Same as the publisher path — browse programs and join the ones relevant to your agent's recommendations:

curl https://api.syndicatelinks.co/affiliate/programs \
  -H "Authorization: Bearer YOUR_AK_LIVE_KEY"

Step 4 — Submit Attribution Events

When your agent recommends a product and the user completes a purchase, fire an ai_referral event:

import requests

resp = requests.post(
"https://api.syndicatelinks.co/v1/track/ai-referral",
headers={
"Authorization": "Bearer YOUR_AFF_AGENT_KEY",
"Content-Type": "application/json",
},
json={
"event": "ai_referral",
"trackingCode": "trk_abc123",
"orderValue": 79.99,
"currency": "USD",
"ai_surface": "chatgpt",
"metadata": {
"conversationId": "conv_456",
"agentVersion": "1.0.2",
},
},
)
print(resp.json())

Key fields:

FieldRequiredDescription
eventYesEvent type — use ai_referral for agent-driven recommendations
trackingCodeYesThe tracking code from the merchant's program
orderValueYesSale amount in the transaction currency
currencyNoISO 4217 code (default: USD)
ai_surfaceRecommendedWhich AI surface made the recommendation (chatgpt, gemini, perplexity, claude, custom)
metadataNoFreeform key-value pairs for your own tracking

The ai_surface field is captured into attribution context and will appear in merchant compliance reports. Include it whenever possible.

Step 5 — Check Agent Commission

Query your agent's earned commissions:

curl https://api.syndicatelinks.co/v1/agent/commission \
  -H "Authorization: Bearer YOUR_AFF_AGENT_KEY"

ACP Transaction Token Support

If you're building on the Agentic Commerce Protocol (ACP), Syndicate Links can ingest ACP checkout session tokens alongside attribution events. Include the token as metadata:

curl -X POST https://api.syndicatelinks.co/v1/track/agent-attribution \
  -H "Authorization: Bearer YOUR_AFF_AGENT_KEY"
-H "Content-Type: application/json" \
-d '{
    "affiliate_id": "your-affiliate-uuid",
    "merchant_id": "merchant-uuid",
    "attribution_token": "slat_v1_...",
    "agent_id": "your-agent-id",
    "sale_amount": 4999,
    "metadata": {
    "acp_transaction_token": "acp_tok_abc123"
    }
}'

For the full ACP integration reference, see ACP Attribution docs.

What's Next (Agent Developers)

ResourceLink
ACP Attribution Referencesyndicatelinks.co/docs/acp-attribution
Full API Referencesyndicatelinks.co/docs/api-reference
Stripe MPP (Machine Payments)syndicatelinks.co/docs/stripe-mpp

Using the MCP Server (AI Agent Integration)

If you're building with Claude Desktop, Cursor, or any MCP-compatible agent framework, the Syndicate Links MCP server exposes all 7 attribution and program management tools natively — no custom API integration required.

Install

npm install -g syndicate-links-mcp

Or run without installing:

npx syndicate-links-mcp

Configure in Claude Desktop

Add to your Claude Desktop claude_desktop_config.json:

{
  "mcpServers": {
    "syndicate-links": {
      "command": "npx",
      "args": ["syndicate-links-mcp"],
      "env": {
        "SYNDICATE_API_URL": "https://api.syndicatelinks.co",
        "SYNDICATE_AGENT_KEY": "aff_agent_your_key_here"
      }
    }
  }
}

Optional keys (only needed for specific tools):

KeyRequired for
SYNDICATE_AGENT_KEYtrack_agent_conversion, get_commission_status
SYNDICATE_MERCHANT_KEYlist_merchant_programs
SYNDICATE_ADMIN_SECRETrun_payout_cycle
AGENT_TOKEN_SECRETverify_attribution_token

Generate an Agent Key

Before configuring the MCP server, generate an aff_agent_ key:

curl -X POST https://api.syndicatelinks.co/affiliate/keys \
  -H "Authorization: Bearer YOUR_AK_LIVE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "agent", "label": "claude-desktop-v1"}'

Response:

{
  "key": "aff_agent_...",
  "type": "agent",
  "label": "claude-desktop-v1"
}

Store this as SYNDICATE_AGENT_KEY in your MCP config. Do not expose it in client-side code.

Available MCP Tools

ToolWhat it does
search_programsFind affiliate programs by keyword
get_program_detailsFull program info — commission rates, terms, merchant
track_agent_conversionRecord a conversion with a signed attribution token
verify_attribution_tokenValidate a slat_v1_ token without submitting a conversion
get_commission_statusCheck your agent's earned commission balance
list_merchant_programsList your own merchant programs (merchant key required)
run_payout_cycleTrigger the global payout cycle (admin only)

First Test Conversion

Once your MCP server is configured, ask Claude:

Search for affiliate programs related to SaaS tools.

Then:

Get the details for program [program_id from results].

Then after a real conversion:

Track a conversion for order order_12345 with sale amount 49.99 using attribution token [slat_v1_...].

What's Next (MCP Users)

ResourceLink
npm packagenpmjs.com/package/syndicate-links-mcp
How Agent Attribution Workssyndicatelinks.co/docs/agent-attribution-spec
ACP Attribution Referencesyndicatelinks.co/docs/acp-attribution
Full API Referencesyndicatelinks.co/docs/api-reference