Membership Types API Documentation

Overview

This collection contains the membership types (the plans or products) your organization offers, such as "Adult Monthly Membership" or "Annual Family Membership". A membership type defines pricing, billing interval, duration, and configuration. It is distinct from the records of customers enrolled in those types, which are in the Customer Memberships collection. Use this collection to resolve a membership type's identity and attributes from the membership_type_id on a member or the membership_id on a customer membership.

The collection is served at /api/memberships/. The fields below are the membership type attributes most useful to an integration; membership types also carry extensive pricing and configuration fields not listed here.

Membership types are created and edited only by organization administrators; for integration purposes treat this collection as read-only and use the list and read operations. Results are ordered by status, then display order, then name.

By default, membership types tied to rolling event types are omitted. Include them by adding the include_rolling parameter to the request.

Fields

Name Type Description
id integer The unique identifier of the membership type. This is the value referenced by membership_type_id on a member and by membership_id on a customer membership.
url string (URL) The unique API URL of the membership type.
name string The name of the membership type.
description string The description of the membership type.
status string The membership type's status. One of the statuses.
purchase_type string Whether the membership type bills recurringly, is prepaid, or is granted as a benefit. One of the purchase types.
interval string The billing interval for recurring membership types. One of the billing intervals, or empty for prepaid types.
is_group boolean Whether the membership type is a group membership (covering multiple members).
is_youth_programming boolean Whether the membership type is a youth programming membership.
has_fixed_date_ranges boolean Whether the membership type runs over fixed calendar date ranges rather than rolling from the purchase date.
duration_years integer or null The membership type's duration in years, if applicable.
duration_months integer or null The membership type's duration in months, if applicable.
duration_days integer or null The membership type's duration in days, if applicable.
membership_fee string (decimal) The recurring or prepaid fee for the membership type.
initiation_fee string (decimal) The one-time initiation fee charged when joining, if any.
order_number integer The membership type's display order within the organization.
created_at string (ISO-8601 datetime) When the membership type was created, as a UTC timestamp.
updated_at string (ISO-8601 datetime) When the membership type's record in the Capitan database was last updated, as a UTC timestamp.

Purchase Types

Name Syntax
RecurringREC
PrepaidPRE
BenefitBEN

Billing Intervals

Name Syntax
WeeklyWKL
BiweeklyBWK
Four Weeks4WK
MonthlyMON
QuarterlyQTR
Half-YearlyHYR
YearlyYEA

Statuses

Name Syntax
DraftDRA
ActiveACT
RetiredRET

Filters

See the filtering documentation for more information on how to use filters in the Capitan API.

Name Syntax Description
Status status Filters for membership types with the given status code.
Purchase Type purchase_type Filters for membership types with the given purchase type code.
Include Rolling include_rolling Include membership types tied to rolling event types, which are otherwise omitted. Provide the parameter to include them.

Operations

List

Request
GET /api/memberships/?include_rolling

Response
200 OK
{
    "count": 8,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": 412,
            "url": "https://api.hellocapitan.com/api/memberships/412/",
            "name": "Adult Monthly Membership",
            "status": "ACT",
            "purchase_type": "REC",
            "interval": "MON",
            "is_group": false,
            "is_youth_programming": false,
            "membership_fee": "59.00",
            "initiation_fee": "0.00",
            "created_at": "2024-01-10T12:00:00Z",
            "updated_at": "2026-05-02T09:15:03Z",
            ...
        },
        ...
    ]
}

Read

Request
GET /api/memberships/412/

Response
200 OK
{
    "id": 412,
    "url": "https://api.hellocapitan.com/api/memberships/412/",
    "name": "Adult Monthly Membership",
    ...
}