Partnerships API
A partnership links a partner account with a merchant account. It records the partnership type (AFFILIATE or ISV), the sell-rate pricing profile, the subscription product and the state.
Base path: /api/v2.0/join-program/partnerships · Permission: JOIN_PROGRAM_ACCESS
| Method | Path | Description |
|---|---|---|
| POST | /create-affiliate | Create an affiliate partnership (new merchant) |
| POST | /create-isv | Create an ISV partnership (new sub-account) |
| POST | /create-simple | Create a partnership for an existing account |
| GET | / | List all partnerships |
| GET | /search | Search partnerships |
| GET | /{id} | Retrieve a partnership |
| PATCH | /{id} | Update a partnership (e.g. state) |
| DELETE | /{id} | Delete a partnership |
Create an affiliate partnership
Invites a new merchant into the affiliate program. The merchant receives an email invitation; the partnership is created during the merchant's signup and confirmed once signup is finished.
POST /api/v2.0/join-program/partnerships/create-affiliate
{
"merchantEmailAddress": "merchant@example.com",
"partnerAccountId": 100,
"pricingProfileSellRateId": 4001,
"subscriptionProductId": 301
}
Response: 200 OK
Create an ISV partnership
Creates the partnership immediately: a new sub-account (with a space) is created under your partner account and the merchant is invited as a user. Since sub-accounts inherit the parent account's setup, no subscription product is provisioned for the sub-account itself.
POST /api/v2.0/join-program/partnerships/create-isv
{
"merchantEmailAddress": "merchant@example.com",
"partnerAccountId": 100,
"pricingProfileSellRateId": 4001
}
Response: 200 OK
{
"id": 5020,
"state": "ACTIVE",
"partnershipType": "ISV",
"createdOn": "2026-03-05T16:00:00Z"
}
Create a partnership for an existing account
Links an account that already exists to your join program — to connect an independent account or to correct a wrong setup. For AFFILIATE only existing regular accounts can be linked; for ISV only existing sub-accounts.
POST /api/v2.0/join-program/partnerships/create-simple
{
"partnerAccount": { "id": 100 },
"merchantAccount": { "id": 200 },
"subscriptionProductId": 301,
"pricingProfileSellRate": { "id": 4001 },
"partnershipType": "AFFILIATE"
}
Response: 200 OK
{
"id": 5010,
"state": "ACTIVE",
"partnerAccount": { "id": 100 },
"merchantAccount": { "id": 200 },
"subscriptionProductId": 301,
"pricingProfileSellRate": { "id": 4001 },
"partnershipType": "AFFILIATE",
"createdOn": "2026-03-05T15:10:00Z"
}
Retrieve a partnership
GET /api/v2.0/join-program/partnerships/{id}
Response: 200 OK
{
"id": 5001,
"state": "ACTIVE",
"partnerAccount": { "id": 100 },
"merchantAccount": { "id": 200 },
"subscriptionProductId": 301,
"pricingProfileSellRate": { "id": 4001 },
"partnershipType": "AFFILIATE",
"createdOn": "2026-03-05T12:30:00Z"
}
List & search partnerships
GET /api/v2.0/join-program/partnerships
GET /api/v2.0/join-program/partnerships/search
Response: 200 OK
{
"entities": [
{ "id": 5001, "state": "ACTIVE", "partnershipType": "AFFILIATE", "createdOn": "2026-03-05T12:30:00Z" },
{ "id": 5002, "state": "PENDING", "partnershipType": "ISV", "createdOn": "2026-03-06T10:00:00Z" }
],
"count": 2
}
Update a partnership
PATCH /api/v2.0/join-program/partnerships/{id}
{ "state": "INACTIVE" }
Response: 200 OK with the updated partnership.
Delete a partnership
DELETE /api/v2.0/join-program/partnerships/{id}
Response: 204 No Content
Validation
- AFFILIATE partnerships require a subscription product.
- ISV partnerships must not have a subscription product (sub-accounts have no own subscription).
- The pricing profile sell rate must be one of the profiles enabled in your partner configuration.
- Requests with missing or invalid inputs return
400with a message identifying the field.
Full request/response schemas: interactive API client.