Installer.com Docs

Quick Start

Create your first order via the API in three steps

Overview

This guide takes you from zero to a live order created via the API in three steps. You'll set up a workflow template in the Routing App, grab a ready-made example payload from the same screen, then post it to the Create Order endpoint with your API token.

Before you start, get an API token from Settings → Integrations in app.installer.com. See Authentication for details.

Steps

Create a workflow template

Workflow templates define the steps an order goes through (dispatching, booking, offer, payment, installation, sign-off). Every order created via the API references a workflow template by ID, so this is the first thing to set up.

  1. In app.installer.com, open Workflows in the sidebar.
  2. Click New workflow template and configure the steps your order should follow.
  3. Add questions for the data your workflow needs to collect, for example:
    • mpan (Meter Point Administration Number) for UK grid applications
    • meter-number or meter-serial for the existing meter
    • vehicle-registration and charger-model for EV installs
    • panel-count and system-size-kw for solar PV
    • heat-pump-output-kw for heat pump installs
  4. Each question references a custom field. Give each custom field a stable custom ID (the kebab-case examples above). Your API integration sends and reads values by these custom IDs.
  5. Save and publish the template.

Custom IDs are the stable contract between your external system and Installer.com. They survive renames and won't break your integration the way UUIDs do when fields are recreated. Questions are the UI presentation layer on top of those fields, so the same custom field can be reused across multiple questions and workflows.

Copy an example payload from the Routing App

Each workflow template in the Routing App has an API button that opens a "Send orders via API" dialog. It shows:

  • The endpoint URL (POST https://api.installer.com/api/v1/order)
  • A ready-made example JSON payload with workflowId pre-filled to your template's ID
  • The custom fields you configured on the template, with their custom IDs

Open the Workflow Templates list, click API on the template you want to use, and copy the payload. The example is a working request shape: edit the values to match your data, add your Authorization: Bearer <token> header, and post it.

curl -X POST https://api.installer.com/api/v1/order \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d @order.json

The response contains the new orderId, a human-readable displayId, and a clientUrl you can share with the end customer.

Prefill data you already have (optional)

The example payload is intentionally generic. If your system already holds answers to the workflow's questions, send them at creation with customFields. Each entry references a custom field by its stable customId and carries the value:

{
  "workflowId": "...",
  "customFields": [
    { "customId": "mpan", "value": "S12345678901234567890" },
    { "customId": "panel-count", "value": 12 },
    { "customId": "scaffolding-required", "value": true },
    { "customId": "preferred-install-date", "value": "2026-08-01" }
  ]
}

Prefilled fields show up as already-answered questions, so the operator and installer don't have to ask the customer again.

You can prefill more than custom fields: attach files, pre-assign the installer, and include a priced offer. See Creating Orders for every field type, file uploads, actor assignment, and offer prefill.

Next steps

On this page