Getting started
Dib-API-Version header and watch the changelog for breaking changes.Welcome! Here's the absolute fastest path from zero to a working integration. Plan on about five minutes.
1. Make sure you're on Pro
The public API is a Pro feature. If your team isn't on Pro yet, head to Dashboard → Billing first. Test-mode keys (dib_test_*) work on any team, but they only hit a sandbox with fixture data.
2. Mint a key
Head to API keys right here in the docs, click New key, pick the scopes you need, and copy the secret. Dib only shows it once. (You can also manage keys from Dashboard → Settings → API keys if you prefer.)
Save it as DIB_API_KEY in your local environment:
export DIB_API_KEY="dib_live_..."Confirm it works with a quick GET /v1/me — it echoes your team, environment, granted scopes, and rate limits (no scope required):
curl -H "Authorization: Bearer $DIB_API_KEY" https://dib.io/api/v1/me3. List inventory
The easiest read in the API:
curl -H "Authorization: Bearer $DIB_API_KEY" \
-H "Dib-API-Version: 2026-05-24" \
https://dib.io/api/v1/inventory?limit=5Every list response has the same shape: data is the array, meta.page.next_cursortells you whether there's more.
4. Create something
Always send an Idempotency-Key on POSTs. Dib remembers it for 24 hours and returns the same response if you retry.
curl -X POST https://dib.io/api/v1/tasks \
-H "Authorization: Bearer $DIB_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "title": "Change HVAC filter", "priority": "medium" }'5. Fill in the home itself
Inventory, vehicles, and tasks all hang off the home. The home profile is a singleton, so PATCH /v1/property upserts it: send only the fields you want to set and Dib merges them.
curl -X PATCH https://dib.io/api/v1/property \
-H "Authorization: Bearer $DIB_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "address": "123 Main St", "city": "Austin", "state": "TX", "hvac_make": "Trane", "hvac_install_year": 2018 }'Read it back any time with GET /v1/property (returns data: null until the home has details). Needs the property:read / property:write scopes.
6. Subscribe to changes
Stay in sync with the change feed — either poll /v1/eventson a cursor, or open an SSE connection to /v1/events/stream.
curl -N -H "Authorization: Bearer $DIB_API_KEY" \
https://dib.io/api/v1/events/streamNext steps
- Learn the rules: rate limits, errors, and security.
- Drop the API into your AI tool with the MCP server, or paste the AI integration brief into your coding assistant.
- Skim the full API reference.
- Follow a recipe: keep a mirror in sync, capture inventory from a photo, or ingest a document.