# Invite a partner to collaborate on an Azure referral (Azure only)

`POST https://api.suger.cloud/org/{orgId}/cosell/partner/AZURE/referral/{referralId}/invitePartner`

Send a collaboration invitation to another Microsoft partner on an existing Azure co-sell referral. This is part of Azure Partner Center's multi-partner co-sell flow and has no AWS / GCP equivalent.

Preconditions (handler will reject otherwise): the referral must already exist in Partner Center (has a non-empty `engagementId`), must be Outgoing (originated by your org), must not be Closed, and the invited partner must not be the owner or already invited.

Side effect: calls Microsoft Partner Center API. The invited partner will see the referral on their side and can accept / decline.

Use this when: user explicitly wants to invite another partner onto an Azure referral. Do NOT use for AWS or GCP referrals — those use different mechanisms.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | string | yes | Organization ID |
| `referralId` | path | string | yes | Cosell Referral ID |

## Request Body

Required.

Content-Type: `application/json` · Schema: `InvitePartnerCollaborationRequest`

**`InvitePartnerCollaborationRequest`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `assistanceRequestCode` | string | yes | Help type |
| `currency` | string | yes |  |
| `dealValue` | number | yes |  |
| `estimatedCloseDate` | string | yes | Deal details for partner |
| `notes` | string | yes |  |
| `partnerOrganizationId` | string | yes | Partner info |
| `partnerOrganizationName` | string | yes |  |
| `solutions` | array<MicrosoftPartnerReferralSolution> | yes |  |
| `team` | array<MicrosoftPartnerReferralPerson> | yes | Team and Solutions |

**`MicrosoftPartnerReferralSolution`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `closingDateTime` | object | no |  |
| `currency` | object | no |  |
| `id` | string | no |  |
| `name` | string | no |  |
| `price` | object | no |  |
| `publisherName` | string | no |  |
| `quantity` | object | no |  |
| `solutionType` | string | no |  |
| `type` | string | no |  |

**`MicrosoftPartnerReferralPerson`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contactPreference` | MicrosoftPartnerReferralContactPreference | no |  |
| `email` | string | no |  |
| `emailValidationStatus` | string | no |  |
| `firstName` | string | no |  |
| `lastName` | string | no |  |
| `linkedInProfileUrl` | string | no |  |
| `phoneNumber` | string | no |  |
| `phoneValidationStatus` | string | no |  |
| `title` | string | no |  |

**`MicrosoftPartnerReferralContactPreference`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `disableNotifications` | object | no |  |
| `locale` | object | no |  |

## Responses

### 201 — Collaboration invitation result

Content-Type: `application/json`

### 400 — Bad request error

Content-Type: `application/json` · Schema: `ErrorResponse`

**`ErrorResponse`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | ErrorCode | no |  |
| `info` | object | no |  |
| `message` | string | no |  |

### 500 — Internal server error

Content-Type: `application/json` · Schema: `ErrorResponse`

**`ErrorResponse`** fields:

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `code` | ErrorCode | no |  |
| `info` | object | no |  |
| `message` | string | no |  |

---

Interactive API reference: https://doc.suger.io/api/
