import requests
url = "https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
curl --request GET \
--url https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/ \
--header 'Authorization: Bearer <token>'{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"channel": "email",
"direction": "inbound",
"email": {
"cc": [],
"from": "[email protected]",
"to": [
"[email protected]"
]
},
"history_entry_ids": [
"f0000000-0000-4000-8000-000000000001"
],
"id": "f3000000-0000-4000-8000-000000000001",
"occurred_at": "2026-08-27T10:58:00Z",
"pdf_url": "https://api-sandbox.paywise.de/v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/pdf/",
"source_mandate": {
"id": "50000000-0000-4000-8000-000000000001",
"reference_number": "PW-2026-000042",
"relation": "main_case"
},
"subject": "Ratenzahlung",
"updated_at": "2026-08-27T11:05:00Z",
"url": "https://api-sandbox.paywise.de/v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/"
}
]
}{
"code": "validation_error",
"detail": "The request contains invalid data.",
"errors": [
{
"code": "invalid",
"field": "claims[0].due_date",
"message": "Due date must not precede the document date."
}
]
}{
"code": "not_authenticated",
"detail": "Authentication credentials were not provided."
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}{
"code": "not_found",
"detail": "The requested resource was not found."
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}List mandate correspondence
Debtor correspondence of the case that the creditor may read: the same set the portal shows. channel is an open enumeration (email today). List rows omit body and attachments; read the item for both. Items become readable through a status or client-request publication; that moment counts as an update, so updated_since returns newly readable items.
import requests
url = "https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.get("https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/")
.header("Authorization", "Bearer <token>")
.asString();using RestSharp;
var options = new RestClientOptions("https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
curl --request GET \
--url https://api.paywise.de/v2/mandates/{mandate_id}/correspondence/ \
--header 'Authorization: Bearer <token>'{
"count": 123,
"next": "http://api.example.org/accounts/?offset=400&limit=100",
"previous": "http://api.example.org/accounts/?offset=200&limit=100",
"results": [
{
"channel": "email",
"direction": "inbound",
"email": {
"cc": [],
"from": "[email protected]",
"to": [
"[email protected]"
]
},
"history_entry_ids": [
"f0000000-0000-4000-8000-000000000001"
],
"id": "f3000000-0000-4000-8000-000000000001",
"occurred_at": "2026-08-27T10:58:00Z",
"pdf_url": "https://api-sandbox.paywise.de/v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/pdf/",
"source_mandate": {
"id": "50000000-0000-4000-8000-000000000001",
"reference_number": "PW-2026-000042",
"relation": "main_case"
},
"subject": "Ratenzahlung",
"updated_at": "2026-08-27T11:05:00Z",
"url": "https://api-sandbox.paywise.de/v2/mandates/50000000-0000-4000-8000-000000000001/correspondence/f3000000-0000-4000-8000-000000000001/"
}
]
}{
"code": "validation_error",
"detail": "The request contains invalid data.",
"errors": [
{
"code": "invalid",
"field": "claims[0].due_date",
"message": "Due date must not precede the document date."
}
]
}{
"code": "not_authenticated",
"detail": "Authentication credentials were not provided."
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}{
"code": "not_found",
"detail": "The requested resource was not found."
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"code": "<string>",
"field": "<string>",
"message": "<string>"
}
]
}Authorizations
Company-bound Case Management API key — the standard credential for this API.
Headers
Required when a Partner key calls the Case Management API; rejected for direct Case keys. Contains the entitled paywise company UUID.
Path Parameters
UUID of the parent accepted case in this request.
Query Parameters
Only this channel. Unknown channels yield an empty page.
Opaque continuation cursor for incremental synchronization, taken from the next URL of a previous page. Only valid together with updated_since: with updated_since set the list is ordered by change time and then id and pages by this cursor instead of offset, so a row that changes while you page is returned again later instead of pushing another row out of the result. Rows changed less than 60 seconds ago are held back until they are settled; use the largest updated_at you received as the next updated_since.
Only inbound (received from the debtor) or outbound (sent by paywise) items.
inbound, outbound Number of results to return (maximum 100).
1 <= x <= 100Zero-based result offset.
x >= 0Return entries changed at or after this timezone-aware RFC 3339 timestamp (inclusive). With it set, results are ordered by change time and then id instead of newest first, page by cursor instead of offset, and entries changed less than a minute ago are held back.
Response
Total number of matching resources.
123
Resources returned for the requested page.
Show child attributes
Show child attributes
URL for the next page, or null when this is the last page. With updated_since it carries an opaque cursor.
"http://api.example.org/accounts/?offset=400&limit=100"
URL for the previous page, or null when this is the first page. Always null with updated_since.
"http://api.example.org/accounts/?offset=200&limit=100"
