Getting Started

Getting Started

Follow these steps to make your first API call to the Solatech API.

1. Generate an API Key

    Log in to your Solatech-DOS account.
    Navigate to Settings → API Keys.
    Create a new API key and copy it.
  • In order to send the API request shown below, your key will need to have a scope of "Customers | Create". Different endpoints will require different scopes.
  • Keep this key secure — it acts like a password for your account.

2. Choose a Tool

You can use any HTTP client to call our API:
  • Command line with curl
  • API testing tools like Postman or Insomnia
  • Code in your preferred programming language

3. Make Your First Request

Here’s an example request using curl to create an example customer:
curl -X POST "https://api.solatech-dos.com/customers/v1/create" \
-H "Content-Type: application/json" \
-H "APIKey: YOUR_API_KEY_HERE" \
-d '{
"ExternalID": "",
"DisplayName": "Jack Black",
"ForceUnique": false,
"FirstName": "Jack",
"MiddleInitial": "",
"LastName": "Black",
"CompanyName": "",
"AccountNumber": "",
"Active": true,
"SalesRep": "odiemckraken@solatech-darious.com",
"Installer": "",
"AutoAddLists": false,
"Terms": "",
"LeadSource": "Flyer",
"AppointmentType": "",
"Phones": [
{
"Primary": true,
"Sequence": 1,
"Label": "Home",
"Number": "123-456-7890"
},
{
"Primary": false,
"Sequence": 2,
"Label": "Work",
"Number": "800-123-4748"
}
],
"ShippingAddresses": [
{
"Primary": true,
"Sequence": 1,
"Label": "Home",
"Address1": "45 Main Street",
"Address2": "",
"City": "High Point",
"State": "NC",
"Zip": "27262",
"Country": ""
}
],

"Notes":[
{
"Note": "Must call before heading to an appointment."
},
{
"Note": "Gate code is 12345."
}
],
"EmailAddresses": [
{
"Primary": true,
"Sequence": 1,
"Label": "Personal",
"Address": "jblack@gmail.com"
}
],
"Tags": [
{
"Tag": "Big-House"
}
]
}'
In the above example, you will need to supply the email address of a sales rep that already exists on the account, and you will need to make sure the "Flyer" lead source exists on your account (or use a different lead source that exists on your account).

4. Check the Response

If everything is set up correctly, you’ll receive a JSON response similar to this:
{
"uniqueID": "c24b6b54-319a-47dc-a482-37110569ac26",
"externalID": "",
"displayName": "Jack Black",
"firstName": "Jack",
"middleInitial": "",
"lastName": "Black",
"companyName": "",
"accountNumber": "",
"active": true,
"salesRep": "odiemckraken@solatech-darious.com",
"installer": "",
"terms": "",
"leadSource": "Flyer",
"appointmentType": "",
"location": "",
"discountGroup": "",
"customerType": "",
"alternateInstaller": "",
"billToAddress1": "",
"billToAddress2": "",
"billToCity": "",
"billToState": "",
"billToZip": "",
"billToCountry": "",
"phones": [
{
"sequence": 1,
"primary": true,
"label": "Home",
"number": "123-456-7890",
"addedOn": "2025-08-20T17:20:27.317",
"updatedOn": "2025-08-20T17:20:27.317"
},
{
"sequence": 2,
"primary": false,
"label": "Work",
"number": "800-123-4748",
"addedOn": "2025-08-20T17:20:27.32",
"updatedOn": "2025-08-20T17:20:27.32"
}
],
"shippingAddresses": [
{
"sequence": 1,
"primary": true,
"label": "Home",
"address1": "45 Main Street",
"address2": "",
"city": "High Point",
"state": "NC",
"zip": "27262",
"country": "",
"addedOn": "2025-08-20T17:20:27.303",
"updatedOn": "2025-08-20T17:20:27.303"
}
],
"attachments": [],
"notes": [
{
"note": "Must call before heading to an appointment.",
"addedOn": "2025-08-20T17:20:27.323",
"updatedOn": "2025-08-20T17:20:27.323"
},
{
"note": "Gate code is 12345.",
"addedOn": "2025-08-20T17:20:27.327",
"updatedOn": "2025-08-20T17:20:27.327"
}
],
"links": [],
"emailAddresses": [
{
"sequence": 1,
"primary": true,
"label": "Personal",
"address": "jblack@gmail.com",
"addedOn": "2025-08-20T17:20:27.313",
"updatedOn": "2025-08-20T17:20:27.313"
}
],
"tags": [
{
"tag": "Big-House",
"addedOn": "2025-08-20T17:20:27.333"
}
],
"taxExempt": false,
"taxExemptReason": 0,
"taxExemptDetails": "",
"taxCodes": []
}


5. Next Steps

  • Explore the Customer API to manage customer records.
  • Use the Measure Sheet API to access order measurements.