Get a referral's AWS funding recommendation
GET https://api.suger.cloud/org/{orgId}/cosell/referral/{referralId}/fundingRecommendation
Ask AWS Partner Central which funding programs this co-sell referral qualifies for. Returns the funding overview — the agent's own assessment, which states plainly when no funding matches and what to do next — together with the other funding cards this deal qualifies for, each with the triggerId to request it. Those are listed, not run: every card is a separate call to the AWS agent, so ask for one by passing triggerId. Amounts in the text are estimates and eligibility assessments, not approvals; requesting the money is a separate funding application. A triggerId must be the funding overview or one of availableCards. When AWS has not answered within about 25 seconds the result has pending true and no content: the answer is still being generated, so call again in about a minute — that call returns the answer, or the error if AWS failed. Requires the organization to have connected the AWS Partner Central agent integration, and the referral to be an AWS referral already synced to ACE.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
referralId | path | string | yes | Co-sell Referral ID |
triggerId | query | string | no | Funding card to run, from availableCards; defaults to the funding overview |
Responses
200 — OK
Content-Type: application/json · Schema: ReferralFundingRecommendation
ReferralFundingRecommendation fields:
| Field | Type | Required | Description |
|---|---|---|---|
availableCards | array<FundingCardOption> | no | AvailableCards lists the other funding cards this deal qualifies for, with the trigger id to request each. NOT executed: every card is its own call to the AWS agent, so they are offered rather than spent, exactly as the Console offers them for a click. |
awsOpportunityId | string | no | AWSOpportunityID is the ACE opportunity the recommendation was requested against. |
content | array<string> | no | Content is the AWS agent's answer, one entry per block of prose. |
ctas | array<AwsMcpRecommendationAction> | no | CTAs are the actions the card offers, e.g. starting a POC funding request. |
fromCache | boolean | no | FromCache reports whether AWS was asked again or the stored answer was reused. Answers are kept per organization, opportunity and USER for 48 hours, so another caller — a person in the Console, say — does not warm this for an agent. |
pending | boolean | no | Pending is true when AWS had not answered within the wait: the answer is still being generated, so call again in about a minute with the same triggerId — that call returns it, or the error if AWS failed. Content is empty. |
referralId | string | no | ReferralID is the Fours referral this was computed for. |
title | string | no | Title is the card's own heading, as the Console shows it. |
triggerId | string | no | TriggerID is the card that produced Content — the funding overview unless one was asked for. |
FundingCardOption fields:
| Field | Type | Required | Description |
|---|---|---|---|
hasCachedResponse | boolean | no | HasCachedResponse reports that this card has already been answered for this caller, so asking for it will not cost another AWS round trip. |
label | string | no | |
triggerId | string | no |
AwsMcpRecommendationAction fields:
| Field | Type | Required | Description |
|---|---|---|---|
actionId | string | no | |
actionType | AwsMcpActionType | no | |
label | string | no | |
payload | object | no | Payload carries action-specific parameters interpreted by client/backend action handlers. |
permissionKey | string | no | PermissionKey is an optional gate key checked by client before enabling this action. |
400 — Not an AWS referral, never synced to ACE, or a triggerId this deal is not offered
Content-Type: application/json · Schema: ErrorResponse
ErrorResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
code | ErrorCode | no | |
info | object | no | |
message | string | no |
404 — Referral not found
Content-Type: application/json · Schema: ErrorResponse
ErrorResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
code | ErrorCode | no | |
info | object | no | |
message | string | no |
409 — AWS Partner Central not connected for this organization
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 |
502 — AWS Partner Central could not answer
Content-Type: application/json · Schema: ErrorResponse
ErrorResponse fields:
| Field | Type | Required | Description |
|---|---|---|---|
code | ErrorCode | no | |
info | object | no | |
message | string | no |
504 — AWS Partner Central did not answer in time
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 GET 'https://api.suger.cloud/org/{orgId}/cosell/referral/{referralId}/fundingRecommendation' \
-H "Authorization: Bearer $SUGER_TOKEN" Response — 200
{
"availableCards": [
{
"hasCachedResponse": true,
"label": "string",
"triggerId": "01H0000000000000000000"
}
],
"awsOpportunityId": "01H0000000000000000000",
"content": [
"string"
],
"ctas": [
{
"actionId": "01H0000000000000000000",
"actionType": "OPEN_EXISTING_FLOW",
"label": "string",
"payload": {},
"permissionKey": "string"
}
],
"fromCache": true,
"pending": true,
"referralId": "01H0000000000000000000",
"title": "string",
"triggerId": "01H0000000000000000000"
} Error — 400
{
"code": "InternalServerError",
"message": "string"
} View as Markdown · API reference overview
Spotted something wrong or out of date on this page? Tell us and we'll correct it.