Withdraw a referral
curl --request POST \
--url https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"reason": "<string>"
}
'import requests
url = "https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw"
payload = { "reason": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw', 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.casexchange.com/api/public/v1/referrals/{id}/withdraw",
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([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.casexchange.com/api/public/v1/referrals/{id}/withdraw"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-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.casexchange.com/api/public/v1/referrals/{id}/withdraw")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"referenceNumber": "<string>",
"status": "draft",
"closingStatus": "won_settled",
"payoutType": "lump_sum",
"closureReason": "<string>",
"referringFirmId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"referentFirmId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementAmount": 500000000,
"attorneyFees": 500000000,
"projectedSettlementAmount": 500000000,
"estimatedDateOfResolution": "2023-11-07T05:31:56Z",
"estimatedDistributionDate": "2023-11-07T05:31:56Z",
"statuteOfLimitationsExpiration": "2023-11-07T05:31:56Z",
"clientFeeAgreementPercentage": 0.5,
"sendingFirmPercentage": 50,
"netFeeToSendingFirm": 123,
"netFeeToHandlingFirm": 123,
"resolutionDate": "2023-11-07T05:31:56Z",
"closedDate": "2023-11-07T05:31:56Z",
"leadAttorneyName": "<string>",
"warmTransferSuccessful": true,
"warmTransferUnsuccessfulReason": "<string>",
"warmTransferUnsuccessfulReasonType": "FIRM_UNABLE_TO_ANSWER",
"phase": "<string>",
"notes": "<string>",
"isRetainerSigned": true,
"customFields": [
{
"fieldId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fieldName": "<string>",
"displayName": "<string>",
"fieldType": "<string>",
"value": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}Referrals
Withdraw a referral
Withdraws a referral, transitioning it to WITHDRAWN. A reason is required. Only the sending firm may withdraw, and only from a status that permits it. Requires STANDARD tier.
POST
/
referrals
/
{id}
/
withdraw
Withdraw a referral
curl --request POST \
--url https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"reason": "<string>"
}
'import requests
url = "https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw"
payload = { "reason": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>'})
};
fetch('https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw', 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.casexchange.com/api/public/v1/referrals/{id}/withdraw",
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([
'reason' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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.casexchange.com/api/public/v1/referrals/{id}/withdraw"
payload := strings.NewReader("{\n \"reason\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-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.casexchange.com/api/public/v1/referrals/{id}/withdraw")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.casexchange.com/api/public/v1/referrals/{id}/withdraw")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"referenceNumber": "<string>",
"status": "draft",
"closingStatus": "won_settled",
"payoutType": "lump_sum",
"closureReason": "<string>",
"referringFirmId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"referentFirmId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"settlementAmount": 500000000,
"attorneyFees": 500000000,
"projectedSettlementAmount": 500000000,
"estimatedDateOfResolution": "2023-11-07T05:31:56Z",
"estimatedDistributionDate": "2023-11-07T05:31:56Z",
"statuteOfLimitationsExpiration": "2023-11-07T05:31:56Z",
"clientFeeAgreementPercentage": 0.5,
"sendingFirmPercentage": 50,
"netFeeToSendingFirm": 123,
"netFeeToHandlingFirm": 123,
"resolutionDate": "2023-11-07T05:31:56Z",
"closedDate": "2023-11-07T05:31:56Z",
"leadAttorneyName": "<string>",
"warmTransferSuccessful": true,
"warmTransferUnsuccessfulReason": "<string>",
"warmTransferUnsuccessfulReasonType": "FIRM_UNABLE_TO_ANSWER",
"phase": "<string>",
"notes": "<string>",
"isRetainerSigned": true,
"customFields": [
{
"fieldId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"fieldName": "<string>",
"displayName": "<string>",
"fieldType": "<string>",
"value": "<string>"
}
],
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"meta": {
"requestId": "req_f2dbe1d3f6ad4a7bb5b4c9f2",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Public API key: cxp_<hex> (firm-scoped) or cxpp_<hex> (provider-scoped). Required on every request.
Path Parameters
Resource UUID
Body
application/json
Required string length:
1 - 5000Response
Updated referral
A referral as seen by either party. Referral-level fields only (financials, resolution, workflow) — client and case details live on the parent case. When the caller is the receiving firm and the referral is still SENT (not yet acknowledged), leadAttorneyName, warmTransferUnsuccessfulReason, warmTransferUnsuccessfulReasonType and notes are null and customFields is empty.
Show child attributes
Show child attributes
Show child attributes
Show child attributes

