Suger

Sync a single co-sell referral with the partner / CRM

POST https://api.suger.cloud/org/{orgId}/cosell/referral/{referralId}/sync

Trigger a one-way sync for a specific referral. Controlled by `direction`: - OUTBOUND: CRM -> Suger -> Partner (push local changes to the cloud partner) - INBOUND (default): Partner -> Suger -> CRM (pull partner-side updates into Suger and CRM) This is the primary way to push a Suger-side edit to the partner after calling UpdateCosellReferral, and to refresh Suger with the partner's latest stage/status for an inbound referral. Side effect: for AWS / Azure / GCP, calls the partner API (AWS ACE / Azure Partner Center / GCP) and writes back to Suger DB + linked CRM record (Salesforce / HubSpot / Dynamics 365). A SUGER referral has no external partner system, so there is nothing to push to a partner here — the partner's copy is kept in step by Suger itself. On a SUGER referral this synchronizes the linked CRM record and accepts `direction=OUTBOUND` only; `direction=INBOUND` returns an error. Use this when: user wants to "submit", "push", "refresh", or "sync" one referral.

Parameters

NameInTypeRequiredDescription
orgId path string yes Organization ID
referralId path string yes Cosell Referral ID
direction query string no Sync direction: INBOUND or OUTBOUND (default INBOUND)

Responses

200 — OK

Content-Type: application/json · Schema: OperationExecutionDetails

OperationExecutionDetails fields:

FieldTypeRequiredDescription
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:

FieldTypeRequiredDescription
code ErrorCode no
info object no
message string no

404 — Referral not found

Content-Type: application/json · Schema: ErrorResponse

ErrorResponse fields:

FieldTypeRequiredDescription
code ErrorCode no
info object no
message string no

500 — Internal server error

Content-Type: application/json · Schema: ErrorResponse

ErrorResponse fields:

FieldTypeRequiredDescription
code ErrorCode no
info object no
message string no

View as Markdown · Interactive API reference

Spotted something wrong or out of date on this page? Tell us and we'll correct it.