Get a co-sell lead by ID
GET https://api.suger.cloud/org/{orgId}/cosell/lead/{leadId}
Fetch full details of a single co-sell lead, including the invitation and (once accepted) the full lead context: customer, interactions, AI readiness insights, qualification status, and any conversion links to the resulting opportunity/referral. The customer block carries the company name and the contact AWS supplied with the invitation — name, title, email and phone where present — alongside the project description and expected spend.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
leadId | path | string | yes | Co-sell Lead ID |
Responses
200 — OK
Content-Type: application/json · Schema: CosellLead
CosellLead fields:
| Field | Type | Required | Description |
|---|---|---|---|
companyName | string | no | CompanyName holds the value of the "company_name" field. |
contextId | string | no | ContextID holds the value of the "context_id" field. |
convertedAt | string | no | ConvertedAt holds the value of the "converted_at" field. |
convertedOpportunityId | string | no | ConvertedOpportunityID holds the value of the "converted_opportunity_id" field. |
convertedReferralId | string | no | ConvertedReferralID holds the value of the "converted_referral_id" field. |
creationRetryCount | integer | no | CreationRetryCount holds the value of the "creation_retry_count" field. |
creationTime | string | no | CreationTime holds the value of the "creation_time" field. |
direction | Direction | no | |
enrichmentStatus | string | no | EnrichmentStatus holds the value of the "enrichment_status" field. |
enrichmentTaskId | string | no | EnrichmentTaskID holds the value of the "enrichment_task_id" field. |
errorMessages | array<string> | no | ErrorMessages holds the value of the "error_messages" field. |
expirationDate | string | no | ExpirationDate holds the value of the "expiration_date" field. |
externalCreationTime | string | no | ExternalCreationTime holds the value of the "external_creation_time" field. |
externalId | string | no | ExternalID holds the value of the "external_id" field. |
externalLastUpdateTime | string | no | ExternalLastUpdateTime holds the value of the "external_last_update_time" field. |
hubspotDealId | string | no | HubspotDealID holds the value of the "hubspot_deal_id" field. |
id | string | no | ID of the ent. |
info | LeadInfo | no | |
invitationId | string | no | InvitationID holds the value of the "invitation_id" field. |
invitationStatus | InvitationStatus | no | |
lastUpdateTime | string | no | LastUpdateTime holds the value of the "last_update_time" field. |
name | string | no | Name holds the value of the "name" field. |
organizationId | string | no | OrganizationID holds the value of the "organization_id" field. |
partner | CosellleadPartner | no | |
qualificationStatus | string | no | QualificationStatus holds the value of the "qualification_status" field. |
salesforceAccountId | string | no | SalesforceAccountID holds the value of the "salesforce_account_id" field. |
salesforceContactId | string | no | SalesforceContactID holds the value of the "salesforce_contact_id" field. |
salesforceLeadId | string | no | SalesforceLeadID holds the value of the "salesforce_lead_id" field. |
salesforceOpportunityId | string | no | SalesforceOpportunityID holds the value of the "salesforce_opportunity_id" field. |
salesforceSugerLeadId | string | no | SalesforceSugerLeadID holds the value of the "salesforce_suger_lead_id" field. |
status | string | no | Status holds the value of the "status" field. |
LeadInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
aceLeadContext | LeadContext | no | |
aceLeadInvitation | LeadInvitationPayload | no | |
aceProspectingResult | ProspectingResult | no | |
lastEnrichmentTime | string | no | LastEnrichmentTime is when enrichment last reached A TERMINAL outcome — ENRICHED, NO_DATA or FAILED. Written by UpdateCosellLeadEnrichmentState and read only by the 30-day re-enrichment gate on the manual Enrich endpoint. Nil means enrichment never finished for this lead, which is also what every row written before the field existed reads as. Here rather than in a column because it has one writer, one reader, and is never a query predicate — the same reasoning that put AceProspectingResult here. FAILED is included deliberately. If only the successful outcomes wrote it, a lead that keeps failing would never get a value, the gate could never engage, and every manual Enrich click would start another AWS prospecting task on an endpoint with no rate limit. |
LeadContext fields:
| Field | Type | Required | Description |
|---|---|---|---|
Customer | LeadCustomer | no | |
Insights | LeadInsights | no | |
Interactions | array<LeadInteraction> | no | |
QualificationStatus | string | no |
LeadInvitationPayload fields:
| Field | Type | Required | Description |
|---|---|---|---|
Customer | LeadInvitationCustomer | no | |
Interaction | LeadInvitationInteraction | no |
ProspectingResult fields:
| Field | Type | Required | Description |
|---|---|---|---|
Aws | ProspectingResultAws | no |
LeadCustomer fields:
| Field | Type | Required | Description |
|---|---|---|---|
Address | LeadAddress | no | |
AwsMaturity | string | no | |
CompanyName | string | no | |
Industry | string | no | |
MarketSegment | string | no | |
WebsiteUrl | string | no |
LeadInsights fields:
| Field | Type | Required | Description |
|---|---|---|---|
LeadReadinessScore | string | no |
LeadInteraction fields:
| Field | Type | Required | Description |
|---|---|---|---|
BusinessProblem | string | no | |
Contact | LeadContact | no | |
CustomerAction | string | no | |
InteractionDate | string | no | |
SourceId | string | no | |
SourceName | string | no | |
SourceType | string | no | |
Usecase | string | no |
LeadInvitationCustomer fields:
| Field | Type | Required | Description |
|---|---|---|---|
AwsMaturity | string | no | |
CompanyName | string | no | |
CountryCode | string | no | |
Industry | string | no | |
MarketSegment | string | no | |
WebsiteUrl | string | no |
LeadInvitationInteraction fields:
| Field | Type | Required | Description |
|---|---|---|---|
ContactBusinessTitle | string | no | |
SourceId | string | no | |
SourceName | string | no | |
SourceType | string | no | |
Usecase | string | no |
ProspectingResultAws fields:
| Field | Type | Required | Description |
|---|---|---|---|
Customer | ProspectingResultCustomer | no | |
EndTime | string | no | |
Insights | ProspectingInsights | no | |
StartTime | string | no | |
TaskArn | string | no | |
TaskId | string | no | |
TaskName | string | no |
LeadAddress fields:
| Field | Type | Required | Description |
|---|---|---|---|
City | string | no | |
CountryCode | string | no | |
PostalCode | string | no | |
StateOrRegion | string | no |
404 — Not found
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 GET 'https://api.suger.cloud/org/{orgId}/cosell/lead/{leadId}' \
-H "Authorization: Bearer $SUGER_TOKEN" Response — 200
{
"companyName": "Acme Corp",
"contextId": "01H0000000000000000000",
"convertedAt": "string",
"convertedOpportunityId": "01H0000000000000000000",
"convertedReferralId": "01H0000000000000000000",
"creationRetryCount": 1,
"creationTime": "2026-01-31T12:00:00Z",
"direction": "INBOUND",
"enrichmentStatus": "string",
"enrichmentTaskId": "01H0000000000000000000",
"errorMessages": [
"string"
],
"expirationDate": "2026-01-31T12:00:00Z"
} Error — 404
{
"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.