Preview Charge Reversal Endpoint
curl --request GET \
--url https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview \
--header 'API-KEY: <api-key>' \
--header 'TENANT: <tenant>'import requests
url = "https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview"
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>'}};
fetch('https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview', 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/billing/charge/{charge_id}/reversal-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"chargeId": "<string>",
"inventory": {
"applicable": true,
"count": 123
},
"memberDiscounts": {
"applicable": true,
"count": 123
},
"savedItems": {
"applicable": true,
"count": 123
},
"packagePurchases": {
"applicable": true,
"count": 123,
"packageNames": []
},
"packageRedemptions": {
"applicable": true,
"count": 123,
"packageNames": []
},
"membership": {
"applicable": true,
"count": 123,
"membershipName": "<string>",
"creditAmountCents": 0
},
"patientCreditRedemptions": {
"applicable": true,
"count": 123,
"amountCents": 0
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Charges
Preview Charge Reversal Endpoint
Return which side-effect categories apply to this charge and how many units each would restore.
Shared by the refund flow (full-refund reversal options) and the delete/archive flow, so it accepts either billing:payments:refund or billing:payments:delete.
GET
/
billing
/
charge
/
{charge_id}
/
reversal-preview
Preview Charge Reversal Endpoint
curl --request GET \
--url https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview \
--header 'API-KEY: <api-key>' \
--header 'TENANT: <tenant>'import requests
url = "https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview"
headers = {
"TENANT": "<tenant>",
"API-KEY": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {TENANT: '<tenant>', 'API-KEY': '<api-key>'}};
fetch('https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview', 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/billing/charge/{charge_id}/reversal-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"API-KEY: <api-key>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("TENANT", "<tenant>")
req.Header.Add("API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/billing/charge/{charge_id}/reversal-preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["TENANT"] = '<tenant>'
request["API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"chargeId": "<string>",
"inventory": {
"applicable": true,
"count": 123
},
"memberDiscounts": {
"applicable": true,
"count": 123
},
"savedItems": {
"applicable": true,
"count": 123
},
"packagePurchases": {
"applicable": true,
"count": 123,
"packageNames": []
},
"packageRedemptions": {
"applicable": true,
"count": 123,
"packageNames": []
},
"membership": {
"applicable": true,
"count": 123,
"membershipName": "<string>",
"creditAmountCents": 0
},
"patientCreditRedemptions": {
"applicable": true,
"count": 123,
"amountCents": 0
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Path Parameters
Response
Successful Response
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I

