curl --request GET \
--url https://api.letsdothis.com/v0/membership-policies/{policyId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/membership-policies/{policyId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/membership-policies/{policyId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"schemeId": "<string>",
"offeringId": "<string>",
"offeringPriceId": "<string>",
"price": {
"id": "<string>",
"offeringId": "<string>",
"isCurrent": true,
"createdAt": "<string>",
"purchaseType": "ONE_TIME",
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"fee": {
"value": 123,
"currencyCode": "<string>"
},
"billingInterval": "day",
"billingIntervalCount": 123,
"detailsAvailable": true,
"retiredAt": "<string>"
},
"offering": {
"id": "<string>",
"schemeId": "<string>",
"tier": {
"id": "<string>",
"title": "<string>",
"description": "<string>"
},
"plan": {
"id": "<string>",
"title": "<string>",
"numberOfAdults": 123,
"numberOfChildren": 123,
"maxChildAge": 123,
"maxTotalMembers": 123,
"primaryMemberType": "<string>",
"description": "<string>"
},
"benefits": [
{
"title": "<string>",
"type": "PRICE_ADJUSTMENT",
"restrictions": {
"eventIds": [
"<string>"
],
"eventOccurrenceIds": [
"<string>"
],
"raceIds": [
"<string>"
],
"ticketSlugs": [
"<string>"
],
"bookingItemIds": [
"<string>"
]
},
"adjustmentType": "ABSOLUTE_PRICE",
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"percentage": 123,
"maxUses": 123,
"discountAppliesToBookingFee": true,
"resetsOnRenewal": true
}
],
"benefitsMarkdown": "<string>"
},
"billingCard": {
"last4": "<string>"
},
"billingCardState": "NOT_REQUESTED",
"status": "ACTIVE",
"entitled": true,
"paymentFailed": true,
"blockingReasons": [
"ORGANIZER_OFFBOARDED"
],
"frozenReason": "PAYMENT_FAILED",
"expiresAt": "<string>",
"renewalDate": "<string>",
"cancelAtDate": "<string>",
"autoRenew": true
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>"
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>"
}Get a membership dashboard
Returns the policy, the price revision it is on, plan composition, benefits and status. includeCard=true adds the last four digits of the card when available. The caller must authorize their logged-in member to this policy.
curl --request GET \
--url https://api.letsdothis.com/v0/membership-policies/{policyId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/membership-policies/{policyId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.letsdothis.com/v0/membership-policies/{policyId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"id": "<string>",
"schemeId": "<string>",
"offeringId": "<string>",
"offeringPriceId": "<string>",
"price": {
"id": "<string>",
"offeringId": "<string>",
"isCurrent": true,
"createdAt": "<string>",
"purchaseType": "ONE_TIME",
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"fee": {
"value": 123,
"currencyCode": "<string>"
},
"billingInterval": "day",
"billingIntervalCount": 123,
"detailsAvailable": true,
"retiredAt": "<string>"
},
"offering": {
"id": "<string>",
"schemeId": "<string>",
"tier": {
"id": "<string>",
"title": "<string>",
"description": "<string>"
},
"plan": {
"id": "<string>",
"title": "<string>",
"numberOfAdults": 123,
"numberOfChildren": 123,
"maxChildAge": 123,
"maxTotalMembers": 123,
"primaryMemberType": "<string>",
"description": "<string>"
},
"benefits": [
{
"title": "<string>",
"type": "PRICE_ADJUSTMENT",
"restrictions": {
"eventIds": [
"<string>"
],
"eventOccurrenceIds": [
"<string>"
],
"raceIds": [
"<string>"
],
"ticketSlugs": [
"<string>"
],
"bookingItemIds": [
"<string>"
]
},
"adjustmentType": "ABSOLUTE_PRICE",
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"percentage": 123,
"maxUses": 123,
"discountAppliesToBookingFee": true,
"resetsOnRenewal": true
}
],
"benefitsMarkdown": "<string>"
},
"billingCard": {
"last4": "<string>"
},
"billingCardState": "NOT_REQUESTED",
"status": "ACTIVE",
"entitled": true,
"paymentFailed": true,
"blockingReasons": [
"ORGANIZER_OFFBOARDED"
],
"frozenReason": "PAYMENT_FAILED",
"expiresAt": "<string>",
"renewalDate": "<string>",
"cancelAtDate": "<string>",
"autoRenew": true
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>"
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
^[a-fA-F0-9]{24}$Query Parameters
Response
Default Response
The revision pinned to this policy, which may no longer be on sale.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The card's last four digits, returned when requested with includeCard=true.
Show child attributes
Show child attributes
NOT_REQUESTED, AVAILABLE, UNAVAILABLE ACTIVE grants access. CANCELLED_RUNNING has renewal canceled but keeps access until the policy ends. FROZEN is blocked by a failed payment. ENDED has ended or is blocked for another reason. Use entitled for access decisions.
ACTIVE, CANCELLED_RUNNING, FROZEN, ENDED Whether the member has access now. A failed renewal does not remove access before the paid period ends. Access can continue briefly after that while renewal payment is pending; other blockers can deny access immediately.
True once a renewal payment has failed. Access continues until the paid period ends, so this can be true while entitled is still true; after that the status is FROZEN.
Blockers other than a failed payment, such as an immediate cancellation. Can be empty while access is denied, so don't use it as the access decision.
ORGANIZER_OFFBOARDED, CANCELLED_IMMEDIATELY, OTHER PAYMENT_FAILED, null When the paid period ends, moved on each time a renewal is paid. Access can continue briefly after it while a renewal is collected. Null when the membership has no end date or its first payment is outstanding.
Was this page helpful?

