List all partner invitations in the organization
GET https://api.suger.cloud/org/{orgId}/prm/invitation
List every partner invitation this organization sent or received, with recipient, direction (outbound if this organization sent it, inbound if it received it), status (Sent, Accepted, Declined, Cancelled, Expired), send time and response time. Supports filtering, sorting and pagination. Use it to answer what invitations are outstanding, which are awaiting a response from this organization, or who has been invited and has not replied. Filter on direction and status to separate the two sides — inbound rows still in "Sent" are the ones this organization can accept or decline. This is the invitation pipeline, not the partner list: a company appears here until it accepts, after which it appears in ListPrmPartners. Obtain the invitationId that the accept, decline and cancel operations require from here.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
orgId | path | string | yes | Organization ID |
q | query | string | no | CRUD filter (LISP expression) |
s | query | string | no | Sort field |
ss | query | string | no | Sort style: json for typed sort |
limit | query | integer | no | Page size |
offset | query | integer | no | Page offset |
Responses
200 — OK
Content-Type: application/json · Schema: crud.ListBaseResponse-orm_PartnerInvitation
crud.ListBaseResponse-orm_PartnerInvitation fields:
| Field | Type | Required | Description |
|---|---|---|---|
data | array<orm.PartnerInvitation> | no | |
page_number | integer | no | |
page_size | integer | no | |
total_count | integer | no |
orm.PartnerInvitation fields:
| Field | Type | Required | Description |
|---|---|---|---|
createTime | string | no | Creation timestamp |
createdBy | string | no | ISV user ID who sent the invitation (outbound), null for inbound |
direction | string | no | OUTBOUND (ISV invites partner) or INBOUND (partner applies via public URL) |
engagementId | string | no | Shared identifier that pairs an outbound invitation with its inbound counterpart (Case A paired send, Cases B/C accept-synthesized). Null for non-paired rows. |
expiresAt | string | no | When the invitation expires. Defaults at the DB to 15 days after insert (CURRENT_TIMESTAMP + 15 days); past this it can no longer be accepted/declined and the daily cron marks it Expired. |
id | string | no | ID of the ent. Unique invitation identifier (UUID) |
info | PartnerInvitationInfo | no | |
lastUpdateTime | string | no | Last update timestamp |
organizationId | string | no | The ISV organization that owns this invitation |
partnerOrganizationId | string | no | The partner's Suger org ID, set on acceptance after org provisioning |
partnershipId | string | no | Target partnership. Nullable for inbound invitations before a partner record exists. |
purpose | string | no | Invitation purpose: network, account_overlap, deal_collaboration |
respondedAt | string | no | When the recipient responded (accepted or declined) |
sentAt | string | no | When the invitation was sent (outbound) or submitted (inbound) |
status | string | no | Invitation status: Sent, Accepted, Declined, Expired |
trackingToken | string | no | UUID token for accept/decline links (outbound) or form URL (inbound) |
PartnerInvitationInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
inbound | InboundInvitationInfo | no | |
outbound | OutboundInvitationInfo | no |
InboundInvitationInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
formData | object | no | FormData holds the submitted form field values. |
formId | string | no | FormID is the ID of the form configuration used for this submission. |
senderOrgId | string | no | SenderOrgID is the resolved Suger org of the applicant who submitted this inbound application (the sender / partner side). Optional: set at submit time only when the work-email domain matches exactly ONE production, PRM-enabled-or-PARTNER Suger org; empty when zero or multiple matched. Read at accept time to link the ISV-side partnership to this org and create the reciprocal partnership record on the sender side (PE-10710). |
submitterEmail | string | no | SubmitterEmail is the email of the partner who submitted the form. |
submitterName | string | no | SubmitterName is the name of the partner who submitted the form. |
OutboundInvitationInfo fields:
| Field | Type | Required | Description |
|---|---|---|---|
acceptInitiatedAt | string | no | AcceptInitiatedAt (RFC3339) is stamped when the recipient submits the public accept form (records intent + ResponseMessage) BEFORE signing in via Auth0. The authenticated finalize step requires it before verifying the Auth0 email against RecipientEmail and provisioning (PE-11397 two-step accept flow). |
aiContext | string | no | AIContext is additional context provided for AI email generation. |
ccEmails | array<string> | no | CcEmails is the list of CC email addresses. |
contextMessage | string | no | ContextMessage is the user-provided engagement context. |
crmObjectId | string | no | CrmObjectID is the CRM account record id (Salesforce Account Id) this invite was created from in the "From your CRM" flow (PE-10264/PE-10431). Threaded to acceptance so the created ISV-side partnership is linked to its CRM account (info.crmAccountInfo.accountId) — which the CRM document sync relies on. Empty for non-CRM invites. Salesforce-only today. |
intendedChannels | array<string> | no | IntendedChannels is the marketplace channel classification computed at send time from the recipient email's domain: ["Direct"] for Case B, the matched marketplace(s) for Case C, and the matched org's inferred channels (or ["Direct"]) for Case A. Used at acceptance to populate the ISV-side partnership's info.channels when an ISV-side partnership must be created from the invitation. |
messageBody | string | no | MessageBody is the final email body (HTML). |
messageSubject | string | no | MessageSubject is the final email subject line. |
partnerCompanyName | string | no | PartnerCompanyName is the free-text partner company name entered by the sender in "Invite a new partner" mode. Unset when the invitation is for a pre-existing partnership (Select Recommended Partner mode). |
recipientEmail | string | no | RecipientEmail is the partner contact email the invitation was sent to. |
recipientName | string | no | RecipientName is the partner contact name. |
responseMessage | string | no | ResponseMessage is the partner's response when accepting or declining the invitation. Mandatory for Accepted invitations, optional for Declined. |
tone | string | no | Tone is the selected email tone: executive, sales, technical, alliance, tactical. |
400 — Bad request error
Content-Type: application/json
View as Markdown · Interactive API reference
Spotted something wrong or out of date on this page? Tell us and we'll correct it.