curl --request POST \
--url https://api.casexchange.com/api/public/v1/referrals/{id}/acknowledge \
--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}/acknowledge"
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}/acknowledge', 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}/acknowledge",
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}/acknowledge"
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}/acknowledge")
.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}/acknowledge")
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"
}
}Acknowledge a referral
Acknowledges receipt of a SENT referral, transitioning it to UNDER_EVALUATION (INVESTIGATING when the retainer was pre-signed) and unmasking client details for the receiving firm. Only the receiving firm may acknowledge. Requires STANDARD tier.
curl --request POST \
--url https://api.casexchange.com/api/public/v1/referrals/{id}/acknowledge \
--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}/acknowledge"
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}/acknowledge', 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}/acknowledge",
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}/acknowledge"
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}/acknowledge")
.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}/acknowledge")
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
Optional note recorded on the resulting status-history entry. Line breaks are collapsed to spaces.
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

