Let this merchant collect money again
Switches collection back on and puts stranded subscriptions back on their schedule, so each customer is charged once on their next real cycle rather than once per cycle the pause swallowed.
A merchant cannot clear a pause Fluid imposed; that returns 403.
curl --request DELETE \
--url https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause', 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.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause",
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://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause"
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://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause")
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_body{
"data": {
"paused": false,
"paused_at": null,
"paused_by": null,
"reason": null
},
"meta": {
"request_id": "0192a3f4-d9ea-76f7-b819-7e8f9a0b1c23",
"timestamp": "2026-10-06T13:30:00Z"
}
}{
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"status": "<string>"
}{
"status": "error",
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"errors": "<string>"
}{
"status": "error",
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"errors": "<string>"
}Authorizations
Merchant API key (fp_live_* for live, fp_test_* for sandbox) or an
admin-tier JWT (company admin or root admin). Non-admin JWTs are
rejected with 403; live API keys additionally require the merchant's
API access to be enabled.
A company admin, company token or partner token also needs the role
grant for the action, or gets 403: gateways.view, .create,
.update or .delete (or the matching apm.* grant) for gateway
configuration, transactions.update for purchase, authorize, verify,
capture, void and credit, and transactions.view to read transactions.
API keys, root admins and droplet tokens are not checked against roles.
Path Parameters
Company ID of the merchant. The lookup resolves by company ID only, the same as the configuration endpoint.
curl --request DELETE \
--url https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause', 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.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause",
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://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause"
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://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/payment/v2026-04/merchants/{merchant_id}/billing_pause")
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_body{
"data": {
"paused": false,
"paused_at": null,
"paused_by": null,
"reason": null
},
"meta": {
"request_id": "0192a3f4-d9ea-76f7-b819-7e8f9a0b1c23",
"timestamp": "2026-10-06T13:30:00Z"
}
}{
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"status": "<string>"
}{
"status": "error",
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"errors": "<string>"
}{
"status": "error",
"message": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
},
"errors": "<string>"
}