Skip to content

Get dunning notice ​

Returns the details of a single dunning notice.

Required license

This endpoint requires the Dunning add-on.

Request ​

GET /api/oauth/v2/resource/invoices/dunnings/{uuid}

HeaderValue
AuthorizationBearer {access_token}

URL parameters ​

ParameterTypeRequiredDescription
uuidstringYesUnique ID of the dunning notice

Required scope: dunnings

Response ​

Success (200 OK) ​

json
{
  "data": {
    "id": "c3d4e5f6-a7b8-9012-cdef-234567890123",
    "invoice": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "customer": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
    "status": "active",
    "text": "Dear Sir or Madam, we would like to remind you of the following open invoice.",
    "printedStatus": "unprinted",
    "paidStatus": "open",
    "dunningType": "7f8e9d0c-1b2a-3456-789a-bcdef0123456",
    "fee": "12.00",
    "latePaymentInterestRate": "4.00",
    "paymentDeadline": 14,
    "totalAmount": "122.35",
    "outstandingTotal": "122.35",
    "totalFee": "12.00",
    "outstandingFee": "12.00",
    "totalInterest": "0.35",
    "outstandingInterest": "0.35",
    "invoiceOutstandingBalance": "110.00",
    "interestCalculateStartDate": "2026-06-16",
    "interestCalculateEndDate": "2026-07-15",
    "createdAt": "2026-07-15T09:00:00+02:00",
    "updatedAt": "2026-07-15T09:00:00+02:00",
    "createdBy": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
    "updatedBy": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
    "deleted": false,
    "deletedAt": null,
    "deletedBy": null,
    "tenancy": "9a8b7c6d-5e4f-3210-9876-543210fedcba"
  }
}

Note: A replaced or canceled dunning notice still returns 200 — status is replaced or canceled then, and a canceled notice additionally has deleted = true.

Response fields ​

FieldTypeDescription
data.idstring (UUID) | nullUnique ID of the dunning notice
data.invoicestring (UUID) | nullID of the dunned invoice, loadable via Get Invoice
data.customerstring (UUID) | nullID of the customer, loadable via Get Customer
data.statusstringTechnical status: active, replaced, canceled. See Conventions
data.textstring | nullDunning text as printed on the letter to the customer
data.printedStatusstringPrint status: printed, unprinted
data.paidStatusstringPayment status: open, paid
data.dunningTypestring (UUID) | nullID of the dunning level, loadable via Get dunning level
data.feestringDunning fee of this dunning level
data.latePaymentInterestRatestringLate payment interest rate in percent
data.paymentDeadlineintegerPayment deadline in days
data.totalAmountstringTotal amount of the dunning notice
data.outstandingTotalstringOutstanding total amount
data.totalFeestringTotal dunning fees
data.outstandingFeestringOutstanding dunning fees
data.totalIntereststringTotal late payment interest
data.outstandingIntereststringOutstanding late payment interest
data.invoiceOutstandingBalancestringOutstanding amount of the dunned invoice
data.interestCalculateStartDatestring | nullStart of interest calculation (YYYY-MM-DD)
data.interestCalculateEndDatestring | nullEnd of interest calculation (YYYY-MM-DD)
data.createdAtstring (ISO 8601)Creation timestamp
data.updatedAtstring (ISO 8601)Last change timestamp
data.createdBystring (UUID) | nullID of the user who created the dunning notice, loadable via Get User
data.updatedBystring (UUID) | nullID of the user who made the last change
data.deletedbooleanWhether the dunning notice is deleted
data.deletedAtstring (ISO 8601) | nullDeletion timestamp
data.deletedBystring (UUID) | nullID of the user who deleted the dunning notice
data.tenancystring (UUID) | nullID of the assigned tenancy

Note on monetary amounts: All monetary amounts and the interest rate come as a JSON string, not as a number ("fee": "12.00"). This affects fee, latePaymentInterestRate, totalAmount, outstandingTotal, totalFee, outstandingFee, totalInterest, outstandingInterest, and invoiceOutstandingBalance. Process the values with a decimal type. If you parse them into a floating-point number, you build in rounding errors. Same behavior as with invoices and cash revenues.

Note: paymentDeadline is a number of days, not a date.

Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/invoices/dunnings/b2c3d4e5-f6a7-8901-bcde-f01234567890" \
  -H "Authorization: Bearer {access_token}"
Parameter
Zuerst Token anfordern

Possible errors ​

StatusCodeDescription
401invalid_clientAccess token invalid or expired
403insufficient_scopeScope dunnings not present
404not_foundDunning notice not found, or assigned to a tenancy the owning user of your API access does not have access to or where they lack the Mahnwesen: Anzeigen permission under the Tenancies add-on. The response is the same as for an unknown UUID (The requested resource was not found.)
429rate_limit_exceededToo many requests — see Error Handling

Note: If the Authorization header is missing or the token is invalid, the API answers with 401 and the JSON envelope invalid_client. This holds for the OAuth API in general, not just for this endpoint.

Offisy GmbH