Skip to main content
A membership is a paid subscription that upgrades a standard user account to the Organizer role. Organizers have all the permissions of a regular User and are recognized on the platform with a membership badge visible on their comments and attendance records.

Membership plans

Monthly

Best for getting started. Billed at $2.99 / month. Sets a StartDate and an EndDate one month later.

Annual

Best value for active organizers. Billed at $29.99 / year. Sets a StartDate and an EndDate one year later.

Membership fields

The MembershipDto contains the following fields.
FieldTypeDescription
idGuidUnique membership identifier.
userIdstringID of the member.
userNamestringDisplay name of the member.
typestringMembership plan: Mensual or Anual.
pricedecimalAmount paid.
startDateDateTimeStart of the membership period.
endDateDateTimeEnd of the membership period.

Purchasing a membership

1

Sign in

You must be authenticated as a User, Organizer, or Admin to purchase a membership. The POST /api/memberships endpoint requires a valid Bearer token.
2

Choose a plan

Select either the Monthly (Mensual) or Annual (Anual) plan from the memberships page.
3

Complete PayPal payment

The frontend presents PayPal checkout buttons powered by the @paypal/react-paypal-js SDK. Complete the payment flow in the PayPal dialog. Payment is processed before the membership record is created.
4

Membership is activated

Once PayPal confirms the payment, the frontend calls POST /api/memberships with the selected plan details.
POST /api/memberships
{
  "userId": "user-id-string",
  "type": "Mensual",
  "price": 2.99,
  "startDate": "2026-03-22T00:00:00",
  "endDate": "2026-04-22T00:00:00"
}
A successful response returns the created MembershipDto.
MeetPoint uses PayPal to process membership payments. The frontend integrates the @paypal/react-paypal-js SDK and renders PayPal checkout buttons directly on the memberships page. The backend only records the membership after the client confirms a successful PayPal transaction — no payment data is sent to the MeetPoint API.

Checking membership status

To verify whether a user currently holds an active membership, call the state endpoint.
GET /api/memberships/state/{userId}
Returns a boolean: true if the user has an active membership, false otherwise. This endpoint requires authentication with the User, Organizer, or Admin role.

Build docs developers (and LLMs) love