> For the complete documentation index, see [llms.txt](https://wallee.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wallee.gitbook.io/documentation/wallee-join/api-reference/partnerships-api.md).

# 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

<table data-search="false"><thead><tr><th>Method</th><th>Path</th><th>Description</th></tr></thead><tbody><tr><td>POST</td><td>/create-affiliate</td><td>Create an affiliate partnership (new merchant)</td></tr><tr><td>POST</td><td>/create-isv</td><td>Create an ISV partnership (new sub-account)</td></tr><tr><td>POST</td><td>/create-simple</td><td>Create a partnership for an existing account</td></tr><tr><td>GET</td><td>/</td><td>List all partnerships</td></tr><tr><td>GET</td><td>/search</td><td>Search partnerships</td></tr><tr><td>GET</td><td>/{id}</td><td>Retrieve a partnership</td></tr><tr><td>PATCH</td><td>/{id}</td><td>Update a partnership (e.g. state)</td></tr><tr><td>DELETE</td><td>/{id}</td><td>Delete a partnership</td></tr></tbody></table>

## 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
```

```json
{
  "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
```

```json
{
  "merchantEmailAddress": "merchant@example.com",
  "partnerAccountId": 100,
  "pricingProfileSellRateId": 4001
}
```

Response: `200 OK`

```json
{
  "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
```

```json
{
  "partnerAccount": { "id": 100 },
  "merchantAccount": { "id": 200 },
  "subscriptionProductId": 301,
  "pricingProfileSellRate": { "id": 4001 },
  "partnershipType": "AFFILIATE"
}
```

Response: `200 OK`

```json
{
  "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`

```json
{
  "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`

```json
{
  "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}
```

```json
{ "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 `400` with a message identifying the field.

Full request/response schemas: [interactive API client](https://app-wallee.com/api/client).
