Skip to main content
POST
Switch Membership

Headers

TENANT
string
required

The tenant you are making this request on behalf of

API-KEY
string
required

Your api key

Body

application/json
memberId
string
required

ID of the member to switch to a different plan

newMembershipId
string
required

ID of the membership plan to switch the member to

switchDate
string<date-time> | null

When to apply the switch (if None or today, switches immediately)

firstBillingDate
string<date-time> | null

When the new plan's first charge should occur (defaults to one billing cycle after the switch)

paymentMethodId
string | null

Payment method for the new plan (defaults to the member's current one)

soldByProviderId
string | null

Provider credited for the switch

Response

Successful Response

id
string
required

Unique identifier for the member

patientId
string
required

ID of the patient

membershipId
string
required

ID of the membership

membership
MembershipDetail · object
required

Membership information

startDate
string<date-time>
required

When the patient joined the membership

status
enum<string>
required

Current status of the membership

Available options:
ACTIVE,
EXPIRED,
CANCELLED,
DELINQUENT,
FROZEN,
INACTIVE,
PENDING,
AWAITING_FORM,
SWITCHED
autoRenew
boolean
required

Whether the membership auto-renews

billingFrequency
enum<string>
required

Billing frequency for this member

Available options:
DAILY,
WEEKLY,
BIWEEKLY,
MONTHLY,
EVERY_FOUR_WEEKS,
EVERY_SIX_WEEKS,
EVERY_TEN_WEEKS,
EVERY_TWELVE_WEEKS,
QUARTERLY,
EVERY_FOUR_MONTHS,
SEMI_ANNUALLY,
YEARLY
patient
PatientSummary · object
required

Patient information

charges
ChargeTinyWebhook · object[]
required

Charges for this member

soldByProviderId
string | null

ID of the provider who sold this membership

endDate
string<date-time> | null

When the membership ended (if applicable)

nextBillingDate
string<date-time> | null

Next scheduled billing date (if custom)

freezeDate
string<date-time> | null

When the membership should be automatically frozen

unfreezeDate
string<date-time> | null

When the membership should be automatically unfrozen

cancellationDate
string<date-time> | null

When the membership should be automatically cancelled

soldByProvider
ProviderCreator · object | null

Provider who sold this membership

createdDate
string<date-time> | null

When the member record was created

updatedDate
string<date-time> | null

When the member record was last updated

paymentMethod
PaymentMethodSummary · object | null

Payment method for this member

merchantAccountId
string | null

Per-member deposit account override. When set, billing routes here regardless of the membership's deposit_strategy. Null = no override (resolve via plan strategy).

soldAtLocationId
string | null

Location where this member was enrolled. Snapshotted from the originating charge; used to resolve deposits when the membership's deposit_strategy is LOCATION_ACCOUNT.

switchedToMemberId
string | null

If this enrollment was switched to another plan, the new member row it became.

switchedFromMemberId
string | null

If this enrollment was created by a plan switch, the prior member row it replaced.

logs
MemberLogTiny · object[]

Activity logs for this member