---
title: "List MembershipTypes"
method: GET
path: "/customers/membership-types"
tags: ["MembershipTypes"]
---

# List MembershipTypes

`GET /customers/membership-types`

This endpoint lists the `MembershipType`s which are associated to the provided site.

## Query parameters

- `brand_id` string
- `site_id` string
- `archived` boolean
- `public` boolean
- `auto_payments` boolean
- `terms` boolean
- `query` string
- `page` integer
- `per_page` integer

## Response `200`

The `MembershipType`s were successfully retrieved

- object
  - `data` MembershipType[], required
    - `id` string, uuid, required — The ID of the membership type
    - `name` string, required — The name of the membership type
    - `description` string, nullable, required — The description of the membership type
    - `terms` string, nullable, required — Terms and conditions of the membership type
    - `brand_id` string, uuid, required — The ID of the brand this type is linked to
    - `offline_payments` boolean, required — Whether this MembershipType takes "offline" payments. If true, the monthly fee won't automatically be collected using Stripe, which can be useful if a different provider is used for collecting direct debits. You'll need to manually manage the membership status.
    - `disable_confirmation_email` boolean, required — Whether to disable sending the confirmation email when a membership is confirmed.
    - `private` boolean, required — Whether this `MembershipType` is private or not. When a `MembershipType` is private, it won't be shown to users on the site's shop frontend. This field is deprecated and has been superceded by `visibility`.
    - `visibility` 'public' | 'private' | 'link_only' — The visibility of the `MembershipType` on the site's shop frontend.
    - `minimum_start_date` string, date-time, nullable, required — The minimum start date for a membership of this type.
    - `min_members` integer, required — The minimum number of members required to create a membership of this type
    - `max_members` integer, required — The maximum number of members allowed to create a membership of this type
    - `rates` MembershipRate[], required — The public MembershipRates for this type, or if a `MembershipSignupToken` was passed, the rate linked to that.
      - `id` string, uuid, required — The ID of the membership rate
      - `membership_type_id` string, uuid, required — The ID of the `MembershipType` which this rate belongs to
      - `name` string, required — The name of the membership rate
      - `currency` string, required — The currency which all monetary values of this rate are in, uppercase, in the ISO4217 format
      - `price` number, required — The price of the rate as an integer of the smallest unit eg pence. This is charged to the customer every billing period according to the `billing_frequency`
      - `joining_fee` number, required — The price of the joining fee as an integer of the smallest unit eg pence.
      - `billing_frequency` string, required — The frequency that this membership is billed. The duration is specified as an ISO8601 duration string. See https://en.wikipedia.org/wiki/ISO_8601#Durations
      - `processors` string[], required
      - `default_duration` string, nullable, required — The default duration of the membership. This is used when a customer signs themselves up for a membership. The duration is specified as an ISO8601 duration string. See https://en.wikipedia.org/wiki/ISO_8601#Durations
      - `notice_period` 'P7D' | 'P14D' | 'P1M' | 'P3M' | 'P6M' | 'P1Y' | 'null', nullable, required — How much notice a customer must give to cancel a membership on this rate. The duration is specified as an ISO8601 duration string. See https://en.wikipedia.org/wiki/ISO_8601#Durations When null, no notice is required.
      - `private` boolean, required — Whether this `MembershipRate` is private. If public, it will be selectable on the self-signup flow.
      - `created_at` string, date-time, required — The datetime which the rate was created
      - `updated_at` string, date-time, required — The datetime which the membership was last updated
    - `revenue_schedule` string, nullable, required — The schedule that revenues for this membership should be created, as an [RRULE](https://icalendar.org/iCalendar-RFC-5545/3-8-5-3-recurrence-rule.html) string
    - `created_at` string, date-time, required — The datetime which the membership type was created
    - `updated_at` string, date-time, required — The datetime which the membership type was last updated
    - `deleted_at` string, date-time, nullable, required — The datetime which the membership type was archived, or null if it isn't archived.
  - `meta` PaginationMeta, required — Counts and positional information for the current page of a list response. Use `current_page` and `last_page` to drive pagination UI, `total` for result counts, and `per_page` to confirm the page size the server actually applied (which may differ from the requested value when capped).
    - `from` integer, required — The item number from which this results set starts from
    - `to` integer, required — The item number from which this results set ends at
    - `total` integer, required — The total number of results
    - `current_page` integer, required — The current page number
    - `last_page` integer, required — The page number of the last result set
    - `per_page` integer, required — The number of results per page
    - `path` string, required — The path of this api request
  - `links` PaginationLinks, required — Hypermedia navigation links for paging through a list response. Each property is a fully-qualified URL that preserves the original query string (filters, sort, page size) and only swaps the `page` parameter. `next` and `prev` are `null` at the ends of the result set; `first` and `last` are always present.
    - `first` string, required — The url of the first page for the paginated results set
    - `next` string, nullable, required — The url of the next page for the paginated results set
    - `prev` string, nullable, required — The url of the previous page for the paginated results set
    - `last` string, required — The url of the last page for the paginated results set

## Other responses

- `401` — The user is unauthenticated

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
