Skip to content

AUTH-MBRMembership Authorization Model

Markdown

AUTH-MBR

Membership Authorization Model

Markdown
  • DocumentDraft
  • ImplementationPartially observed

Product areaMembershipRevision1

Read atrhythm-v2-docs ca10379cservices-membership 5994c270react-console baf6dae3

Staff access
Rhythm staff use Platform’s recorded customer-access grant and matching ordinary scoped role assignment. HQ staff status alone supplies no Membership authority.

Scopes

ScopeMeaningProvenance
customerPlatform customer-wide assignments contribute access to that customer’s workspaces; Membership owns no customer-level role administration.documented
workspaceThe application gate and workspace-level keys authorize work in the addressed workspace.observed
organizational unitSix declared keys support authority over a unit and its descendants; the service checks the relevant membership chain or changed units.observed
personal recordSelf-read uses the account’s linked contact within its workspace; this is a relationship guard rather than a separately assignable record scope.observed
service executionTrusted cloud and database identities authorize partner, job and internal entry points without human permission assignments.observed

Roles

IdRoleWhoGrants
ROLE-MBR-001Membership setup administratorA customer-defined role profile for staff maintaining association setup.membership.application.accessmembership.structure.readmembership.structure.managemembership.programs.readmembership.programs.managemembership.configuration.readmembership.configuration.managemembership.billing.readmembership.billing.managemembership.operations.run
ROLE-MBR-002Membership coordinatorA customer-defined role profile for staff maintaining holdings and member connections.membership.application.accessmembership.members.readmembership.memberships.createmembership.memberships.suspendmembership.terms.createmembership.terms.correctmembership.terms.terminatemembership.affiliations.managemembership.memberships.history
ROLE-MBR-003Membership analystA customer-defined role profile for workspace-wide membership and reporting readers.membership.application.accessmembership.members.readmembership.billing.readmembership.memberships.querymembership.membership-terms.querymembership.lifecycle-events.querymembership.term-affiliations.querymembership.membership-snapshot-members.querymembership.membership-snapshot-affiliations.querymembership.membership-snapshot-dimensions.querymembership.membership-snapshot-counts.query
ROLE-MBR-004Structure and configuration readerA customer-defined role profile for staff inspecting association setup.membership.application.accessmembership.structure.readmembership.programs.readmembership.configuration.read
ROLE-MBR-005Unit officerA customer-defined role profile assigned to organizational units, commonly through appointments.membership.application.accessmembership.members.readmembership.affiliations.managemembership.member-contact.updatemembership.terms.renewmembership.memberships.enrollmembership.rosters.export
ROLE-MBR-006Portal MemberA portal membership whose Platform role must attach the declared Membership portal policy.membership.application.accessmembership.self.read

Permission Catalogue

KeyIntentOperationsSurfacesGuarded by
membership.affiliations.manageMaintain dated membership connections within the evaluated unit scope.addAffiliationendAffiliationsetPrimaryAffiliationtransferAffiliationapi, portalBR-CAP-MBR-MEM-015-01 BR-CAP-MBR-MEM-015-07 BR-CAP-MBR-MEM-007-01 BR-CAP-MBR-MEM-007-02 BR-CAP-MBR-MEM-007-03 BR-CAP-MBR-MEM-007-04 BR-CAP-MBR-MEM-007-05 BR-CAP-MBR-MEM-007-06 BR-CAP-MBR-MEM-007-10
membership.application.accessOpen Membership in an available, licensed workspace.getTermsTenantHealthapi, consoleBR-CAP-MBR-STR-019-04
membership.billing.manageAdminister and execute renewal templates, runs and recurring definitions.cancelBillingRuncreateBillingRuncreateBillingTemplatecreateRecurringBillingRundeleteBillingTemplateexecuteBillingRunplanBillingRunupdateBillingTemplateupdateRecurringBillingRunapi, consoleBR-CAP-MBR-MEM-013-01 BR-CAP-MBR-MEM-013-02 BR-CAP-MBR-MEM-013-03 BR-CAP-MBR-MEM-013-04 BR-CAP-MBR-MEM-013-05 BR-CAP-MBR-MEM-013-10 BR-CAP-MBR-MEM-013-11 BR-CAP-MBR-MEM-013-13
membership.billing.readInspect renewal templates, runs, planned actions and recurring definitions.getBillingRungetBillingTemplategetRecurringBillingRunlistBillingRunActionslistBillingRunslistBillingTemplateslistRecurringBillingRunsapi, consoleBR-CAP-MBR-STR-019-04
membership.configuration.manageAdminister membership offer configuration, application processes and area settings.createApplicationProcesscreateChangePolicySetcreateMembershipPackagecreateMembershipTypecreateStatusReasondeleteApplicationProcessdeleteChangePolicySetdeleteMembershipPackagedeleteMembershipTypedeleteStatusReasonreplaceScopeSettingsreplaceSnapshotDimensionSettingsupdateApplicationProcessupdateChangePolicySetupdateMembershipPackageupdateMembershipTypeupdateStatusReasonapi, consoleBR-CAP-MBR-STR-018-03 BR-CAP-MBR-STR-018-04 BR-CAP-MBR-STR-018-05 BR-CAP-MBR-STR-018-06 BR-CAP-MBR-STR-018-07 BR-CAP-MBR-STR-012-01 BR-CAP-MBR-STR-012-04 BR-CAP-MBR-STR-012-05 BR-CAP-MBR-STR-012-06 BR-CAP-MBR-STR-012-08 BR-CAP-MBR-STR-013-01 BR-CAP-MBR-STR-013-02 BR-CAP-MBR-STR-013-03 BR-CAP-MBR-STR-013-05 BR-CAP-MBR-MEM-011-02 BR-CAP-MBR-MEM-011-03 BR-CAP-MBR-MEM-015-09 BR-CAP-MBR-MEM-019-07
membership.configuration.readInspect membership offer configuration, application processes and area settings.getApplicationProcessgetChangePolicySetgetMembershipPackagegetMembershipTypegetScopeSettingsgetSnapshotDimensionSettingsgetStatusReasonlistApplicationProcesseslistChangePolicySetslistMembershipPackageslistMembershipTypeslistStatusReasonsapi, consoleBR-CAP-MBR-STR-019-04 BR-CAP-MBR-STR-019-05
membership.lifecycle-events.queryQuery workspace membership lifecycle records through the shared query layer.live membership query datasetsapi, internal
membership.member-contact.updateRequest allowed contact-field changes for a member within the evaluated unit scope.updateMemberContactapi, portalBR-CAP-MBR-MEM-016-01 BR-CAP-MBR-MEM-016-02 BR-CAP-MBR-MEM-016-03
membership.members.readInspect memberships and related facts within the evaluated unit scope.getApplicationgetMembershipgetMembershipAsOfgetMembershipFinancialSummarygetMembershipRevisiongetTermRevisionlistApplicationslistMembershipHistorylistMembershipHistoryActorslistMembershipslistTermHistorylistTermHistoryActorsapi, console, portalBR-CAP-MBR-MEM-015-01 BR-CAP-MBR-MEM-015-02 BR-CAP-MBR-MEM-015-03 BR-CAP-MBR-MEM-015-04 BR-CAP-MBR-MEM-015-05 BR-CAP-MBR-MEM-015-06 BR-CAP-MBR-MEM-015-11 BR-CAP-MBR-MEM-011-06 BR-CAP-MBR-MEM-016-07
membership.membership-snapshot-affiliations.queryQuery unit connections in published monthly reporting copies.membership snapshot query datasetsapi, internal
membership.membership-snapshot-counts.queryQuery movement and standing counts in published monthly reporting copies.membership snapshot query datasetsapi, internal
membership.membership-snapshot-dimensions.queryQuery captured characteristics in published monthly reporting copies.membership snapshot query datasetsapi, internal
membership.membership-snapshot-members.queryQuery members in published monthly reporting copies.membership snapshot query datasetsapi, internal
membership.membership-terms.queryQuery workspace membership periods through the shared query layer.live membership query datasetsapi, internal
membership.memberships.createEstablish a membership and its initial committed period without an order.createMembershipapi, consoleBR-CAP-MBR-MEM-001-01 BR-CAP-MBR-MEM-001-02 BR-CAP-MBR-MEM-001-03 BR-CAP-MBR-MEM-001-04 BR-CAP-MBR-MEM-001-06 BR-CAP-MBR-MEM-001-07
membership.memberships.enrollRequest an enrolment order for a member within the evaluated unit scope.enrollMemberapi, portalBR-CAP-MBR-MEM-016-05 BR-CAP-MBR-MEM-016-06 BR-CAP-MBR-MEM-009-02 BR-CAP-MBR-MEM-009-03 BR-CAP-MBR-MEM-009-04 BR-CAP-MBR-MEM-009-11
membership.memberships.historyInspect recorded membership and term revisions with additional read authority.getMembershipRevisiongetTermRevisionlistMembershipHistorylistMembershipHistoryActorslistTermHistorylistTermHistoryActorsapi, consoleBR-CAP-MBR-MEM-018-05 BR-CAP-MBR-MEM-018-12
membership.memberships.queryQuery workspace membership records through the shared query layer.live membership query datasetsapi, internal
membership.memberships.suspendSuspend or restore principal membership standing.restoreMembershipsuspendMembershipapi, consoleBR-CAP-MBR-MEM-004-01 BR-CAP-MBR-MEM-004-03 BR-CAP-MBR-MEM-004-05
membership.operations.runRequest an immediate workspace status refresh.runStatusSweepapi, consoleBR-CAP-MBR-STR-019-03 BR-CAP-MBR-STR-019-04
membership.programs.manageAdminister membership programs and their unit requirements.createProgramdeleteProgramreplaceProgramUnitTypesupdateProgramapi, consoleBR-CAP-MBR-STR-009-01 BR-CAP-MBR-STR-009-02 BR-CAP-MBR-STR-010-01 BR-CAP-MBR-STR-010-02 BR-CAP-MBR-STR-010-03 BR-CAP-MBR-STR-010-04 BR-CAP-MBR-STR-018-03 BR-CAP-MBR-STR-018-04 BR-CAP-MBR-STR-018-05 BR-CAP-MBR-STR-018-06 BR-CAP-MBR-STR-019-03 BR-CAP-MBR-STR-019-04 BR-CAP-MBR-STR-019-05
membership.programs.readInspect membership programs and their unit requirements.getProgramlistProgramsapi, consoleBR-CAP-MBR-STR-019-04 BR-CAP-MBR-STR-019-05
membership.rosters.exportCapture and retrieve a roster export within authorized scope.exportRostergetRosterExportapi, portalBR-CAP-MBR-MEM-017-01 BR-CAP-MBR-MEM-017-02 BR-CAP-MBR-MEM-017-03 BR-CAP-MBR-MEM-017-04 BR-CAP-MBR-MEM-017-05
membership.self.readInspect the holdings associated with the signed-in member’s linked contact.getMyMembershipsapi, portalBR-CAP-MBR-MEM-017-06 BR-CAP-MBR-MEM-017-07
membership.structure.manageAdminister association units, hierarchy, links and local financial context.createOrganizationalUnitcreateOrganizationalUnitDuesProductcreateOrganizationalUnitRelationshipTypecreateOrganizationalUnitTypedeactivateOrganizationalUnitdeactivateOrganizationalUnitTypedeleteOrganizationalUnitdeleteOrganizationalUnitTypeendOrganizationalUnitOrganizationlinkOrganizationalUnitOrganizationmergeOrganizationalUnitmergedUnitAffiliationsmoveOrganizationalUnitreplaceOrganizationalUnitreplaceOrganizationalUnitDuesProductreplaceOrganizationalUnitTypesetOrganizationalUnitFinancialSettingsapi, console, internalBR-CAP-MBR-STR-019-03 BR-CAP-MBR-STR-019-04 BR-CAP-MBR-STR-019-05 BR-CAP-MBR-STR-002-01 BR-CAP-MBR-STR-002-02 BR-CAP-MBR-STR-002-03 BR-CAP-MBR-STR-002-04 BR-CAP-MBR-STR-002-05 BR-CAP-MBR-STR-003-01 BR-CAP-MBR-STR-003-02 BR-CAP-MBR-STR-003-03 BR-CAP-MBR-STR-003-04 BR-CAP-MBR-STR-003-05 BR-CAP-MBR-STR-004-01 BR-CAP-MBR-STR-004-02 BR-CAP-MBR-STR-004-03 BR-CAP-MBR-STR-004-04 BR-CAP-MBR-STR-006-05 BR-CAP-MBR-STR-006-06
membership.structure.readInspect association units, hierarchy, links and local financial context.getOrganizationalUnitgetOrganizationalUnitFinancialSettingsgetOrganizationalUnitTypelistOrganizationalUnitAncestorslistOrganizationalUnitDescendantslistOrganizationalUnitDuesProductslistOrganizationalUnitOrganizationslistOrganizationalUnitParentHistorylistOrganizationalUnitRelationshipTypeslistOrganizationalUnitTreelistOrganizationalUnitTypeslistOrganizationalUnitsquery datasets membership.organizational_units and membership.organizational_unit_typessearchOrganizationalUnitsapi, console, internalBR-CAP-MBR-STR-019-04 BR-CAP-MBR-STR-019-05
membership.term-affiliations.queryQuery workspace dated unit connections through the shared query layer.live membership query datasetsapi, internal
membership.terms.correctCorrect a committed membership period while preserving recorded values.correctTermapi, consoleBR-CAP-MBR-MEM-003-01 BR-CAP-MBR-MEM-003-04
membership.terms.createAdd a committed period without an order.createTermapi, consoleBR-CAP-MBR-MEM-002-01 BR-CAP-MBR-MEM-002-02 BR-CAP-MBR-MEM-002-05
membership.terms.renewRequest a renewal order for a membership within the evaluated unit scope.renewMembershipapi, portalBR-CAP-MBR-MEM-016-04 BR-CAP-MBR-MEM-016-06 BR-CAP-MBR-MEM-009-03 BR-CAP-MBR-MEM-009-04 BR-CAP-MBR-MEM-009-05 BR-CAP-MBR-MEM-009-11
membership.terms.terminateClose a committed membership period with a reason.terminateTermapi, consoleBR-CAP-MBR-MEM-003-01 BR-CAP-MBR-MEM-003-06 BR-CAP-MBR-MEM-003-07
none: the shared module health routeDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.getApplicationsHealthgetMembershipsHealthgetSnapshotsHealthpublic
none: the Submissions engine invokes the decision function over IAMDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.handleSubmissionDecisioninternal
none: Commerce invokes the participant function's live alias over IAMDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.prepare_purchaseinternal
none: an owner database function executable by Commerce's claimer roleDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.commerce_claim_cancellationcommerce_claim_changecommerce_commit_claimscommerce_release_claimsinternal
none: Commerce invokes the participant function over IAMDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.cancelenforcefulfillmodifyprepare_cancellationprepare_changerestoreinternal
none: an in-process service call of the macroservice's modulesDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.publishBusinessEventinternal
none: scheduled and queue-driven functionsDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.change-events dispatcher and consumerinternal
membership.memberships.history and membership.members.readRequire each named permission for the declared operation or its selected dataset.getMembershipRevisiongetTermRevisionlistMembershipHistorylistMembershipHistoryActorslistTermHistorylistTermHistoryActorsconsoleBR-CAP-MBR-MEM-018-05 BR-CAP-MBR-MEM-018-12
none: an in-process call; the route is the memberships module'sDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.membershipAsOfinternal
membership.memberships.query, membership.membership-terms.query, membership.lifecycle-events.query, membership.term-affiliations.queryRequire each named permission for the declared operation or its selected dataset.live membership query datasetsinternal
none: invoked by CRM's change-event remote handler over IAMDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.handleCrmChangeEventsinternal
none: called in process by the structure module's merge, whose caller holds membership.structure.manageDescribe an internal merge participant protected by the calling structure operation’s authority.mergedUnitAffiliationsinternal
none: run by Platform's data job engine under the job's own authorityDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.membershipDataOperationsinternal
membership.membership-snapshot-members.query, membership.membership-snapshot-affiliations.query, membership.membership-snapshot-dimensions.query, membership.membership-snapshot-counts.queryRequire each named permission for the declared operation or its selected dataset.membership snapshot query datasetsinternal
database role rhythm_table_reader; row isolation on the caller's workspaceDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.membership.unit_ancestorsmembership.unit_descendantsinternal
none; called by Membership code that has already authorised its callerDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.computeTermPeriodstatusOf and episodesOfinternal
none; called by the configuration serviceDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.termRuleProblemsinternal
noneDescribe an entry point whose authority comes from public access, trusted execution or its caller rather than an assignable permission.cacheOfmigrationSqlsweep.boundariesOf, sweep.needsCatchUp and sweep.detectionsOfinternal

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.