Use the Reonic REST API
Read and write your Reonic data from any external system using the public REST API. Create a key, authenticate your requests, page through results, and call the endpoints that power the Portal.
Reonic offers a public REST API that covers residential projects, commercial projects, contacts, tasks, teams, files, appointments, components, activities, status and pipeline, tags, notes, planning packages, planning templates, offer templates, checklist templates, lead sources, kanban boards and columns, wiki content, photogrammetry, and time tracking.
If a system you want to connect already has a named integration (HubSpot, Pipedrive, Lexoffice, Bexio, Hero, K2, Microsoft, Google, AroundHome, DAA, Wattfox, Bees & Bears, EOS, Photovate, and more), use that. It is pre-wired and supported. The API is for everything else: homegrown systems, BI tools, niche CRMs, custom dashboards, and bridges to tools that do not have a named integration. For no-code automations and outbound event pushes, see the Zapier and Webhooks guides.
Who this is for
Installer admins and workspace admins building custom integrations or exporting data out of Reonic. Your end customers (homeowners, commercial buyers) never see the API surface.
Before you start
- You need admin rights in your Reonic workspace.
- The API is available on every workspace. If the API keys panel does not appear in your settings, contact Reonic support.
- Reonic runs a current API version and a previous one side by side for a transition period. If your workspace has keys on the older version, the Settings > API / Developers > API page shows a tab for each. Build all new integrations against the current version.
- A script host, BI tool, or any system that can send HTTPS requests.
Find the API settings page
The API and webhook configuration lives on a separate settings page from the named-integrations list.
- Open Settings > API / Developers. This is distinct from Settings > Company settings > Integrations (the named-integrations page).
- The API / Developers category holds two pages: API (create and manage keys) and Webhooks (configure outbound webhooks and the Zapier hooks).
- If your workspace has keys on the previous API version, the API page shows a tab for the current version (pre-selected) and one for the previous version. Workspaces with keys only on the current version see a single page.
- If you do not see the API keys section at all, contact Reonic support.
Create an API key
API keys let your scripts and external systems authenticate to Reonic.
- On the API page, click Create new API key.
- Give the key a descriptive name that tells you what it is for, such as a warehouse read-only key or a Zapier production key. The name appears in the activity log so you can tell keys apart.
- Pick the scope. There are three: Read-only (read across all resources), Read and Write (full read and write across all resources), and Lead creation only (a restricted scope that can create leads, residential projects, contacts, and notes, but nothing else). For a normal integration pick Read-only or Read and Write. Lead creation only is for inbound lead-broker keys that should only add leads.
- Reonic generates the key and shows it at creation.
- Copy it into your secret store straight away, then save. If you no longer have the key, create a new one and remove the old.
Note: Reonic identifies your workspace from the key itself, so no separate workspace header is needed.
Where to find the client ID
Your client ID is your workspace identifier. For most integrations you do not need it separately. A small number of partner integrations, such as some inbound lead-broker setups, take the client ID as a separate field. Ask Reonic support to confirm yours.
API key versus client ID
The API key is the secret, like a password. It authenticates each request. The client ID is your workspace identifier, like a username. Keep the API key private; the client ID is your workspace reference for partner systems.
Authenticate API calls
Reonic uses a custom authentication header rather than the standard Authorization header. The endpoint reference names the exact header and shows how to set it.
- In your HTTP client, set the Reonic authentication header to your API key value.
- Send the request to the relevant endpoint.
- If the request is rejected as unauthenticated, check that you set the Reonic authentication header (not the standard
Authorizationheader) and that you copied the full key.
Pro tip: Many HTTP clients (Postman, OpenAPI generators) default to the standard Authorization header. Add the Reonic authentication header as a custom header instead. This is the most common cause of authentication errors when integrating against the Reonic API.Find the endpoint reference
The endpoint reference is a rendered docs page. It is the authoritative list of every endpoint, its exact path, the request and response fields, and the authentication header. Its endpoints fall into ten broad areas:
- People — users, teams.
- Projects — residential projects (the solar, heatpump, and wallbox residential surface) and commercial projects (the commercial pipeline).
- Working on a project — activities, status, tags, notes, files, kanban boards and columns.
- Calendar — appointments, calendar feeds.
- Catalog — components, manufacturers, planning packages, planning templates, offer templates.
- Workspace setup — lead sources, checklist templates, integrations.
- Wiki — wiki content.
- Services — service appointments.
- API helpers — utility endpoints.
- Guides — embedded migration guide pages.
Note: If you do not have direct access to the docs page yet, ask Reonic support for the latest endpoint list or a Postman collection.
Make your first API call
Test the connection before building anything against it.
- Pick a low-risk read endpoint. A residential-projects or contacts list is a safe start. The endpoint reference gives you the exact path.
- Issue the call with your API key in the Reonic authentication header.
- Reonic responds with a JSON payload. List endpoints return a data array plus a pagination block.
- Confirm the call landed under Settings > Company settings > Integrations with a success status.
Migrate to the current API version
Both API versions run side by side during the transition, and the previous version stays stable. Plan your migration in advance so your integrations are on the current version well before the previous one is retired. Ask Reonic support for the target retirement date so you can plan around it.
The migration group in the endpoint reference walks through the steps. In summary:
- Create a new key on the current version. Current endpoints expect a current-version key.
- Handle paginated lists. Every list response wraps a data array plus a pagination block. Update any parser that assumed a bare array.
- Use the residential-projects and commercial-projects surfaces. These replace the older requests-and-offers surface: residential projects for the solar, heatpump, and wallbox line, commercial projects for the commercial line.
- Adjust to the current field names. Some field names differ from the previous version, including the email, address, and variants fields. The endpoint reference lists the current names.
- Adopt the current limits and caching behaviour. The endpoint reference describes how to request a fresh read per call and how to react when you are asked to slow down (see Handle rate limits and caching).
To recreate objects you previously built with the older duplicate helpers, use the standard create endpoint. The current version handles duplication through the normal create flow.
Paginate, filter, and pull deltas
List endpoints use page-number pagination.
- Pass a page number and a page size to walk through results.
- The response includes links to the next and previous pages. Follow them to page through the full set.
- A few endpoints paginate differently. The endpoint reference notes those cases, including a fixed page size on time tracking, single-response endpoints such as teams and tags, and a sliding time window on calendar events.
For delta pulls (only records changed since your last run), residential projects expose a last-edited timestamp you can use as your high-water mark. On other endpoints, keep the highest change timestamp from your previous response and re-fetch from there. Filter support for changed-since queries varies by endpoint. If your script needs delta support, ask Reonic support which list endpoints expose the filter.
Handle rate limits and caching
The API applies a rate limit per workspace so that no single integration overwhelms your data. If you send requests faster than the limit, Reonic responds asking you to slow down.
- When you are asked to slow down, back off before retrying. Exponential backoff (2, 4, 8, 16 seconds) is a safe pattern.
- If the service reports it is temporarily unavailable, back off and retry.
- For large pulls, pace your calls and add a short pause between pages to stay under the limit.
- Repeated reads are served from a short-lived cache. When you need the very latest data on a specific call, the endpoint reference shows how to request a fresh read.
Note: All keys for the same workspace share one budget. Create multiple keys for naming and audit clarity, not for extra throughput.
Note: Removing a key stops it from working. Deactivating, rotating, or deleting a key takes that key out of service.
Handle errors
Reonic returns structured HTTP errors that map onto standard 4xx and 5xx semantics.
- Unauthenticated — missing or invalid key. Check that you set the Reonic authentication header (not the standard
Authorizationheader) and copied the full key. - Permission denied — the key's scope does not include the operation, or the resource is outside what the key allows. Treat 4xx responses as terminal; do not retry.
- Not found — check the ID.
- Asked to slow down — you are sending requests too fast. Back off and retry.
- Server error (5xx) — report it to support with the timestamp. Treat 5xx as transient and retry with backoff.
- Temporarily unavailable — back off and retry.
Common API tasks
These are the most-asked patterns. Treat them as starting points. The live endpoint reference lists every endpoint and its exact field shapes; your account manager can help if you get stuck.
Create a request
Use the residential-projects create endpoint for solar, heatpump, and wallbox leads and the commercial-projects create endpoint for the commercial pipeline. The endpoint returns the new project's ID.
For the lead to land on the map, Reonic needs a location. Supply an address for Reonic to look up, or a set of coordinates you have already resolved. Always include a postcode, and verify the returned coordinates if pinpoint accuracy matters.
Set the project status at creation time if you want a specific start status. Otherwise the request lands on the workspace's start status.
This is also the endpoint to import leads from a system without a named integration, for example a WordPress contact form posting into your residential-projects or contacts endpoint. The lowest-code path is a Zapier bridge from the WordPress form.
Edit a request after creation
Update most fields after creation, including the address, with the residential-project or commercial-project update endpoint and the project ID.
Create an offer from a project
An offer (Angebot) in the API is the priced, variant-shaped quote that hangs off a project. It bundles one or more variants (each with its own component list, package selection, pricing, and optional discount or financing setup) plus the offer-level metadata (status, signature state, attached notes and files). It is the same construct you see in the Portal under a project's Offers tab.
The recommended flow:
- Create the project via the API.
- Take the project ID from the response.
- Call the offer-create endpoint with that project ID and your variant definition.
- The response contains the new offer's ID, which you use for later updates.
Leave the offer's status unset on creation if you want it to land as a draft. To convert a request to an offer, call the offer-create endpoint with the project ID, and Reonic links the new offer to the source project.
Set or update an offer price via the API
The offer-update endpoint accepts a price at the variant level, which is useful when your external pricing system needs to push a final price into Reonic. The exact field shape depends on the variant. Check the endpoint reference or ask Reonic support.
Add notes or files to an offer
There are dedicated endpoints to add a note and to upload a file. Uploaded files (PDFs, images) attach to the offer, project, or contact you target.
Create a contact
Use the contacts create endpoint. Coordinates are not required when creating contacts; only projects that appear on the map need a location.
For bulk imports (migrating an existing contact list into Reonic from a CSV, an old CRM, or a spreadsheet), loop over your records and create one contact per call, pacing your calls to stay under the rate limit. For larger one-off migrations, run the loop from your own infrastructure against the same endpoint. Every create endpoint returns the new resource's ID, so capture it at creation time.
Filter activities by parent type
The activities endpoint supports a parent-type filter that scopes activities to a specific kind of parent record, for example a residential project, commercial project, package, component, contact, photogrammetry job, or user. Check the endpoint reference for the exact accepted values.
Export data
The cleanest path for bulk export is to list the relevant endpoint with pagination and store the response. Common targets:
- Won offers — pull all offers and filter by status, or pull the won-status list.
- Contacts — pull contacts with pagination and store locally.
- Commercial projects — pull commercial projects.
- Appointments — pull appointments for the Reonic calendar surface. Pull external Microsoft or Google calendars from those services directly.
- Component versions — pull components and group by parent component where versions exist.
- Kanban state — pull kanban boards and columns for project-board snapshots.
- Lead sources — pull lead sources for the workspace's configured lead-channel taxonomy.
To produce an Excel file of your requests, offers, statistics, or raw data, pull the relevant list endpoint and load the JSON response into Excel, Google Sheets, or your BI tool.
Use the current API version for external integrations
Always build external integrations against the current public API version, including file uploads. It is the stable, supported contract for reading and writing your data from outside the Portal.
Bridge to tools without a named integration
For systems that are not in the named catalog (Datev, Monday.com, Craftnote, Office 365 contact sync, Zoho CRM, mass email), build against the API to push data out on a schedule, or wire them up via Zapier.
- Datev — push invoices out of Reonic via the API and import them into Datev on the accounting side, or use Lexoffice or Sevdesk as the bridge (both have native Datev export). The Lexoffice or Sevdesk path is also how you connect a tax advisor (Steuerbüro), who typically already has access to one of those tools.
- Office 365 contact sync — the Microsoft integration handles calendars; sync contacts with a custom Zap or API integration against your contacts endpoint.
- Mass email — Reonic is not an email-marketing tool. Export your contacts via the API and send the campaign from a dedicated platform (Mailchimp, Brevo, HubSpot Marketing).
- Zoho CRM — bridge it with a Zapier flow (a Zoho CRM new-lead trigger posting to your residential-projects or contacts endpoint), or script a periodic Zoho-to-Reonic sync in your own infrastructure. Both paths need the address fields described under Create a request.
- Microsoft 365 / Google Workspace calendar — these have dedicated integrations under Settings > Company settings > Integrations, not the API path. Set them up there, then pull external Outlook or Google calendars from those services directly. The API exposes Reonic appointments.
- Lead brokers (AroundHome, DAA, Wattfox, and others) — these have dedicated named integrations under Settings > Company settings > Integrations, so use those rather than the generic API. For AroundHome, the customer ID is the integration-specific identifier; check the AroundHome admin panel for the exact format. Fall back to the API or Zapier only for lead sources outside the named catalog.
If you want a named integration for a high-volume source, mention it to your account manager.
Where named integrations live
All named integrations live under Settings > Company settings > Integrations (not under API / Developers), each with its own setup page and per-workspace credentials. For Bees & Bears financing you do not need an API key. Configure the integration directly in Settings > Company settings > Integrations, and Reonic handles the credentials.
- HubSpot, Photovate, Hero, Sevdesk — see their setup pages under Settings > Company settings > Integrations.
- Photovate / K2 offer export and Photovate component linkage — dedicated export buttons on the signed offer. For offers that need K2 data after signing, click the export button on the signature row.
- Financing (Bees & Bears, EOS) — Bees & Bears covers DE, AT, FR, and BE; EOS covers Brazil. After a customer signs an offer with a financing option, use the export-to-financing button on the signed offer. Reonic sends the offer data, customer details, and signed PDF to the financing partner. If the export option does not appear, check with your account manager that your workspace has the financing integration enabled and that the user has the Financing Provider right.
- Sevdesk after an expired link — to transfer a signed offer to Sevdesk when the original signature link has expired, issue a new signature request on the same variant, upload the signed PDF onto the new signature row, then click the Sevdesk export button on that row.
- SMTP — Reonic sends customer-facing emails such as signature links and invoice notifications. To send from your own domain, configure a custom outbound SMTP server under Settings > Company settings > Integrations > SMTP Mail Server.
- Contact form fields and UTM — the contact form supports a limited set of additional fields and lead-source tags. UTM passthrough on embedded forms is handled by the embed code; talk to your account manager about UTM tracking for the contact form.
Transfer offers between Reonic workspaces
To move an offer between Reonic workspaces:
- Export the offer PDF from the source workspace.
- Recreate the project and offer in the destination workspace, either via the API or manually in the Portal.
- Attach the exported PDF as a file on the destination offer.
If this becomes a recurring need, for example a franchise group moving offers across workspaces, talk to your account manager about a better pattern.
Things to know
- The API is available on every workspace. The keys appear on the Settings > API / Developers > API page.
- Both API versions run side by side during the transition. Build new integrations against the current version and migrate before the previous one is retired; ask Reonic support for the target date.
- Reonic uses a custom authentication header, not the standard `Authorization` header. Many HTTP clients default to
Authorization; add the Reonic authentication header as a custom header instead. The endpoint reference names it. - The endpoint reference is the authoritative contract. It lists every endpoint, its exact path, the request and response fields, and the authentication header. When a field or path differs from the previous version, the reference shows the current name.
- Permission errors surface as structured HTTP errors. Treat 4xx as terminal (do not retry), 5xx as transient (retry with backoff).
- Copy each key into your secret store at creation. If you no longer have a key, create a new one and remove the old.
- API-key scope has three levels — Read-only, Read and Write, and Lead creation only (a restricted scope that can only create residential projects, contacts, and notes, for inbound lead-broker keys). Create separate keys with descriptive names for audit clarity.
- Rate limits apply per workspace. If you send requests too fast, Reonic asks you to slow down; back off and retry. All keys for a workspace share one budget.
- Repeated reads are served from a short-lived cache. When you need the latest data on a specific call, the endpoint reference shows how to request a fresh read.
- Removing a key stops it from working. Deactivating, rotating, or deleting a key takes that key out of service.
- Every API call lands in the integration activity log with your client ID, the method, the status, and a timestamp, visible under Settings > Company settings > Integrations.
- Activities filter by parent type. Scope activities to a residential project, commercial project, package, component, contact, photogrammetry job, or user; check the endpoint reference for the exact values.
- External calendars do not flow through the API. The API exposes Reonic appointments; pull Outlook or Google from those services directly.
- Test against your workspace with a clearly-named test request, and clean it up afterwards.
Need help?
- Step-by-step questions about this flow → contact your Reonic account manager.
- Feature requests or something missing → drop a note to your account manager.
- Bug reports → include a screenshot and the URL where it happened in your support email.
Last updated on

