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 |
Example
Generated from this operation's schema. Values are placeholders —
substitute your own ids, and set SUGER_TOKEN to a bearer token
from the OAuth client-credentials exchange.
Request
curl -X POST 'https://api.suger.cloud/org/{orgId}/cosell/partner/AZURE/referral/{referralId}/invitePartner' \
-H "Authorization: Bearer $SUGER_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"assistanceRequestCode": "string",
"currency": "USD",
"dealValue": 100,
"estimatedCloseDate": "2026-01-31T12:00:00Z",
"notes": "string",
"partnerOrganizationId": "01H0000000000000000000",
"partnerOrganizationName": "Acme Corp",
"solutions": [
{
"id": "01H0000000000000000000",
"name": "Acme Corp",
"publisherName": "Acme Corp",
"solutionType": "string",
"type": "string"
}
],
"team": [
{
"contactPreference": {},
"email": "buyer@example.com",
"emailValidationStatus": "buyer@example.com",
"firstName": "Acme Corp",
"lastName": "Acme Corp",
"linkedInProfileUrl": "https://example.com",
"phoneNumber": "string",
"phoneValidationStatus": "string",
"title": "string"
}
]
}' Response — 201
{} Error — 400
{
"code": "InternalServerError",
"message": "string"
} View as Markdown · Interactive API reference
Spotted something wrong or out of date on this page? Tell us and we'll correct it.