curl --request POST \
--url https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/', 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.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/"
req, _ := http.NewRequest("POST", 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.post("https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"state": "active",
"pause_reason": null,
"paused_at": null,
"current_level": 1,
"next_action_date": "2026-09-04T00:00:00+02:00",
"dunning_flow": {
"id": "73000000-0000-4000-8000-000000000001",
"name": "Standard reminders",
"levels": 3,
"level_count": 3
},
"dunnings": []
}Resume the dunning process
Resumes a paused dunning process: back to ACTIVE once the company’s Mahnlauf is activated, PENDING until then. A company-wide hold (dunning paused for the whole company by you or by paywise) outranks the per-invoice resume. 409 (codes: not_released, not_paused, company_paused, invoice_in_inkasso, complaint_requires_letter, stripe_connection_revoked, invoice_paid / invoice_cancelled / invoice_written_off, not_api_invoice).
curl --request POST \
--url https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/', 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.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/"
req, _ := http.NewRequest("POST", 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.post("https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.paywise.de/mahnservice/v1/invoices/{uuid}/dunning/resume/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"state": "active",
"pause_reason": null,
"paused_at": null,
"current_level": 1,
"next_action_date": "2026-09-04T00:00:00+02:00",
"dunning_flow": {
"id": "73000000-0000-4000-8000-000000000001",
"name": "Standard reminders",
"levels": 3,
"level_count": 3
},
"dunnings": []
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
UUID of the invoice in this request.
Response
The dunning state of one invoice: the dunning process plus the history of sent notices. A held, never-released invoice reports the held shape with no process.
Current dunning process state. held means an API invoice awaits release; an invoice settled while held reports paid, cancelled, or written_off. Null means a bookkeeping invoice has never been enrolled.
held, pending, active, paused, completed, paid, cancelled, written_off, inkasso Reason recorded for the process hold (manual user pause, subscription, administrator, debtor hold, or disconnected integration); null when no reason is recorded.
user, subscription, admin, debtor, integration Time the process entered its current pause. Null when not paused, when no process exists, or when a legacy pause has no recorded timestamp.
One-based next dunning level. It can be one beyond the final configured level after the last notice; null when no dunning process exists.
Scheduled time of the next dunning action, which can be a notice or automatic debt-collection handover. Null when no action is scheduled or no process exists.
Flow assigned to this invoice's dunning process, which can be an older configuration version. Null when no process or assigned flow exists.
Show child attributes
Show child attributes
History of sent or attempted dunning notices. Empty when the invoice has no dunning process.
Show child attributes
Show child attributes
