curl --request PATCH \
--url https://external.nectarclimate.com/v2.2/account/{account_id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"isTracked": true,
"updateMeters": true
}
'import requests
url = "https://external.nectarclimate.com/v2.2/account/{account_id}"
payload = {
"isTracked": True,
"updateMeters": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({isTracked: true, updateMeters: true})
};
fetch('https://external.nectarclimate.com/v2.2/account/{account_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://external.nectarclimate.com/v2.2/account/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'isTracked' => true,
'updateMeters' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://external.nectarclimate.com/v2.2/account/{account_id}"
payload := strings.NewReader("{\n \"isTracked\": true,\n \"updateMeters\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://external.nectarclimate.com/v2.2/account/{account_id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"isTracked\": true,\n \"updateMeters\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.nectarclimate.com/v2.2/account/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"isTracked\": true,\n \"updateMeters\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meters": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"isTracked": true,
"isDuplicated": "<string>",
"accountNumber": "<string>",
"trackingStatus": "ENABLED",
"dataCollectionStartDate": "2023-12-25",
"isCollectingInvoiceData": true,
"isCollectingSmartMeterData": true,
"datasourceTypes": [
"<string>"
],
"lastServiceDate": "2023-12-25",
"multiplyByOccupancy": true
}{
"detail": "<string>",
"error": "<string>"
}Update an account
Allows an authenticated API user to manage an account for a specific connection. The only supported update is to set the account as tracked or not tracked. All associated meters will be set to the same isTracked status as the account. Optionally, pass in a parameter updateMeters = false to prevent meter isTracked status from being updated.
curl --request PATCH \
--url https://external.nectarclimate.com/v2.2/account/{account_id} \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"isTracked": true,
"updateMeters": true
}
'import requests
url = "https://external.nectarclimate.com/v2.2/account/{account_id}"
payload = {
"isTracked": True,
"updateMeters": True
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({isTracked: true, updateMeters: true})
};
fetch('https://external.nectarclimate.com/v2.2/account/{account_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://external.nectarclimate.com/v2.2/account/{account_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'isTracked' => true,
'updateMeters' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://external.nectarclimate.com/v2.2/account/{account_id}"
payload := strings.NewReader("{\n \"isTracked\": true,\n \"updateMeters\": true\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://external.nectarclimate.com/v2.2/account/{account_id}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"isTracked\": true,\n \"updateMeters\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://external.nectarclimate.com/v2.2/account/{account_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"isTracked\": true,\n \"updateMeters\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"meters": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"isTracked": true,
"isDuplicated": "<string>",
"accountNumber": "<string>",
"trackingStatus": "ENABLED",
"dataCollectionStartDate": "2023-12-25",
"isCollectingInvoiceData": true,
"isCollectingSmartMeterData": true,
"datasourceTypes": [
"<string>"
],
"lastServiceDate": "2023-12-25",
"multiplyByOccupancy": true
}{
"detail": "<string>",
"error": "<string>"
}Authorizations
Path Parameters
Body
Response
Serializer for externally available fields of an Account object.
UUID of the account.
UUID of the meter site usage data entry.
Deprecated boolean alias. UNSET is treated as True for backward compatibility.
The actual account number. For utilities without account numbers, leave blank.
200User-mutable tracking intent for this account. When set to DISABLED, data collection stops and the status field reflects as CUSTOMER_NOT_TRACKED. ENABLED resumes data collection. UNSET means no tracking decision has been made yet.
ENABLED- EnabledDISABLED- DisabledUNSET- Unset
ENABLED, DISABLED, UNSET Date when data collection for the account begins. This is the date from which Nectar will pull historical data. This field overrides the site, company, and connection level dataCollectionStartDate fields.
Indicates whether this account is collecting invoice data. If True, Nectar will collect invoice data with a maximum granularity of weekly intervals.
Indicates whether this account is smart metered. If True, Nectar will collect metered data with a maximum granularity of daily intervals.
List of unique datasource types for all meters associated with the account.
The date when the account was closed by the utility (the end date of the last meter reading).
When the site occupancy mode is PER_ACCOUNT, usage on this account is scaled by site occupancy.