curl --request GET \
--url https://api.decodahealth.com/billing/charge/list \
--header 'API-KEY: <api-key>' \
--header 'TENANT: <tenant>'import requests
url = "https://api.decodahealth.com/billing/charge/list"
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/list', 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/list",
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/list"
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/list")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/billing/charge/list")
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[
{
"patientId": "<string>",
"totalOutstanding": 123,
"items": [
{
"chargeId": "<string>",
"quantity": 123,
"price": 123,
"id": "<string>",
"itemId": "<string>",
"name": "<string>",
"description": "<string>",
"discountAmount": 123,
"discountPercentage": 123,
"discountReason": "<string>",
"soldPackageId": "<string>",
"bankedQuantity": 123,
"bankedItemId": "<string>",
"issuedDiscountId": "<string>",
"soldByProviderId": "<string>",
"taxAmount": 123,
"pricingId": "<string>",
"shipmentIds": [
"<string>"
],
"item": {
"name": "<string>",
"price": 123,
"id": "<string>",
"brandName": "<string>",
"description": "<string>",
"category": "<string>",
"unit": "AMPOULES",
"isPhysical": true,
"isArchived": false,
"internalNotes": "<string>",
"taxable": false,
"sortOrder": 123,
"allowCustomPricing": false,
"type": "PRODUCT"
},
"locationId": "<string>",
"locationName": "<string>",
"saleDate": "2023-11-07T05:31:56Z"
}
],
"adjustments": [
{
"chargeId": "<string>",
"id": "<string>",
"amount": 123,
"createdDate": "2023-11-07T05:31:56Z",
"adjustmentType": "WRITE_OFF",
"providerId": "<string>",
"locationId": "<string>",
"reason": "<string>"
}
],
"payments": [
{
"paymentId": "<string>",
"amount": 123,
"chargeId": "<string>",
"payment": {
"id": "<string>",
"amount": 123,
"status": "CANCELED",
"paymentMedium": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"feeToPatient": 123,
"patientId": "<string>",
"payinId": "<string>",
"currency": "USD",
"payinConfigId": "<string>",
"paymentMethodId": "<string>",
"stripePaymentIntentId": "<string>",
"failedReason": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"fee": 0,
"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>",
"type": "CARD",
"isDefault": false,
"isArchived": false
},
"refunds": []
},
"createdDate": "2023-11-07T05:31:56Z"
}
],
"id": "<string>",
"patient": {
"id": "<string>",
"type": "PROVIDER",
"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>",
"dateOfBirth": "2023-12-25",
"patientMedications": [
"<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>"
},
"total": 0,
"description": "<string>",
"status": "OUTSTANDING",
"discountAmount": 0,
"discountPercentage": 0,
"externalId": "<string>",
"externalCreatedDate": "2023-11-07T05:31:56Z",
"ruleSetId": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"creatorId": "<string>",
"tips": [],
"locationId": "<string>",
"eventId": "<string>",
"memberId": "<string>",
"comment": "<string>",
"meta": {},
"merchantAccountId": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Charges
Get charges with full item, payment, adjustment, and tip details, optionally filtered by patient or status.
curl --request GET \
--url https://api.decodahealth.com/billing/charge/list \
--header 'API-KEY: <api-key>' \
--header 'TENANT: <tenant>'import requests
url = "https://api.decodahealth.com/billing/charge/list"
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/list', 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/list",
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/list"
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/list")
.header("TENANT", "<tenant>")
.header("API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.decodahealth.com/billing/charge/list")
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[
{
"patientId": "<string>",
"totalOutstanding": 123,
"items": [
{
"chargeId": "<string>",
"quantity": 123,
"price": 123,
"id": "<string>",
"itemId": "<string>",
"name": "<string>",
"description": "<string>",
"discountAmount": 123,
"discountPercentage": 123,
"discountReason": "<string>",
"soldPackageId": "<string>",
"bankedQuantity": 123,
"bankedItemId": "<string>",
"issuedDiscountId": "<string>",
"soldByProviderId": "<string>",
"taxAmount": 123,
"pricingId": "<string>",
"shipmentIds": [
"<string>"
],
"item": {
"name": "<string>",
"price": 123,
"id": "<string>",
"brandName": "<string>",
"description": "<string>",
"category": "<string>",
"unit": "AMPOULES",
"isPhysical": true,
"isArchived": false,
"internalNotes": "<string>",
"taxable": false,
"sortOrder": 123,
"allowCustomPricing": false,
"type": "PRODUCT"
},
"locationId": "<string>",
"locationName": "<string>",
"saleDate": "2023-11-07T05:31:56Z"
}
],
"adjustments": [
{
"chargeId": "<string>",
"id": "<string>",
"amount": 123,
"createdDate": "2023-11-07T05:31:56Z",
"adjustmentType": "WRITE_OFF",
"providerId": "<string>",
"locationId": "<string>",
"reason": "<string>"
}
],
"payments": [
{
"paymentId": "<string>",
"amount": 123,
"chargeId": "<string>",
"payment": {
"id": "<string>",
"amount": 123,
"status": "CANCELED",
"paymentMedium": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"feeToPatient": 123,
"patientId": "<string>",
"payinId": "<string>",
"currency": "USD",
"payinConfigId": "<string>",
"paymentMethodId": "<string>",
"stripePaymentIntentId": "<string>",
"failedReason": "<string>",
"updatedDate": "2023-11-07T05:31:56Z",
"fee": 0,
"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>",
"type": "CARD",
"isDefault": false,
"isArchived": false
},
"refunds": []
},
"createdDate": "2023-11-07T05:31:56Z"
}
],
"id": "<string>",
"patient": {
"id": "<string>",
"type": "PROVIDER",
"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>",
"dateOfBirth": "2023-12-25",
"patientMedications": [
"<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>"
},
"total": 0,
"description": "<string>",
"status": "OUTSTANDING",
"discountAmount": 0,
"discountPercentage": 0,
"externalId": "<string>",
"externalCreatedDate": "2023-11-07T05:31:56Z",
"ruleSetId": "<string>",
"createdDate": "2023-11-07T05:31:56Z",
"creatorId": "<string>",
"tips": [],
"locationId": "<string>",
"eventId": "<string>",
"memberId": "<string>",
"comment": "<string>",
"meta": {},
"merchantAccountId": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Headers
The tenant you are making this request on behalf of
Your api key
Query Parameters
OUTSTANDING, PAID, EXTERNAL_SETTLEMENT, VOID, WRITE_OFF, REFUNDED, CHARGEBACK, PAYMENT_PLAN, COLLECTIONS Response
Successful Response
Identifier of the patient being charged.
Total outstanding amount that is yet to be paid.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A unique identifier for the charge. Auto-generated if not provided.
Summary details of the patient being charged.
Show child attributes
Show child attributes
Total amount of the charge.
Description of the charge.
Current status of the charge.
OUTSTANDING, PAID, EXTERNAL_SETTLEMENT, VOID, WRITE_OFF, REFUNDED, CHARGEBACK, PAYMENT_PLAN, COLLECTIONS Any discount applied to the total outstanding.
Percentage of discount applied to the charge.
External identifier for the charge, if applicable.
The creation date of the charge in your external system, if applicable.
Identifier for the RuleSet applied to this Charge, if any.
The date when the charge was created.
Identifier of the Provider who created the charge (i.e. the Clinician, or relevant Biller).
List of Tips in the Charge.
Show child attributes
Show child attributes
Identifier of the Location where the charge was created.
Identifier of the Event this charge is associated with, if any.
Identifier of the Member this charge is associated with, if any.
Any additional comments about the charge.
Any additional metadata about the charge relevant to your system.
Identifier of the MerchantAccount this charge is associated with.

