List the offerings a policy could change to
curl --request GET \
--url https://api.letsdothis.com/v0/membership-policies/{policyId}/offering-change-options \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/membership-policies/{policyId}/offering-change-options', 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}/offering-change-options"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"options": [
{
"offeringId": "<string>",
"tierTitle": "<string>",
"planTitle": "<string>",
"price": {
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"intervalUnit": "<string>",
"intervalCount": 123
},
"currentPrice": {
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"intervalUnit": "<string>",
"intervalCount": 123
},
"eligible": true,
"refusals": [
{
"reason": "<string>",
"details": {}
}
],
"direction": "<string>",
"timingOptions": [
{
"timing": "NOW",
"notBefore": "2023-11-07T05:31:56Z",
"effectiveAt": "2023-11-07T05:31:56Z",
"amountDueNow": {
"value": 123,
"currencyCode": "<string>"
}
}
]
}
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}Memberships
List the offerings a policy could change to
Returns the other offerings in the policy’s scheme, each quoted for the caller: whether the change is allowed and why not, which way it moves (upgrade, downgrade or swap), and when it could take effect with what is due now. A member token is quoted under the scheme’s member rules and notice period, and only the primary member may ask; with an organizer key nothing is ever due and member rules don’t apply. Offerings the policy could never move to are left out. Pass releaseSeatIds, comma-separated, to quote with those secondary seats ending when the change takes effect. Returns 503 MEMBERSHIP_OFFERING_CHANGES_UNAVAILABLE while offering changes are switched off; retry later.
GET
/
v0
/
membership-policies
/
{policyId}
/
offering-change-options
List the offerings a policy could change to
curl --request GET \
--url https://api.letsdothis.com/v0/membership-policies/{policyId}/offering-change-options \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.letsdothis.com/v0/membership-policies/{policyId}/offering-change-options', 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}/offering-change-options"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"options": [
{
"offeringId": "<string>",
"tierTitle": "<string>",
"planTitle": "<string>",
"price": {
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"intervalUnit": "<string>",
"intervalCount": 123
},
"currentPrice": {
"amount": {
"value": 123,
"currencyCode": "<string>"
},
"intervalUnit": "<string>",
"intervalCount": 123
},
"eligible": true,
"refusals": [
{
"reason": "<string>",
"details": {}
}
],
"direction": "<string>",
"timingOptions": [
{
"timing": "NOW",
"notBefore": "2023-11-07T05:31:56Z",
"effectiveAt": "2023-11-07T05:31:56Z",
"amountDueNow": {
"value": 123,
"currencyCode": "<string>"
}
}
]
}
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}{
"code": "MEMBERSHIP_RESOURCE_NOT_FOUND",
"statusCode": 123,
"message": "<string>",
"reasons": [
"<string>"
]
}This endpoint is in beta: its request and response contract can still change while it’s being developed.
Authorizations
Was this page helpful?

