Delete Payment Plan
curl --request DELETE \
--url https://getbill.io/external-api/v1/debts/{id}/payment-plan \
--header 'Authorization: Bearer <token>'import requests
url = "https://getbill.io/external-api/v1/debts/{id}/payment-plan"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getbill.io/external-api/v1/debts/{id}/payment-plan', 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://getbill.io/external-api/v1/debts/{id}/payment-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://getbill.io/external-api/v1/debts/{id}/payment-plan"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://getbill.io/external-api/v1/debts/{id}/payment-plan")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/external-api/v1/debts/{id}/payment-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyDebts API
Delete Payment Plan
Cancel the pending schedule of a debt payment plan
DELETE
/
external-api
/
v1
/
debts
/
{id}
/
payment-plan
Delete Payment Plan
curl --request DELETE \
--url https://getbill.io/external-api/v1/debts/{id}/payment-plan \
--header 'Authorization: Bearer <token>'import requests
url = "https://getbill.io/external-api/v1/debts/{id}/payment-plan"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getbill.io/external-api/v1/debts/{id}/payment-plan', 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://getbill.io/external-api/v1/debts/{id}/payment-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://getbill.io/external-api/v1/debts/{id}/payment-plan"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://getbill.io/external-api/v1/debts/{id}/payment-plan")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/external-api/v1/debts/{id}/payment-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyOverview
Cancels the active payment plan for a debt. Pending installments are removed, while already-paid installments are preserved as payment history. Use this when an external payment platform cancels or replaces a negotiated plan and no new schedule should remain active in GetBill. For grouped debts, calling this endpoint with any debt ID cancels the single shared plan for the whole group.This endpoint targets a known debt by its GetBill encrypted ID. If your system sends the complete view of a campaign, cancel the payment plan in
rows[].payment_plan of the campaign snapshot instead.Authentication
Requires a valid OAuth 2.0 access token with thedebts:write scope.
Request
string
required
Encrypted debt ID.
Response
Returns the same structure as Get Payment Plan, withdata.active set to false.
Example
curl -X DELETE "/external-api/v1/debts/debt_id/payment-plan" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"