The two key endpoints for cancellations are
POST /cancellations and
GET /cancellation/{cancellation-identification}/status.
POST /cancellationsThe cancel method updates the status of an
existing FVR in the system from
REGISTERED (REGU
or REDU) to
CANCELLED (CANC)
or from FINANCED
(FNCD) to
CANCELLED (CANC)
and returns a cancellation_id. The
cancelled FVR can still be queried for by using
the FVR’s request id or by using the Get
Cancellation method.
Once an FVR has been cancelled, the documents
within it are no longer considered to pose a
risk for duplicate financing, and will not
result in a REDU/DFIN
status for any FVRs that contains exact matches
of them. As such, cancellation can be used to
roll back any erroneous financings, or to remove
one’s claim to the FVR documents from the
system.
A cancellation reason may be passed along with the method using the below list of cancellation codes:
EXNB - Expired – No BidDFIN - Duplicate FinancingEBNA - Expired, Bid Not
AcceptedEXND - Expired, Non
disbursementLG1F - Leg 1 FailedNTFD - Decided Not to
FinanceRJCT - RejectedUKWN - UnknownWITH - WithdrawnOBSA - Obligation
satisfiedAs with financing, cancellation can be carried out using several different identifiers:
request_identification (cancel
all FVRs defined in this request)pool_identification (cancel all
FVRs defined in this pool)batch_identification (cancel
all FVRs defined in this batch)submitter_data_set_identification
(cancel this single FVR)Request ID:
{"request_identification": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}Pool ID:
{ "pool_identification": "AZN20200110"}Batch ID:
{"batch_identification": "123e4567-e89b-42d3-a456-426614174000"}Data Set ID:
{"submitter_data_set_identification": "123e4567-e89b-42d3-a456-426614174000"}Bash:
curl --request POST \
--url https://api.uat.securefinancing.com/v1/cancellations \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"submitting_financial_institution_identification": "SWHQBEBBXXX",
"cancellation_batch": [
{
"pool_identification": "AZN20200110",
"cancellation_reason": "EXNB"
},
{
"batch_identification": "7a3ef62c-6e80-497f-8831-f4a809ef6344",
"cancellation_reason": "EXNB"
}
]
}'Javascript:
fetch("fetch("https:https://api.uat.securefinancing.com/v1/cancellations", {
cancellations", {
"method": "POST",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer "
},
"body": "{\"submitting_financial_institution_identification\":\"SWHQBEBBXXX\",\"cancellation_batch\":[{\"pool_identification\":\"AZN20200110\",\"cancellation_reason\":\"EXNB\"},{\"batch_identification\":\"7a3ef62c-6e80-497f-8831-f4a809ef6344\",\"cancellation_reason\":\"EXNB\"}]}"
})
.then(response => {
console.log(response);
})
.catch(err => {
console.error(err);
});Python:
import http.client
conn = http.client.HTTPSConnection("virtserver.swaggerhub.com")
payload = "{\n \"submitting_financial_institution_identification\": \"SWHQBEBBXXX\",\n \"cancellation_batch\": [\n {\n \"pool_identification\": \"AZN20200110\",\n \"cancellation_reason\": \"EXNB\"\n },\n {\n \"batch_identification\": \"7a3ef62c-6e80-497f-8831-f4a809ef6344\",\n \"cancellation_reason\": \"EXNB\"\n }\n ]\n}"
headers = {
'Content-Type': "application/json",
'Authorization': "Bearer "
}
conn.request("POST", "https://api.uat.securefinancing.com/v1/cancellations", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))Java:
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"submitting_financial_institution_identification\": \"SWHQBEBBXXX\",\n \"cancellation_batch\": [\n {\n \"pool_identification\": \"AZN20200110\",\n \"cancellation_reason\": \"EXNB\"\n },\n {\n \"batch_identification\": \"7a3ef62c-6e80-497f-8831-f4a809ef6344\",\n \"cancellation_reason\": \"EXNB\"\n }\n ]\n}");
Request request = new Request.Builder()
.url("https://api.uat.securefinancing.com/v1/cancellations")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer ")
.build();
Response response = client.newCall(request).execute();A successful response in the cancellation
endpoint will output a
cancellation_identificiation.
{"cancellation_identification": "123e4567-e89b-42d3-a456-426614174000"}GET /cancellation/{cancellation-identification}/statusThe
GET /cancellation/{cancellation-identification}/status
endpoint retrieves the cancellation status of
receivables at the validation service.
You can retrieve status by using
cancellation_identification.
{"cancellation_identification": "789e4567-e89b-12d3-a456-426614174000"}Bash:
curl --request GET \
--url https://api.uat.securefinancing.com/v1/cancellations/789e4567-e89b-12d3-a456-426614174000/status \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json'Javascript:
fetch("https://api.uat.securefinancing.com/v1/cancellations/789e4567-e89b-12d3-a456-426614174000/status", {
"method": "GET",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer "
}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.error(err);
});Python:
import http.client
conn = http.client.HTTPSConnection("virtserver.swaggerhub.com")
payload = "{\n \"submitting_financial_institution_identification\": \"SWHQBEBBXXX\",\n \"cancellation_batch\": [\n {\n \"pool_identification\": \"AZN20200110\",\n \"cancellation_reason\": \"EXNB\"\n },\n {\n \"batch_identification\": \"7a3ef62c-6e80-497f-8831-f4a809ef6344\",\n \"cancellation_reason\": \"EXNB\"\n }\n ]\n}"
headers = {
'Content-Type': "application/json",
'Authorization': "Bearer "
}
conn.request("POST", "https://api.uat.securefinancing.com/v1/cancellations", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))Java:
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"submitting_financial_institution_identification\": \"SWHQBEBBXXX\",\n \"cancellation_batch\": [\n {\n \"pool_identification\": \"AZN20200110\",\n \"cancellation_reason\": \"EXNB\"\n },\n {\n \"batch_identification\": \"7a3ef62c-6e80-497f-8831-f4a809ef6344\",\n \"cancellation_reason\": \"EXNB\"\n }\n ]\n}");
Request request = new Request.Builder()
.url("https://api.uat.securefinancing.com/v1/cancellations")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "Bearer ")
.build();
Response response = client.newCall(request).execute();Successful retreival of cancellation status
using the
cancellation_identification will
output:
request_identification,
pool_identification,
batch_identification,
submitter_data_set_identification)cancellation_reason (see above
in POST /cancellation section for
values)cancellation_status
(PACK- request acknowledged /
accepted OR REJT- request
rejected){
"cancellation_identification": "789e4567-e89b-12d3-a456-426614174000",
"submitting_financial_institution_identification": "SWHQBEBBXXX",
"cancellation_status_batch": [
{
"pool_identification": "pool123",
"cancellation_reason": "EXNB",
"cancellation_status": "PACK"
}
]
}