Australian wholesale distributor of solar panels, inverters, batteries, mounting and complete systems.
solarjuice.com.au · Developer portal · API reference
The Partner API turns an approved trade account into a Solar Juice sales channel. You publish our catalogue at your pricing, sync the same inventory our own storefront sells from, quote freight with the engine behind our checkout, and place orders against your trade account. We fulfil. Your customer stays your customer.
| Catalogue | Every product, priced for your channel, with overrides across the board or per item |
| Live inventory | The same stock pools our storefront sells from, broken down by location |
| Specials | Campaign pricing released to your channel, with the dates published ahead |
| Freight quotes | The rate engine behind our own checkout, so your quote matches the invoice |
| Orders | Placed on your trade account, with idempotent creation and cancellation |
| Sandbox | Test keys never touch live stock or accounts |
Everything is JSON over HTTPS. The OpenAPI description is the contract, and the reference is generated from it.
Each client has zero runtime dependencies and ships a conformance test that fails if the API grows an operation the client does not implement. All three replay one shared table of error and retry cases, so they behave identically.
| Language | Package | Repository |
|---|---|---|
| Node.js 18+ | @solarjuice/partner-api |
solarjuice-node |
| PHP 8.1+ | solarjuice/partner-api |
solarjuice-php |
| Ruby 3.0+ | solarjuice-partner-api |
solarjuice-ruby |
They are not on npm, Packagist or RubyGems yet. Install from the repository in the meantime:
npm install github:Solar-Juice/solarjuice-node
composer require solarjuice/partner-api:dev-main # add the VCS repository first, see the README
gem install specific_install && gem specific_install https://github.com/Solar-Juice/solarjuice-rubyEach repository's README carries the full install and quickstart for that language.
curl -sS "https://api.solarjuice.com.au/v1/catalogue?limit=2" \
-H "Authorization: Bearer $SOLARJUICE_API_KEY"{
"as_of": "2026-09-03T02:14:07Z",
"price_list_version": "plv_9c31af02b7e4d115",
"items": [ "..." ],
"next_cursor": "eyJrIjoi...",
"stale": false
}Read every page once, keep as_of, then pass it back as updated_since on
the next run so you only fetch what changed. The SDKs do that walk for you.
The API is for approved Solar Juice trade accounts. Talk to your account manager about becoming an integration partner. Once your channel exists you receive an invitation to the developer portal, where an owner on your channel mints API keys, reads usage and follows orders.
Start on a sandbox key. It reads the same shapes and never touches live stock or your trade account.
Every response carries an X-Request-Id. Quote it and we can find the exact
call. Bugs in a client library are best raised as an issue on that
library's repository.