curl --request POST \
--url https://api.decodahealth.com/inventory/members/freeze \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"memberId": "<string>",
"reason": "<string>",
"freezeFeeChargeId": "<string>",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.decodahealth.com/inventory/members/freeze"
payload = {
"memberId": "<string>",
"reason": "<string>",
"freezeFeeChargeId": "<string>",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z"
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
memberId: '<string>',
reason: '<string>',
freezeFeeChargeId: '<string>',
freezeDate: '2023-11-07T05:31:56Z',
unfreezeDate: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.decodahealth.com/inventory/members/freeze', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.decodahealth.com/inventory/members/freeze",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'memberId' => '<string>',
'reason' => '<string>',
'freezeFeeChargeId' => '<string>',
'freezeDate' => '2023-11-07T05:31:56Z',
'unfreezeDate' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/inventory/members/freeze"
payload := strings.NewReader("{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.decodahealth.com/inventory/members/freeze")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/inventory/members/freeze")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"patientId": "<string>",
"membershipId": "<string>",
"membership": {
"name": "<string>",
"price": 123,
"id": "<string>",
"externalId": "<string>",
"description": "<string>",
"globalDiscountPercentage": 0,
"patientCreditAmount": 0,
"patientCreditFrequency": "MONTHLY",
"patientCreditExpiryDays": 123,
"maxRenewals": 0,
"autoRenew": true,
"setupFee": 0,
"freezeFee": 0,
"minimumBillingCycles": 0,
"billingFrequency": "MONTHLY",
"textColor": "<string>",
"isArchived": false,
"ruleSetId": "<string>",
"merchantAccountId": "<string>",
"feeSchedule": [
{
"cycleNumber": 2,
"price": 1,
"id": "<string>",
"membershipId": ""
}
],
"discounts": [
{
"membershipId": "<string>",
"id": "<string>",
"externalId": "<string>",
"itemId": "<string>",
"itemCategory": "<string>",
"isPhysical": true,
"discountPercentage": 123,
"discountAmount": 123,
"creditAmount": 123,
"quantity": 123,
"rollover": false,
"rolloverExpiryDays": 123,
"neverExpire": false,
"group": "<string>",
"isArchived": false
}
],
"memberCount": 0,
"totalRevenue": 0
},
"startDate": "2023-11-07T05:31:56Z",
"autoRenew": true,
"patient": {
"id": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>",
"externalId": "<string>",
"address": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"addressValid": true,
"meta": {},
"isArchived": true,
"primaryLocationId": "<string>",
"gender": "<string>",
"pronouns": "<string>",
"preferredName": "<string>",
"dateOfBirth": "2023-12-25",
"patientMedications": [
"<string>"
],
"leadSource": "<string>",
"onSchedulingBlacklist": true,
"surchargeDisabled": true,
"tags": [
{
"id": "<string>",
"name": "<string>",
"isActive": true,
"createdDate": "2023-11-07T05:31:56Z",
"emoji": "<string>",
"color": "<string>",
"updatedDate": "2023-11-07T05:31:56Z"
}
],
"creditBalance": 123,
"preferredProviderId": "<string>",
"dosespotPatientId": "<string>"
},
"charges": [
{
"id": "<string>",
"patientId": "<string>"
}
],
"soldByProviderId": "<string>",
"endDate": "2023-11-07T05:31:56Z",
"nextBillingDate": "2023-11-07T05:31:56Z",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z",
"soldByProvider": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"paymentMethod": {
"id": "<string>",
"patientId": "<string>",
"rainforestPaymentMethodId": "<string>",
"brand": "<string>",
"last4": "<string>",
"expMonth": 123,
"expYear": 123,
"accountHolderType": "<string>",
"accountNumberLast4": 123,
"bankName": "<string>",
"routingNumber": 123,
"description": "<string>",
"isDefault": false,
"isArchived": false,
"availableMerchantIds": [
"<string>"
],
"createdDate": "2023-11-07T05:31:56Z"
},
"logs": [
{
"id": "<string>",
"createdDate": "2023-11-07T05:31:56Z"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Freeze Membership
Freeze a membership with optional scheduled freeze and unfreeze dates.
curl --request POST \
--url https://api.decodahealth.com/inventory/members/freeze \
--header 'API-KEY: <api-key>' \
--header 'Content-Type: application/json' \
--header 'TENANT: <tenant>' \
--data '
{
"memberId": "<string>",
"reason": "<string>",
"freezeFeeChargeId": "<string>",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.decodahealth.com/inventory/members/freeze"
payload = {
"memberId": "<string>",
"reason": "<string>",
"freezeFeeChargeId": "<string>",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z"
}
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
memberId: '<string>',
reason: '<string>',
freezeFeeChargeId: '<string>',
freezeDate: '2023-11-07T05:31:56Z',
unfreezeDate: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.decodahealth.com/inventory/members/freeze', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.decodahealth.com/inventory/members/freeze",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'memberId' => '<string>',
'reason' => '<string>',
'freezeFeeChargeId' => '<string>',
'freezeDate' => '2023-11-07T05:31:56Z',
'unfreezeDate' => '2023-11-07T05:31:56Z'
]),
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"Content-Type: application/json",
"TENANT: <tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/inventory/members/freeze"
payload := strings.NewReader("{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.decodahealth.com/inventory/members/freeze")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/inventory/members/freeze")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"memberId\": \"<string>\",\n \"reason\": \"<string>\",\n \"freezeFeeChargeId\": \"<string>\",\n \"freezeDate\": \"2023-11-07T05:31:56Z\",\n \"unfreezeDate\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"patientId": "<string>",
"membershipId": "<string>",
"membership": {
"name": "<string>",
"price": 123,
"id": "<string>",
"externalId": "<string>",
"description": "<string>",
"globalDiscountPercentage": 0,
"patientCreditAmount": 0,
"patientCreditFrequency": "MONTHLY",
"patientCreditExpiryDays": 123,
"maxRenewals": 0,
"autoRenew": true,
"setupFee": 0,
"freezeFee": 0,
"minimumBillingCycles": 0,
"billingFrequency": "MONTHLY",
"textColor": "<string>",
"isArchived": false,
"ruleSetId": "<string>",
"merchantAccountId": "<string>",
"feeSchedule": [
{
"cycleNumber": 2,
"price": 1,
"id": "<string>",
"membershipId": ""
}
],
"discounts": [
{
"membershipId": "<string>",
"id": "<string>",
"externalId": "<string>",
"itemId": "<string>",
"itemCategory": "<string>",
"isPhysical": true,
"discountPercentage": 123,
"discountAmount": 123,
"creditAmount": 123,
"quantity": 123,
"rollover": false,
"rolloverExpiryDays": 123,
"neverExpire": false,
"group": "<string>",
"isArchived": false
}
],
"memberCount": 0,
"totalRevenue": 0
},
"startDate": "2023-11-07T05:31:56Z",
"autoRenew": true,
"patient": {
"id": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"firstName": "<string>",
"lastName": "<string>",
"phoneNumber": "<string>",
"email": "<string>",
"locationId": "<string>",
"externalId": "<string>",
"address": "<string>",
"addressLineTwo": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"country": "<string>",
"addressValid": true,
"meta": {},
"isArchived": true,
"primaryLocationId": "<string>",
"gender": "<string>",
"pronouns": "<string>",
"preferredName": "<string>",
"dateOfBirth": "2023-12-25",
"patientMedications": [
"<string>"
],
"leadSource": "<string>",
"onSchedulingBlacklist": true,
"surchargeDisabled": true,
"tags": [
{
"id": "<string>",
"name": "<string>",
"isActive": true,
"createdDate": "2023-11-07T05:31:56Z",
"emoji": "<string>",
"color": "<string>",
"updatedDate": "2023-11-07T05:31:56Z"
}
],
"creditBalance": 123,
"preferredProviderId": "<string>",
"dosespotPatientId": "<string>"
},
"charges": [
{
"id": "<string>",
"patientId": "<string>"
}
],
"soldByProviderId": "<string>",
"endDate": "2023-11-07T05:31:56Z",
"nextBillingDate": "2023-11-07T05:31:56Z",
"freezeDate": "2023-11-07T05:31:56Z",
"unfreezeDate": "2023-11-07T05:31:56Z",
"soldByProvider": {
"id": "<string>",
"firstName": "<string>",
"lastName": "<string>"
},
"createdDate": "2023-11-07T05:31:56Z",
"updatedDate": "2023-11-07T05:31:56Z",
"paymentMethod": {
"id": "<string>",
"patientId": "<string>",
"rainforestPaymentMethodId": "<string>",
"brand": "<string>",
"last4": "<string>",
"expMonth": 123,
"expYear": 123,
"accountHolderType": "<string>",
"accountNumberLast4": 123,
"bankName": "<string>",
"routingNumber": 123,
"description": "<string>",
"isDefault": false,
"isArchived": false,
"availableMerchantIds": [
"<string>"
],
"createdDate": "2023-11-07T05:31:56Z"
},
"logs": [
{
"id": "<string>",
"createdDate": "2023-11-07T05:31:56Z"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Body
ID of the member to freeze
Reason for freezing the membership
ID of the charge for the freeze fee
When to automatically freeze the membership (if None, freezes immediately)
When to automatically unfreeze the membership
Response
Successful Response
Unique identifier for the member
ID of the patient
ID of the membership
Membership information
Show child attributes
Show child attributes
When the patient joined the membership
Current status of the membership
ACTIVE, EXPIRED, CANCELLED, DELINQUENT, FROZEN, INACTIVE Whether the membership auto-renews
Billing frequency for this member
DAILY, WEEKLY, BIWEEKLY, MONTHLY, QUARTERLY, SEMI_ANNUALLY, YEARLY Patient information
Show child attributes
Show child attributes
Charges for this member
Show child attributes
Show child attributes
ID of the provider who sold this membership
When the membership ended (if applicable)
Next scheduled billing date (if custom)
When the membership should be automatically frozen
When the membership should be automatically unfrozen
Provider who sold this membership
Show child attributes
Show child attributes
When the member record was created
When the member record was last updated
Payment method for this member
Show child attributes
Show child attributes
Activity logs for this member
Show child attributes
Show child attributes
