Installation
The SDK is split into packages. Install the ones you need:
Server SDK (Node.js backend)
npm install @opendoor/partner-sdk-server-js-coreUse this in your backend (Express, Next.js API routes, etc.) to proxy requests to the Opendoor API. This is where your API key lives.
Client SDK (browser)
npm install @opendoor/partner-sdk-client-js-coreFramework-agnostic HTTP client for making typed requests to your backend’s Opendoor proxy endpoints. Does not talk to Opendoor directly. No framework dependency.
UI Components
npm install @opendoor/partner-sdk-client-react @opendoor/partner-sdk-client-js-corePrebuilt React components (AddressEntry, QualificationQuestions, DtcOnboardingFlow, etc.) that use the client SDK under the hood.
npm install @opendoor/partner-sdk-client-vue @opendoor/partner-sdk-client-js-coreVue 3 components (AddressEntry, AddressMap, AddressUnitConfirmation, DtcOnboardingFlow) that use the client SDK under the hood.
Important: Import the CSS in your app entry point:
import '@opendoor/partner-sdk-client-vue/dist/style.css';Requirements
- Node.js 20+
- React 17+ (for client-react)
- Vue 3.3+ (for client-vue)
API Keys
- Staging: Provided by your Opendoor partner contact.
- Production: Manage keys at partner.opendoor.com/developer/keys.
Environments
The SDK defaults to staging for safe testing. When you’re ready to go live, set environment: 'production' with your production API key.
Server SDK:
// Staging (default) - no environment flag neededconst client = new OpendoorClient({ apiKey: process.env.OPENDOOR_STAGING_API_KEY!,});
// Productionconst client = new OpendoorClient({ apiKey: process.env.OPENDOOR_API_KEY!, environment: 'production',});Client SDK (browser):
// Staging (default)const client = new OpendoorClient({ baseURL: '/api/opendoor/v1' });
// Productionconst client = new OpendoorClient({ baseURL: '/api/opendoor/v1', environment: 'production',});Both the server and client SDKs need to be set to 'production' when ready. The server SDK routes API requests to the correct Opendoor endpoints, and the client SDK routes analytics telemetry to the correct pipeline.