Skip to content
Last updated

Getting Started

  1. Confirm you're on the right API (XMS).
  2. Get an account and API key (one per installer).
  3. Request sandbox/UAT access (send email + IP addresses).
  4. Get your assigned technical point of contact.
  5. Build the 4-step registration flow (create → check eligibility → upload docs → complete).
  6. Test in sandbox, then go live.

1. Confirm You're Using the Right API

SREC facility registration integrations use the Xpansiv Managed Solutions (XMS) API.

2. Confirm Account & API Key Setup

  1. Each installer/account needs its own Xpansiv Managed Solutions account; there is no shared or platform-wide key across installers.
  2. Generate your API key from the API Access page under "Xpansiv Managed Solutions Internal API" — see the Authentication page for step-by-step instructions.
  3. If you're building on behalf of multiple installers, plan for each installer to have its own account and key; this is by design, not a limitation to work around.

3. Request Sandbox / UAT Access

Before testing can begin, Xpansiv needs to provision a sandbox/UAT environment for you. To request this, provide:

  • Email address(es) that should have access to the sandbox (e.g., a shared team credential like credentials@yourdomain.com).
  • The IP address(es) your systems will connect from, so they can be allow-listed.

4. Identify Your Point of Contact

Xpansiv assigns a lead developer as the key point of contact for API questions during UAT/sandbox testing. Confirm who this is for your engagement before you start building, and route technical/API questions to them directly rather than the broader account team.

5. Build Against the Standard Registration Flow

  1. Register a facility — POST /facilities
  2. Get eligibility and required documents — GET /facilities/{facility_id}/state_eligibilities
  3. Upload required documents — POST /facilities/{facility_id}/documents
  4. Complete the facility application — POST /facilities/{facility_id}/complete

See the OpenAPI Specs for field-level details on each step.

6. Know Before You Build

  • Required document lists are state-specific — always pull the live list from the State Eligibilities endpoint rather than relying on any single example in the docs.
  • Some fields marked "not required" become conditionally required depending on other field values or the facility's state (e.g., hostname is required only if system_leased is true and the facility is in DC or MD). Always validate against the specific facility's conditions rather than a field's default "required" status.
  • Some required fields (system_cost, utility_name, utility_account_number) may need to be sourced from a third-party design tool; if not already in your own system, plan for this data-mapping step early.
  • Only zero-fee or fee-waived states can be completed automatically via the Complete Facility Application endpoint. Confirm the current list with the Xpansiv team and plan a manual/semi-automated fallback for other states.