VRPlatformVRPlatform
Reservations

/reservations

Get reservations with the same materialized issues returned by reservation detail. Issue freshness is exposed through issuesComputedAt and issuesStale. journalStatus reports whether all known journal changes are applied.

Required scope: reservations:read

GET
/reservations
X-API-Key<token>

API key provided in dashboard

In: header

Query Parameters

journalChangesFromFeeId?string

Reservations with pending journal changes from this fee, excluding completed accounting-lock skips.

Match^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Formatuuid
ids?string

Comma-separated reservation ids. Prefix with ! to exclude matching ids.

Formatvrp-csv
shortRefs?string

Comma-separated reservation short refs.

Formatvrp-csv
journalReviewOperationId?string|string

Return distinct reservations with unapplied journal refreshes blocked by accounting locks in this operation. Excludes active retries and applied changes; includes inactive reservations unless status is specified. Other filters and owner access still apply.

status?string
Value in"booked" | "canceled" | "inactive"
generalLedgerStatus?string
Value in"active" | "inactive"
listingId?string
listingScope?string

Controls listingId filter expansion. withChildren includes direct child listings when a parent listing is selected; exact only matches the selected listing ids.

Value in"exact" | "withChildren"
date?string

Date filter string. Accepted syntax: YYYY, YYYY-MM, YYYY-MM-DD, or range YYYY-MM-DD...YYYY-MM-DD. Single values expand to the full year, month, or day.

Formatvrp-date-filter
dateField?string

Choose which reservation date field the date filter applies to. Ignored when date is omitted.

Value in"bookedAt" | "cancelledAt" | "checkIn" | "checkOut" | "payment" | "intersection"
search?string
paidStatus?string

Filter by payment status. Prefix a status with ! to exclude it.

Value in"unpaid" | "underpaid" | "overpaid" | "paid" | "!unpaid" | "!underpaid" | "!overpaid" | "!paid"
connectionId?string
bookingChannel?string
amount?number
businessModel?string
Value in"managed" | "co_host" | "co_host_airbnb"
lineType?string

Filter by reservation line type or adjustment type (paymentLine.effectiveType), only when not excluded

includeLines?boolean

When true, include nested line items in each returned reservation.

limit?integer
Default100
Range1 <= value <= 250
page?integer
Range1 <= value <= 9007199254740991
offset?integer
Range0 <= value <= 9007199254740991

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.vrplatform.app/reservations"
{
  "data": [
    {
      "currency": "string",
      "uniqueRef": "string",
      "guestName": "string",
      "bookerName": "string",
      "checkIn": "string",
      "checkOut": "string",
      "generalLedgerPostingAt": "string",
      "bookedAt": "string",
      "cancelledAt": "string",
      "bookingPlatform": "string",
      "confirmationCode": "string",
      "pmsReferenceCode": "string",
      "adults": 0,
      "children": 0,
      "guests": 0,
      "userdata": {
        "property1": null,
        "property2": null
      },
      "metadata": {
        "property1": null,
        "property2": null
      },
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "shortRef": "string",
      "generalLedgerStatus": "active",
      "lock": {
        "status": "locked",
        "booksClosed": {
          "date": "string"
        },
        "ownerStatement": {
          "ids": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          ]
        },
        "reconciled": {
          "bankRecordIds": [
            "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          ]
        },
        "statementPeriod": {
          "hits": [
            {
              "listingId": "8c73d933-f7ed-437e-9da1-caac95adc1ae",
              "txnAt": "string",
              "openFrom": "string"
            }
          ]
        }
      },
      "issues": [
        {
          "code": "lineNotFound",
          "severity": "error",
          "context": {
            "lineIds": [
              "string"
            ],
            "lines": [
              {
                "amount": 0,
                "lineId": "string",
                "name": "string"
              }
            ]
          },
          "message": "string"
        }
      ],
      "issuesComputedAt": "2024-01-15T12:30:00.000+00:00",
      "issuesStale": true,
      "connection": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "status": "active",
        "uniqueRef": "string",
        "appId": "string"
      },
      "nights": 0,
      "status": "booked",
      "bookingPlatformLabel": "string",
      "listing": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "uniqueRef": "string",
        "shortRef": "string"
      },
      "listingConnection": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "name": "string",
        "uniqueRef": "string",
        "shortRef": "string"
      },
      "payment": {
        "expected": 0,
        "received": 0,
        "status": "unpaid"
      },
      "source": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "type": "string",
        "status": "active",
        "appId": "string",
        "appIcon": "string"
      },
      "lines": [
        {
          "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
          "uniqueRef": "string",
          "type": "string",
          "description": "string",
          "amount": -9007199254740991,
          "connectionId": "string",
          "metadata": {
            "property1": null,
            "property2": null
          },
          "generalLedgerPostingAt": "string",
          "account": {
            "id": "string",
            "name": "string",
            "uniqueRef": "string",
            "status": "active"
          },
          "isExcluded": true
        }
      ],
      "managerCentTotal": 0,
      "taxCentTotal": 0,
      "ownersCentTotal": 0,
      "journalStatus": {
        "state": "current",
        "staleSince": "2024-01-15T12:30:00.000+00:00",
        "calculatedAt": "2024-01-15T12:30:00.000+00:00"
      },
      "operations": {
        "counts": {
          "total": 9007199254740991,
          "queued": 9007199254740991,
          "running": 9007199254740991,
          "completed": 9007199254740991,
          "failed": 9007199254740991
        },
        "items": [
          {
            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
            "type": "ach-verification",
            "status": "queued",
            "resource": {
              "type": "bank-rule",
              "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
              "role": "source",
              "url": "http://example.com"
            },
            "failure": {
              "code": "csvBlankHeader",
              "message": "CSV contains a blank header"
            },
            "initiator": {
              "type": "user",
              "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b"
            },
            "createdAt": "2024-01-15T12:30:00.000+00:00",
            "startedAt": "2024-01-15T12:30:00.000+00:00",
            "finishedAt": "2024-01-15T12:30:00.000+00:00"
          }
        ]
      }
    }
  ],
  "pagination": {
    "limit": 100,
    "page": 1,
    "total": 0,
    "totalPage": 0,
    "nextPage": 0
  }
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "MISDIRECTED_REQUEST",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": {
    "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",
    "dataRegion": "ap",
    "apiBaseUrl": "http://example.com"
  }
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "LOCKED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}
{
  "code": "AUDIT_CURSOR_EXPIRED",
  "message": "string",
  "links": {
    "docs": "string",
    "schema": "string"
  },
  "issues": [
    {
      "message": "string",
      "path": [
        "string"
      ],
      "schema": "string"
    }
  ],
  "retryable": true,
  "context": null
}