Skip to main content
Version: Current

Endpoint Reference

These routes are implemented by MapPrimusMembershipEndpoints() in PrimusSaaS.Memberships.AspNetCore.

Self routes

RouteMethodPurposeDefault auth scope
/primus/memberships/me/tenantsGETList memberships for the current userAuthenticated user
/primus/memberships/me/active-tenantGETRead the current active-tenant selectionAuthenticated user
/primus/memberships/me/active-tenantPOSTSet the current active-tenant selectionAuthenticated user
/primus/invitations/{invitationId}/acceptPOSTAccept an invitation using the protected tokenAuthenticated user

Admin routes

RouteMethodPurposeDefault auth scope
/primus/tenants/{tenantId}/membershipsGETList memberships for a tenantAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/memberships/{userId}GETGet one membershipAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/memberships/{userId}DELETERevoke one membershipAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/memberships/{userId}/suspendPOSTSuspend one membershipAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/memberships/{userId}/activatePOSTReactivate one membershipAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/invitationsGETList invitations for a tenantAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/invitationsPOSTCreate an invitationAuthenticated user, plus AdminPolicyName if configured
/primus/invitations/{invitationId}/resendPOSTResend an invitationAuthenticated user, plus AdminPolicyName if configured
/primus/invitations/{invitationId}/revokePOSTRevoke an invitationAuthenticated user, plus AdminPolicyName if configured
/primus/tenants/{tenantId}/bootstrap-adminPOSTCreate the first active tenant adminAuthenticated user, plus AdminPolicyName if configured

Response behavior to account for

  • Authentication is required by default unless RequireAuthenticatedUser is disabled in MembershipsEndpointOptions.
  • Missing membership, invitation, or active-tenant records return 404 Not Found.
  • The package does not translate service exceptions into problem-details responses for you.
  • An authenticated principal without NameIdentifier causes an InvalidOperationException in the current implementation.

Current run evidence

  • sdk/dotnet/tests/PrimusSaaS.Memberships.Tests/Integration/MembershipEndpointsTests.cs Current run covers create/accept, suspend/reactivate, bootstrap admin, resend/revoke, delete, and auth-by-default.
  • sdk/dotnet/tests/PrimusSaaS.Memberships.Tests/Integration/MembershipEndpointEdgeCaseTests.cs Current run covers 404 cases, policy metadata application, and the missing-NameIdentifier failure path.