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 |
|---|---|
| Recurring | REC |
| Prepaid | PRE |
| Benefit | BEN |
Billing Intervals
| Name | Syntax |
|---|---|
| Weekly | WKL |
| Biweekly | BWK |
| Four Weeks | 4WK |
| Monthly | MON |
| Quarterly | QTR |
| Half-Yearly | HYR |
| Yearly | YEA |
Statuses
| Name | Syntax |
|---|---|
| Draft | DRA |
| Active | ACT |
| Retired | RET |
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",
...
}