VRPlatformVRPlatform
Getting Started

First Read

Authenticate, select a team, and load a generated resource response

Start with a read whose response you can inspect without changing accounting. The first step depends on your credential type.

With a Team API Key

Call a team-scoped read directly, for example listings:

curl 'https://api.vrplatform.app/listings' \
  -H 'x-api-key: <team-api-key>' \
  -H 'x-team-id: <team-id>'

With a Partner API Key

List the teams your key manages first (no x-team-id), then pick one team and make the same team-scoped read with its ID:

curl 'https://api.vrplatform.app/teams' \
  -H 'x-api-key: <partner-api-key>'
curl 'https://api.vrplatform.app/listings' \
  -H 'x-api-key: <partner-api-key>' \
  -H 'x-team-id: <team-id>'

Example Response

A truncated GET /listings response looks like this (see Pagination and filtering for the envelope):

{
  "data": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "name": "Dune View Cottage",
      "shortRef": "LST-123",
      "status": "active",
      "defaultCurrency": "USD",
      "activeOwnership": {
        "id": "22222222-2222-4222-8222-222222222222",
        "startAt": "2025-01-01",
        "endAt": null
      },
      "issues": []
    }
  ],
  "pagination": { "limit": 100, "page": 1, "total": 1, "totalPage": 1 }
}

What To Keep

  • Treat pagination values as opaque and pass them back unchanged (see Pagination and filtering).
  • Keep resource IDs scoped to the selected team.
  • Render returned statuses, issues, locks, permissions, and calculated fields.
  • Do not reconstruct accounting state from dates or display messages.
  • Follow the exact fields from the generated operation, such as List listings.

Next, use Your first mutation to validate a proposed write without persisting it.

On this page