v1

latestOpenAPI 3.0.02026-07-24161215397.4 KB
Memberships

Add a new membership

Add a new membership

Required scopes: flex.community.memberships.create

post/api/v2/organizations/{orgSlug}/memberships

Path parameters

orgSlugstring required

organization slug

Request body

propertiesobject

An object that contains all custom properties that can be applied to the item.

namestring required

The name of the membership.

startDatestring required

The start date of the membership.

locationstring required

The location of the membership.

planstring required

The _id of the plan associated with the membership.

endDatestring

The end date of the membership.

memberstring

The _id of the member associated with the membership.

companystring

The _id of the company associated with the membership.

isPersonalboolean

If enabled, the membership will be charged to the member.

type'month_to_month' | 'fixed'

The type of the membership.

intervalLength'once' | 'hour' | 'day' | 'month'

The membership interval. It could be "once", "hour", "day", or "month".

pricenumber

The price of the membership.

depositnumber

The deposit amount for the membership.

Example request

{
  "properties": {
    "customProperty1": "value1",
    "customProperty2": "value2"
  },
  "name": "Private Office",
  "startDate": "2024-01-01T00:00:00Z",
  "location": "603dfbc260f4054084125d33",
  "plan": "603dfbc260f4054084125d33",
  "endDate": "2024-01-01T00:00:00Z",
  "member": "603dfbc260f4054084125d33",
  "company": "603dfbc260f4054084125d33",
  "isPersonal": true,
  "price": 120.5,
  "deposit": 200
}

Response

propertiesobject

An object that contains all custom properties that can be applied to the item.

_idstring

The _id of the membership.

namestring

The name of the membership.

isPersonalboolean

If true, the membership is billed to the assigned member and not to the company.

status'approved' | 'not_approved'

The approval status of the membership. This is usually set to approved, but if a member purchases a membership that needs to be approved, the status will be "not_approved".

calculatedStatus'not_started' | 'active' | 'expired' | 'not_approved'

The actual membership status calculated by the platform.

type'month_to_month' | 'fixed'

The type of the membership.

locationstring

A reference to the location the membership is issued for.

planstring

A reference to the price plan assigned to the membership. It is used to determine the sales account when generating an invoice.

companystring

The _id of the company with which the membership is associated.

memberstring

The _id of the member with which the membership is associated.

startDatestring

The membership starting date.

endDatestring

The last date of membership. If not set, the membership is open-ended.

intervalLength'once' | 'hour' | 'day' | 'month'

The membership interval. It could be "once", "hour", "day", or "month".

intervalCountnumber

The length of the membership interval.

isLockedboolean

If true, prevents editing the membership.

pricenumber

The monthly price of the membership.

depositnumber

The deposit of the membership.

discountstring

A reference to a discount definition.

discountAmountnumber

Manually granted discount for the specific membership.

calculatedDiscountAmountnumber

The actual discount amount coming from a discount defintion or from a manually granted discount.

discountedPricenumber

The final membership unit price after granting the discount.

contractstring

Reference to the contract associated with the membership

sourcestring

The source of the membership.

createdAtstring date-time

The date when the membership has been created.

createdBystring

The user that created the membership.

modifiedAtstring date-time

The user that did the last modification to the membership. If no update is made this field will match the "createdBy" field.

modifiedBystring

The user that last updated the membership.

Example response

{
  "properties": {
    "customProperty1": "value1",
    "customProperty2": "value2"
  },
  "_id": "603dfbc260f4054084125d30",
  "name": "Private Office",
  "location": "603dfbc260f4054084125d33",
  "plan": "603dfbc260f4054084125d33",
  "company": "603dfbc260f4054084125d33",
  "member": "603dfbc260f4054084125d33",
  "startDate": "2024-01-01T00:00:00Z",
  "endDate": "2024-01-01T00:00:00Z",
  "intervalCount": 6,
  "price": 20,
  "deposit": 5,
  "discount": "603dfbc260f4054084125d33",
  "discountAmount": 5,
  "calculatedDiscountAmount": 5,
  "discountedPrice": 5,
  "contract": "603dfbc260f4054084125d33",
  "source": "admin",
  "createdAt": "2024-04-12T00:00:00.000Z",
  "createdBy": "6080186f490fcf6e0537ec27",
  "modifiedAt": "2024-05-12T00:00:00.000Z",
  "modifiedBy": "6080186f490fcf6e0537ec54"
}