Properties Endpoint

Properties represent real-estate assets at a physical address. Each property contains one or more buildings.

Base path: /v1/properties

List properties

Retrieve all properties in the authenticated organisation.

curl https://api.sdx.dev/v1/properties \
  -H "Authorization: Bearer YOUR_API_KEY"

Query parameters:

ParameterTypeDescription
pageintegerPage number (default: 1)
per_pageintegerResults per page (default: 50, max: 200)
filter[type]stringFilter by property type (e.g. office, retail)
filter[country]stringISO 3166-1 alpha-2 country code
sortstringSort field. Prefix with - for descending. Options: name, created_at, updated_at

Response:

{
  "data": [
    {
      "id": "prp_8xk2m9v4",
      "name": "One Market Plaza",
      "address": {
        "street": "1 Market Street",
        "city": "San Francisco",
        "state": "CA",
        "postal_code": "94105",
        "country": "US"
      },
      "type": "office",
      "internal_ref": "FUND-A-042",
      "status": "active",
      "building_count": 2,
      "total_gfa_m2": 85000,
      "created_at": "2025-06-15T09:00:00Z",
      "updated_at": "2026-01-10T14:22:00Z"
    }
  ],
  "meta": {
    "total": 47,
    "page": 1,
    "per_page": 50,
    "total_pages": 1
  }
}

Get a property

curl https://api.sdx.dev/v1/properties/prp_8xk2m9v4 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response:

{
  "data": {
    "id": "prp_8xk2m9v4",
    "name": "One Market Plaza",
    "address": {
      "street": "1 Market Street",
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94105",
      "country": "US",
      "latitude": 37.7937,
      "longitude": -122.3950
    },
    "type": "office",
    "internal_ref": "FUND-A-042",
    "status": "active",
    "building_count": 2,
    "total_gfa_m2": 85000,
    "buildings": [
      { "id": "bld_3nf7p2q1", "name": "Tower A" },
      { "id": "bld_9mk4r8w6", "name": "Tower B" }
    ],
    "created_at": "2025-06-15T09:00:00Z",
    "updated_at": "2026-01-10T14:22:00Z"
  }
}

Create a property

curl -X POST https://api.sdx.dev/v1/properties \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Riverside Office Park",
    "address": {
      "street": "500 Thames Road",
      "city": "London",
      "postal_code": "SE1 2AA",
      "country": "GB"
    },
    "type": "office",
    "internal_ref": "UK-FUND-018"
  }'

Response (201 Created):

{
  "data": {
    "id": "prp_5yt8n3j2",
    "name": "Riverside Office Park",
    "address": {
      "street": "500 Thames Road",
      "city": "London",
      "postal_code": "SE1 2AA",
      "country": "GB",
      "latitude": 51.5014,
      "longitude": -0.1190
    },
    "type": "office",
    "internal_ref": "UK-FUND-018",
    "status": "active",
    "building_count": 0,
    "total_gfa_m2": 0,
    "created_at": "2026-01-20T11:00:00Z",
    "updated_at": "2026-01-20T11:00:00Z"
  }
}

Required fields: name, address.street, address.city, address.country, type

Update a property

curl -X PATCH https://api.sdx.dev/v1/properties/prp_5yt8n3j2 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Riverside Office Park (Phase 2)",
    "internal_ref": "UK-FUND-018-P2"
  }'

Response (200 OK): Returns the full updated property object.

Archive a property

Archiving removes the property from active dashboards but preserves all historical data.

curl -X POST https://api.sdx.dev/v1/properties/prp_5yt8n3j2/archive \
  -H "Authorization: Bearer YOUR_API_KEY"

Response (200 OK):

{
  "data": {
    "id": "prp_5yt8n3j2",
    "status": "archived",
    "archived_at": "2026-03-01T09:00:00Z"
  }
}

Required scopes

ActionScope
List / Getproperties:read
Create / Update / Archiveproperties:write

Next steps