Batch Create Co-Sell Referrals
POST https://api.suger.cloud/org/{orgId}/cosell/referral/batchCreate
Create multiple co-sell referrals in one call. Supports AWS / AZURE / GCP (CRM-driven bulk share) and SUGER (PRM bulk deal-registration upload). Each item in the batch is an `CosellReferral` value following the same partner-specific nested required-field rules as CreateCosellReferral — see that operation's description for the exact `info.aceOpportunityV2` / `info.microsoftReferralSet` / `info.gcpOpportunityV2` / `info.sugerOpportunity` paths. IMPORTANT: keep batch size small (at most 20). Larger batches risk hitting partner API rate limits (AWS ACE in particular). For very large imports, split into multiple calls. Use this when: user wants to share a small set of opportunities with a partner at once. For one-off creates, use CreateCosellReferral.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
Request Body
Required. Content-Type: application/json · Schema: BatchCreateCosellReferralsRequest
BatchCreateCosellReferralsRequest fields:
| Field | Type | Required | Description |
|---|---|---|---|
cosellReferrals | object | yes | |
crmPartner | Partner | yes | |
partner | Partner | yes |
Responses
200 — OK
Content-Type: application/json · Schema: OperationExecutionDetails
OperationExecutionDetails fields:
| Field | Type | Required | Description |
|---|---|---|---|
newWorkflowStarted | boolean | no | |
referralId | string | no | ReferralID is the created referral's id, set by the SUGER co-sell create so the caller can chain follow-up calls (e.g. InviteCosellPartners) onto the new engagement without re-querying. Empty elsewhere. |
runID | string | no | |
slackMirrorWarning | string | no | SlackMirrorWarning is a non-blocking advisory set when a SUGER co-sell console message was saved but could not be mirrored to the partner's Slack channel (no workspace connected, no channel mapped, bot not in the channel, or a transient post failure). Empty when the message mirrored or Slack is not involved. The console surfaces it as a warning toast; the message is always persisted regardless (best-effort mirror). |
status | string | no | |
workflowID | string | no |
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/referral/batchCreate' \
-H "Authorization: Bearer $SUGER_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"cosellReferrals": {},
"crmPartner": "",
"partner": ""
}' Response — 200
{
"newWorkflowStarted": true,
"referralId": "01H0000000000000000000",
"runID": "01H0000000000000000000",
"slackMirrorWarning": "string",
"status": "string",
"workflowID": "01H0000000000000000000"
} 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.