Skip to content

Membership endpoint families

Use this page when you need a membership route the six documented endpoints do not cover. It maps the route families this module’s applets call to their prefix and controller; the Membership endpoints hub routes you to the six documented page by page.

The families, by prefix

Every mapping below is under the tenant prefix core2/tnt/dm/ unless stated, and takes the two headers on the authentication page: a credential (Authorization: Bearer … or AccessId + AccessKey) and tenantCode. Module sub-prefixes: crm/, erp/, mlm/. Route counts are rows of the backend’s route table at commit 4623d9e7ae, regenerated 7 October 2026, per controller; a route is one method and one path, so a handler mapped at both /x and /x/backoffice-ep counts twice.

FamilyPrefixWhat it servesNotes
Member recordmembership-cards and crm/membership-cards (MembershipCardController, 72 routes)Create, update, delete, list, get, /query, /query/snapshot, /query/count, a phone or e-mail duplicate check (/duplicates/backoffice); /with-customer/etl-ep creates or updates the member and writes its identity onto the customerEach operation has backoffice, etl-ep and login-entity-ep variants. The container is bl_crm_membership_hdr plus bl_crm_membership_ext rows
Member record, enhancedcrm/membership/cards-hdrs (MembershipCardHdrController, 30)/query/enhancement, referral look-ups (/referrals/referee/{referral_code}, /referrals/referrer/{login_subject_guid}), label look-upsAlso mapped under a legacy micro-services prefix marked remove later in the source
Classes, card types, periods, attachments, auditmembership-class and crm/membership-class (50), crm/membership-card-type-hdrs (12), crm/membership-period-lines (31), crm/membership/attachments (8), membership-audit-trails and crm/membership-audit-trails (12)The member class (tier) register, card types, membership period lines, uploaded attachments, and the audit trail the Membership Admin screen shows
Imports and reportscrm/membership/import-file-hdrs (17) and its /helper (4); crm/membership-points-transaction/import-file-hdrs (8) and import-file-helpers (4); crm/membership-reports (4); crm/membership-report-file-hdrs (6)The CSV uploads (members, point transactions) and the membership report queue behind the Membership Admin Upload and Membership Report menus
Pointscrm/membership-points-txn (MembershipPointsTxnController, 70)Create a header with lines, a single line (/txn-line), lines only; read a line, a header, /query, /lines/query; two balance calls that are not alike — /current-balance/query and /current-balance/{cardNo}[/{pointCurrency}] read the running total in bl_crm_membership_points_current_balance (what the till shows), while /balance/{card_no}[/{point_currency}] returns the balance_amount of one control-account lot row for the card — the first one found, in no particular order and whatever its status — not a sum of valid lots; and when that row’s next expiry check has passed, the read rewrites the row (its balance and an end date of now) before returning it. Use current-balance for a balance and the lot rows (membership-points-ctrl-acc, the Points Expiry tab) for what is still valid; recalculation, repost, exception-report and batch-upsert maintenance endpointsbackoffice-ep, etl-ep and login-entity-ep twins throughout
Points — control accounts and contrascrm/membership-points-ctrl-acc (13), crm/membership-points-ctrl-contra-details (17), the expiry and recalculation queues and their histories (7 and 6 each)The per-lot rows that carry date_start, date_end and next_expiry_date_check, and the contra rows that record which lot a redemption or expiry consumedWritten by the balance job; read-mostly for integrations
Points totalscore2/dm/membership-points-total (MembershipPointTotalController, 16, platform prefix)Aggregated point totalsThe one membership controller outside core2/tnt/dm/; it still expects tenantCode
Point currencies and ratescrm/membership-points-currency (8), crm/membership-points-to-currency-rate (7)The PTS CCY Module and PTS to CCY Config registers of Membership Adminmembership-points-currency/public-ep/query and /website-ep/{websiteHdrGuid}/query serve the storefront
MLMmlm/programs (7), mlm/program-participants (8), mlm/lineages (8, with /uplines/{participantGuid} and /downlines/{participantGuid}), mlm/invitation (6), mlm/invitation-acceptance (POST "", POST /password-creation), mlm/entity-contacts (6), mlm/mlm-program-cc-ep-link (6) — seven controllersPrograms, their participants, the upline and downline lineage, invitations and their acceptance, entity contacts, and the link from a program to a contact-centre endpointThe lineage is what an MLM commission scheme walks — see Commission Scheme
Vouchers and couponserp/coupons (CouponController, 60), erp/coupon/lines (15), erp/coupon-line-scan-events (10), erp/recurring-coupon-hdrs (10), erp/vouchers (VoucherController, 17)The voucher header (coupon), its ticket serial numbers (coupon/lines), scan and redemption events, recurring voucher templates, and the voucher-item sideThe applet the registry calls Voucher Management is a coupon applet in the backend’s vocabulary — see Voucher Management

Across those families the table holds 731 routes. 224 carry the backoffice-ep segment, 83 etl-ep, 77 login-entity-ep, and 325 carry no segment at all; many of those are the un-suffixed twin of a backoffice-ep route, mapped to the same handler, so the two names are one endpoint. Your access key works on the backoffice-ep routes documented here: each handler reads a signed-in token when one is sent and your key when none is, and the etl-ep twins take the key alone. The login-entity-ep variants are for a signed-in member reading their own card: they answer for the cards linked to the token’s user and nothing else, which is what a member portal wants and an integration does not.

Related documentation

Last updated on