New tools across 13 categories: - Email/Newsletter: beehiiv, klaviyo, postmark, brevo, activecampaign - Data Enrichment: clearbit, apollo - CRO/Testing: hotjar, optimizely - Analytics: plausible - Scheduling: calendly, savvycal - Forms: typeform - Messaging: intercom - Social: buffer - Video: wistia - Payments: paddle - Affiliate: partnerstack - Reviews: trustpilot, g2 - Push: onesignal - Webinar: demio, livestorm Each tool includes a zero-dependency CLI and integration guide. Registry and CLI README updated with all new entries. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
222 lines
4.6 KiB
Markdown
222 lines
4.6 KiB
Markdown
# PartnerStack
|
|
|
|
Partner and affiliate program management platform for SaaS companies with deal tracking, rewards, and multi-tier partnerships.
|
|
|
|
## Capabilities
|
|
|
|
| Integration | Available | Notes |
|
|
|-------------|-----------|-------|
|
|
| API | ✓ | Vendor API v2 for partnerships, deals, customers, transactions |
|
|
| MCP | - | Not available |
|
|
| CLI | ✓ | [partnerstack.js](../clis/partnerstack.js) |
|
|
| SDK | - | No official SDK; REST API with Basic Auth |
|
|
|
|
## Authentication
|
|
|
|
- **Type**: Basic Auth (Vendor API)
|
|
- **Header**: `Authorization: Basic {base64(public_key:secret_key)}`
|
|
- **Get credentials**: Vendor dashboard > Settings > Integrations > PartnerStack API Keys
|
|
- **Note**: Separate Test and Production API keys. Test transactions can only be added to customers created with Test keys.
|
|
|
|
## Common Agent Operations
|
|
|
|
### List partnerships
|
|
|
|
```bash
|
|
GET https://api.partnerstack.com/api/v2/partnerships?limit=25
|
|
|
|
Authorization: Basic {base64(public_key:secret_key)}
|
|
```
|
|
|
|
### Create a partnership
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/partnerships
|
|
|
|
{
|
|
"email": "partner@example.com",
|
|
"group_key": "affiliates",
|
|
"first_name": "Jane",
|
|
"last_name": "Smith"
|
|
}
|
|
```
|
|
|
|
### List customers
|
|
|
|
```bash
|
|
GET https://api.partnerstack.com/api/v2/customers?limit=25
|
|
```
|
|
|
|
### Create a customer (attribute to partner)
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/customers
|
|
|
|
{
|
|
"email": "customer@example.com",
|
|
"partner_key": "prtnr_abc123",
|
|
"name": "John Doe"
|
|
}
|
|
```
|
|
|
|
### Record a transaction
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/transactions
|
|
|
|
{
|
|
"customer_key": "cust_abc123",
|
|
"amount": 9900,
|
|
"currency": "USD",
|
|
"product_key": "pro_plan"
|
|
}
|
|
```
|
|
|
|
### List deals
|
|
|
|
```bash
|
|
GET https://api.partnerstack.com/api/v2/deals?limit=25
|
|
```
|
|
|
|
### Create a deal
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/deals
|
|
|
|
{
|
|
"partner_key": "prtnr_abc123",
|
|
"name": "Enterprise Opportunity",
|
|
"amount": 50000,
|
|
"stage": "qualified"
|
|
}
|
|
```
|
|
|
|
### Record an action (event-based rewards)
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/actions
|
|
|
|
{
|
|
"customer_key": "cust_abc123",
|
|
"key": "signup_completed",
|
|
"value": 1
|
|
}
|
|
```
|
|
|
|
### Create a reward
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/rewards
|
|
|
|
{
|
|
"partner_key": "prtnr_abc123",
|
|
"amount": 5000,
|
|
"description": "Bonus for Q1 performance"
|
|
}
|
|
```
|
|
|
|
### List leads
|
|
|
|
```bash
|
|
GET https://api.partnerstack.com/api/v2/leads?limit=25
|
|
```
|
|
|
|
### Create a lead
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/leads
|
|
|
|
{
|
|
"partner_key": "prtnr_abc123",
|
|
"email": "lead@company.com",
|
|
"name": "Potential Customer",
|
|
"company": "Acme Corp"
|
|
}
|
|
```
|
|
|
|
### List partner groups
|
|
|
|
```bash
|
|
GET https://api.partnerstack.com/api/v2/groups
|
|
```
|
|
|
|
### Manage webhooks
|
|
|
|
```bash
|
|
POST https://api.partnerstack.com/api/v2/webhooks
|
|
|
|
{
|
|
"target": "https://example.com/webhooks/partnerstack",
|
|
"events": ["deal.created", "transaction.created", "customer.created"]
|
|
}
|
|
```
|
|
|
|
## API Pattern
|
|
|
|
PartnerStack uses cursor-based pagination. List responses include `has_more` and item keys for `starting_after` / `ending_before` parameters.
|
|
|
|
All responses follow the format:
|
|
```json
|
|
{
|
|
"data": { ... },
|
|
"message": "...",
|
|
"status": "2xx"
|
|
}
|
|
```
|
|
|
|
## Key Metrics
|
|
|
|
### Partnership Metrics
|
|
- `partner_key` - Unique partner identifier
|
|
- `group` - Partner tier/group
|
|
- `status` - active, pending, archived
|
|
- `created_at` - Partnership start date
|
|
|
|
### Transaction Metrics
|
|
- `amount` - Transaction value in cents
|
|
- `currency` - Currency code
|
|
- `product_key` - Associated product
|
|
- `customer_key` - Associated customer
|
|
|
|
### Deal Metrics
|
|
- `amount` - Deal value
|
|
- `stage` - Deal pipeline stage
|
|
- `status` - open, won, lost
|
|
|
|
### Reward Metrics
|
|
- `amount` - Reward amount in cents
|
|
- `status` - pending, approved, paid
|
|
|
|
## Parameters
|
|
|
|
### Pagination Parameters
|
|
- `limit` - Items per page (1-250, default: 10)
|
|
- `starting_after` - Cursor for next page (item key)
|
|
- `ending_before` - Cursor for previous page (item key)
|
|
- `order_by` - Sort field, prefix with `-` for descending
|
|
|
|
### Common Filters
|
|
- `include_archived` - Include archived records
|
|
- `has_sub_id` - Filter by sub ID presence
|
|
|
|
## When to Use
|
|
|
|
- Managing SaaS affiliate and referral programs
|
|
- Tracking partner-driven revenue and attributions
|
|
- Automating partner onboarding and rewards
|
|
- Deal registration and pipeline tracking
|
|
- Multi-tier partnership programs (affiliates, resellers, agencies)
|
|
- Event-based reward triggers (signups, upgrades, etc.)
|
|
|
|
## Rate Limits
|
|
|
|
- Not explicitly documented
|
|
- Use reasonable request rates; implement exponential backoff on 429 responses
|
|
|
|
## Relevant Skills
|
|
|
|
- referral-program
|
|
- affiliate-marketing
|
|
- partner-enablement
|
|
- saas-metrics
|
|
- launch-sequence
|