Integration Quickstart
This guide walks you through creating a property, adding a building, submitting a meter reading, and retrieving a benchmark score — all in under five minutes.
Prerequisites
- An SDX account (free). Sign up here.
- A sandbox API key. Navigate to Settings > API > Keys and create a key with all scopes. Use the
sdx_test_prefixed key for sandbox.
Step 1: Create a property
curl -X POST https://sandbox.api.sdx.dev/v1/properties \
-H "Authorization: Bearer sdx_test_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"name": "Quickstart Demo Property",
"address": {
"street": "123 Demo Street",
"city": "New York",
"state": "NY",
"postal_code": "10001",
"country": "US"
},
"type": "office"
}'
Save the id from the response (e.g. prp_abc123).
Step 2: Add a building
curl -X POST https://sandbox.api.sdx.dev/v1/properties/prp_abc123/buildings \
-H "Authorization: Bearer sdx_test_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"name": "Main Office Building",
"primary_use_type": "office",
"gfa_m2": 10000,
"year_built": 2010,
"floors": 12,
"occupancy_pct": 90,
"operating_hours_week": 60
}'
Save the id from the response (e.g. bld_def456).
Step 3: Create a meter
curl -X POST https://sandbox.api.sdx.dev/v1/buildings/bld_def456/meters \
-H "Authorization: Bearer sdx_test_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"type": "electricity",
"name": "Grid Electricity",
"unit": "kWh"
}'
Save the meter id (e.g. mtr_ghi789).
Step 4: Submit 12 months of readings
curl -X POST https://sandbox.api.sdx.dev/v1/buildings/bld_def456/meters/mtr_ghi789/readings/batch \
-H "Authorization: Bearer sdx_test_YOUR_KEY_HERE" \
-H "Content-Type: application/json" \
-d '{
"readings": [
{ "start_date": "2025-01-01", "end_date": "2025-01-31", "consumption": 85000 },
{ "start_date": "2025-02-01", "end_date": "2025-02-28", "consumption": 78000 },
{ "start_date": "2025-03-01", "end_date": "2025-03-31", "consumption": 82000 },
{ "start_date": "2025-04-01", "end_date": "2025-04-30", "consumption": 90000 },
{ "start_date": "2025-05-01", "end_date": "2025-05-31", "consumption": 95000 },
{ "start_date": "2025-06-01", "end_date": "2025-06-30", "consumption": 110000 },
{ "start_date": "2025-07-01", "end_date": "2025-07-31", "consumption": 115000 },
{ "start_date": "2025-08-01", "end_date": "2025-08-31", "consumption": 112000 },
{ "start_date": "2025-09-01", "end_date": "2025-09-30", "consumption": 98000 },
{ "start_date": "2025-10-01", "end_date": "2025-10-31", "consumption": 88000 },
{ "start_date": "2025-11-01", "end_date": "2025-11-30", "consumption": 83000 },
{ "start_date": "2025-12-01", "end_date": "2025-12-31", "consumption": 86000 }
]
}'
Step 5: Retrieve benchmark scores
Benchmarks are calculated within seconds of data submission.
curl https://sandbox.api.sdx.dev/v1/buildings/bld_def456/benchmarks \
-H "Authorization: Bearer sdx_test_YOUR_KEY_HERE"
You should see scores for the SDX benchmark and ENERGY STAR (since the building is a US office).
What just happened
In five API calls you:
- Created a property at 123 Demo Street, New York
- Added a 10,000 m² office building
- Created an electricity meter
- Submitted a full year of monthly readings
- Received benchmark scores across applicable standards
All for free.
Next steps
Now that you have a working integration, explore these topics:
- Reading data on behalf of owners — use OAuth2 to access owner accounts
- Writing data on behalf of owners — production data submission patterns
- Sandbox environment — details on the test environment
- Code examples — Python, JavaScript, Ruby, and cURL
- Webhooks — get notified when benchmarks update