Invites
List Org Invites
/api/orgs/{orgName}/invitesLists all pending invitations for an organization. Pending invitations count toward the organization’s seat limit, since they reserve capacity for the users who eventually accept. Each entry includes the invite ID, recipient email, role assignment, sender, and the timestamp when it was last sent.
Request Parameters
orgNamestring path requiredThe organization name
Responses
- The list of pending organization invites
- ↳
idstring requiredID is the internal ID of the invite. Used to refer to this invite later to accept/cancel. - ↳
emailstring requiredThe email address the invite was sent to. - ↳
roleenum requiredRole is the new role to give the member. Must be one of MEMBER, ADMIN, or BILLING MANAGER.Values:none— None- OrganizationRoleNone describes the role of non-members.
member— Member- OrganizationRoleMember is the role for regular members.
admin— Admin- OrganizationRoleAdmin is the role for admins.
potential-member— PotentialMember- OrganizationRolePotentialMember is the role for users who are explicitly not a member of the organization, but are a member of the backing org on the 3rd party identity provider. (i.e. they could join the org.)
stack-collaborator— StackCollaborator- OrganizationRoleStackCollaborator is the role for users who are not a member of an organization, but have been explicitly granted access to some of the organization’s stacks. So they have limited permissions to access the org’s data.
billing-manager— BillingManager- OrganizationRoleBillingManager is the role for billing admins.
- The user who sent the invite.
- ↳
sentAtinteger requiredSentAt is the timestamp when the invite was first sent. - ↳
acceptInviteUrlstring requiredAcceptInviteURL is the url where a user would go to accept an invite to an organization. - ↳
acceptErrorstring optionalAcceptError is the most recent error a user has hit while trying to accept an organization invite. By default it is null. - ↳
statusstring requiredThe friendly name of the invite status. Valid values are “pending”, “accepted”, “expired”, and “canceled”. - ↳
roleIdstring optionalRoleID is the optional UUID of a custom role assigned to this invite.
Get Org Invite
/api/orgs/{orgName}/invites/{inviteID}Validates the organization name and invite ID from the URL and, if they correspond to an active invitation, returns basic organization metadata. This provides a reasonably secure way to share organization metadata with a non-member without making it available to everyone, since the caller must know both the organization login and the invite ID. Returns 404 if the invite has already been accepted or canceled.
Request Parameters
orgNamestring path requiredThe organization nameinviteIDstring path requiredThe invite identifier
Responses
namestring requiredThe name of the organization.roleenum requiredThe role of the user within this organization.Values:none— None- OrganizationRoleNone describes the role of non-members.
member— Member- OrganizationRoleMember is the role for regular members.
admin— Admin- OrganizationRoleAdmin is the role for admins.
potential-member— PotentialMember- OrganizationRolePotentialMember is the role for users who are explicitly not a member of the organization, but are a member of the backing org on the 3rd party identity provider. (i.e. they could join the org.)
stack-collaborator— StackCollaborator- OrganizationRoleStackCollaborator is the role for users who are not a member of an organization, but have been explicitly granted access to some of the organization’s stacks. So they have limited permissions to access the org’s data.
billing-manager— BillingManager- OrganizationRoleBillingManager is the role for billing admins.
githubLoginstring requiredThe GitHub login associated with the organization.avatarUrlstring requiredThe URL of the organization’s avatar image.emailstring optionalThe user’s email address. It is only populated on selected endpoints and is omitted from most responses. Treat it as sensitive information.
Accept Org Invite
/api/orgs/{orgName}/invites/{inviteID}Accepts an organization invitation. The authenticated user making the request will be added as a member of the organization. IMPORTANT: if the URL used to accept the invite is disclosed, anybody else with a Pulumi account can accept/claim it. Returns 409 if the invite is not in the ‘invited’ state (already accepted or canceled).
Request Parameters
orgNamestring path requiredThe organization nameinviteIDstring path requiredThe invite identifier
Responses
Cancel Org Invite
/api/orgs/{orgName}/invites/{inviteID}Cancels a pending organization invitation, reclaiming the seat it reserves in the organization. Pending invitations count toward the organization’s seat limit, so canceling frees up capacity for new invitations or members. Returns 404 if the invite does not exist.
Request Parameters
orgNamestring path requiredThe organization nameinviteIDstring path requiredThe invite identifier
Responses
Resend Org Invite
/api/orgs/{orgName}/invites/{inviteID}/resendResends an existing organization invitation. Sends another invitation email and updates the ‘sent’ timestamp to the current time. The sender of the resent invite may differ from the original sender. Returns 404 if the invite has already been accepted or canceled.
Request Parameters
orgNamestring path requiredThe organization nameinviteIDstring path requiredThe invite identifier
Request Body
tokenstring optionalTurnstile token
Responses
Batch Create Org Invite Email
/api/orgs/{orgName}/invites/batchCreates multiple organization invitations in a single request and sends email notifications to each invitee. Each invitation includes a role assignment (admin or member) and optional team assignments. Pending invitations count toward the organization’s seat limit. The request body size is limited to prevent abuse.
Request Parameters
orgNamestring path requiredThe organization name
Request Body
- List of invites
tokenstring optionalTurnstile token
Responses
- List of sent invites
- ↳
idstring requiredThe unique identifier - ↳
acceptInviteUrlstring requiredThe accept invite URL - List of failed invites
- ↳
emailstring optionalThe email address. Required for email-based invites, omitted when creating shareable invite links. - ↳
roleenum requiredBuilt-in role to assign to the invited member. When ‘roleId’ is also supplied it takes precedence and this field is ignored; prefer ‘roleId’ for new integrations.Values:member— Member- Regular organization member.
admin— Admin- Organization administrator.
billing-manager— BillingManager- Billing administrator.
- ↳
roleIdstring optionalUUID of a role (built-in or custom) to assign to the invited member. Takes precedence over ‘role’ when both are supplied.
Create Org Invite Link
/api/orgs/{orgName}/invites/linkGenerates a new invite URL to join an organization, intended to be shared via copy/paste. Does not send out an email and does not require an email address in the request. Anyone with a Pulumi account who knows the resulting URL can accept the invitation, so share the link only with the intended recipient.
Request Parameters
orgNamestring path requiredThe organization name
Request Body
emailstring optionalThe email address. Required for email-based invites, omitted when creating shareable invite links.roleenum requiredBuilt-in role to assign to the invited member. When ‘roleId’ is also supplied it takes precedence and this field is ignored; prefer ‘roleId’ for new integrations.Values:member— Member- Regular organization member.
admin— Admin- Organization administrator.
billing-manager— BillingManager- Billing administrator.
roleIdstring optionalUUID of a role (built-in or custom) to assign to the invited member. Takes precedence over ‘role’ when both are supplied.
Responses
idstring requiredThe unique identifieracceptInviteUrlstring requiredThe accept invite URL
Batch Create Org Unverified Invite Email
/api/orgs/{orgName}/invites/unverified/batchCreates multiple organization invitations for email addresses that may not yet have Pulumi accounts. Unlike the standard batch invite, this does not require the invitees to have verified email addresses. The invitee will be prompted to create an account when they accept the invitation.
Request Parameters
orgNamestring path requiredThe organization name
Request Body
- List of invites
tokenstring optionalTurnstile token
Responses
- List of sent invites
- ↳
idstring requiredThe unique identifier - ↳
acceptInviteUrlstring requiredThe accept invite URL - List of failed invites
- ↳
emailstring optionalThe email address. Required for email-based invites, omitted when creating shareable invite links. - ↳
roleenum requiredBuilt-in role to assign to the invited member. When ‘roleId’ is also supplied it takes precedence and this field is ignored; prefer ‘roleId’ for new integrations.Values:member— Member- Regular organization member.
admin— Admin- Organization administrator.
billing-manager— BillingManager- Billing administrator.
- ↳
roleIdstring optionalUUID of a role (built-in or custom) to assign to the invited member. Takes precedence over ‘role’ when both are supplied.