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

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

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

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

FieldTypeRequiredDescription
Customer LeadCustomer no
Insights LeadInsights no
Interactions array<LeadInteraction> no
QualificationStatus string no

LeadInvitationPayload fields:

FieldTypeRequiredDescription
Customer LeadInvitationCustomer no
Interaction LeadInvitationInteraction no

ProspectingResult fields:

FieldTypeRequiredDescription
Aws ProspectingResultAws no

LeadCustomer fields:

FieldTypeRequiredDescription
Address LeadAddress no
AwsMaturity string no
CompanyName string no
Industry string no
MarketSegment string no
WebsiteUrl string no

LeadInsights fields:

FieldTypeRequiredDescription
LeadReadinessScore string no

LeadInteraction fields:

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

FieldTypeRequiredDescription
AwsMaturity string no
CompanyName string no
CountryCode string no
Industry string no
MarketSegment string no
WebsiteUrl string no

LeadInvitationInteraction fields:

FieldTypeRequiredDescription
ContactBusinessTitle string no
SourceId string no
SourceName string no
SourceType string no
Usecase string no

ProspectingResultAws fields:

FieldTypeRequiredDescription
Customer ProspectingResultCustomer no
EndTime string no
Insights ProspectingInsights no
StartTime string no
TaskArn string no
TaskId string no
TaskName string no

LeadAddress fields:

FieldTypeRequiredDescription
City string no
CountryCode string no
PostalCode string no
StateOrRegion string no

404 — 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

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.