# List the invitations for one partner

`GET https://api.suger.cloud/org/{orgId}/prm/partner/{partnerId}/invitation`

List the invitations attached to a single partner relationship, each with its recipient, direction, status (Sent, Accepted, Declined, Cancelled, Expired), send time and response time.

Use it to see the invitation history with one partner — who was invited, whether they responded, whether anything is still outstanding. Requires a partnerId from ListPrmPartners.

Scoped to one partnership. For every invitation in the organization, including those to companies that are not partners yet, use ListPrmOrgInvitations.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | string | yes | Organization ID |
| `partnerId` | path | string | yes | Partner ID |
| `q` | query | string | no | CRUD filter (LISP expression) |
| `s` | query | string | no | Sort field |
| `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`

---

Interactive API reference: https://doc.suger.io/api/
