Overview
The Storehouses API lets estate management firms access client portfolio data programmatically. From the portal, you can generate API keys, manage scoped access grants, and integrate Storehouses data into your existing systems.API management is available to firms with an active Enterprise plan. Navigate to API & Integrations → Storehouses API in your portal sidebar.
API Key Management
Generating a Key
1
Go to Storehouses API
Navigate to API & Integrations → Storehouses API in your portal sidebar.
2
Click 'Create API Key'
Enter a name for the key (e.g., “Production - Portfolio Sync”).
3
Select Environment
Choose Sandbox for testing or Production for live data.
4
Choose Scopes
Select which data the key can access (see Scopes below).
5
Copy Your Key
Your API key is shown once — copy and store it securely. The key starts with
sk_live_ (production) or sk_test_ (sandbox).Revoking a Key
- Find the key in your API keys list
- Click Revoke
- Confirm revocation — the key stops working immediately
Scopes
Scopes control what data an API key can access. Each scope unlocks a progressively deeper level of client data:Scopes interact with privacy tiers. Even with broad scopes, P0 (private) fields like internal notes and file paths are never exposed through the API.
Partner Grants
A partner grant authorizes your API key to access a specific client’s data. Each grant defines:- Which client — The user whose data you can access
- Which scopes — What data fields are visible
- Which assets — All items, specific categories, specific items, or a collection
- Expiration — Optional time limit on access
Grant Types
Clients manage their grants from Account Settings → Access → Connected Apps.
API Endpoints
List Assets
client_id(required) — Client’s user IDcategory— Filter by asset categorymin_value/max_value— Value range filterupdated_since— ISO 8601 timestamp for delta syncinclude— Sideload related data:valuations,documentspage/page_size— Pagination (default 25, max 100)
Get Asset
List Valuations
valuation scope.
Query parameters:
source— Filter by valuation source (spot_price, appraisal, user_estimate, etc.)since— Only valuations after this timestamppage/page_size— Pagination
List Documents
documentation scope. File contents are never served — only metadata (type, title, issuer, dates, file size).
Response includes a completeness score showing what percentage of recommended documentation is present.
Portfolio Summary
valuation scope granted), category breakdown, and documentation completeness (if documentation scope granted).
Authentication
All API requests use Bearer token authentication:Required Headers
Rate Limits
Rate limit headers are included in every response:
X-RateLimit-Limit— Your tier’s limitX-RateLimit-Remaining— Requests remaining in windowX-RateLimit-Reset— When the window resets
Delta Sync
Use theupdated_since parameter to efficiently sync only changed data:
Error Handling
All errors follow a consistent format:Registry IDs
Every item in Storehouses has a globally unique Registry ID in the format:SH-PM-01JD5K8X2MFGHJ4N7PQRST0VWX
SH— Storehouses platform prefixPM— Category code (PM = Precious Metals, WT = Watches, etc.)ULID— 26-character unique, time-sortable identifier
Best Practices
Use the Minimum Required Scopes
Use the Minimum Required Scopes
Request only the scopes you need. This follows the principle of least privilege and makes it easier for clients to approve your access.
Implement Delta Sync
Implement Delta Sync
Use
updated_since to fetch only changed data instead of re-pulling the entire portfolio on every sync cycle.Handle Rate Limits Gracefully
Handle Rate Limits Gracefully
Check
X-RateLimit-Remaining headers and back off when approaching limits. Implement exponential backoff on 429 responses.Store Registry IDs as References
Store Registry IDs as References
Use Registry IDs as stable keys in your systems. They never change, even if the item’s title or category is updated.
Use Sandbox for Development
Use Sandbox for Development
Create sandbox API keys for testing. Switch to production keys only when your integration is ready.

