List owner statements
Changed onReturns owner statement metadata with table-parity fields (listings, business models, status, sharing channels, generation date, minimum account balance) and presigned PDF download URLs (valid for 1 hour).
Request
- Base URLhttps://open-api.guesty.com/v1
- URLhttps://open-api.guesty.com/v1/owner-statement-api/owner-statements
- AuthAPI key in header authorization
Query parameters
Offset: number of matching statements to skip before returning results. Echoed in the response skip field. Defaults to 0.
Requested page size (1–100). Values above the max are clamped. Echoed as the effective page size in the response limit field. Defaults to 25.
Filter results to a specific owner by their ID
How to interpret period filter fields.
- When omitted and no period fields are sent: no period filter is applied; statements are returned across all periods (subject to other filters and pagination).
- When omitted but any period field is sent (e.g. year=2025 without periodMode): the request is rejected with 400 Bad Request (periodMode is required when period fields are provided). There is no implicit mode and period fields are not ignored in that case.
- When set: only the fields required by that mode are used; other period fields are ignored. Modes:
- month — requires year + month (e.g. January 2025)
- year — requires year (full calendar year)
- monthRange — requires fromYear, fromMonth, toYear, toMonth (start ≤ end)
- yearRange — requires fromYear + toYear (full years inclusive, fromYear ≤ toYear)
- fiscalYear — requires fiscalYear (uses account fiscal start month)
- fiscalYearRange — requires fromFiscalYear + toFiscalYear (fromFiscalYear ≤ toFiscalYear)
Calendar year. Required for periodMode=month and periodMode=year.
Calendar month 1–12. Required for periodMode=month.
Range start year. Required for periodMode=monthRange and periodMode=yearRange.
Range start month 1–12. Required for periodMode=monthRange.
Range end year. Required for periodMode=monthRange and periodMode=yearRange.
Range end month 1–12. Required for periodMode=monthRange.
Fiscal year. Required for periodMode=fiscalYear.
Fiscal range start. Required for periodMode=fiscalYearRange.
Fiscal range end. Required for periodMode=fiscalYearRange.
Return statements created or updated after this ISO-8601 timestamp. Highly recommended for incremental sync.
Filter by statement type
Filter by lifecycle status. Repeat the query param to match any of the given values (e.g. status=APPROVED&status=PENDING).
Filter by sharing channel. Repeat the query param to match statements shared via any given channel (e.g. sharedVia=EMAIL&sharedVia=OWNERS_PORTAL).
Filter to statements covering the given listing ID(s). Repeat the query param for multiple listings.
Filter to statements under the given business model ID(s). Repeat the query param for multiple business models.
Return statements with generatedAt on or after this ISO-8601 timestamp.
Return statements with generatedAt on or before this ISO-8601 timestamp.
Response
Owner statements list
Example response
{
"results": [
{
"id": "65d76274721ff5dd3055632f",
"ownerName": "John Doe",
"ownerId": "5acb0b89a89953001f6c73db",
"listings": [
{
"id": "60b1a2c3d4e5f6789012345",
"name": "Seaside Villa 3BR"
}
],
"businessModels": [
{
"id": "60b1a2c3d4e5f6789012345",
"name": "Seaside Villa 3BR"
}
],
"periodStartDate": "2025-01-01T00:00:00.000Z",
"periodEndDate": "2025-01-31T00:00:00.000Z",
"minimumAccountBalance": 500,
"endingBalance": 5000,
"dueToOwner": 3000,
"currency": "USD",
"sharedVia": [
"EMAIL",
"OWNERS_PORTAL"
],
"generatedAt": "2025-02-01T08:14:33.000Z",
"status": "APPROVED",
"statementType": "MONTHLY",
"pdfDownloadUrl": "https://signed.example/statement.pdf"
}
],
"count": 25,
"limit": 25,
"total": 100
}Changes
- info
added the new optional
queryrequest parameterbusinessModelId - info
added the new optional
queryrequest parametergeneratedAtFrom - info
added the new optional
queryrequest parametergeneratedAtTo - info
added the new optional
queryrequest parameterlistingId - info
added the new optional
queryrequest parametersharedVia - info
added the new optional
queryrequest parameterstatus - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status - info
added the required property
//to the response with the status
- info