Get Concessions
curl --request GET \
--url https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions', 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://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"concessions": [
{
"amount": "150.00",
"endDate": "2025-12-31",
"displayName": "Aus Gov Energy Rebate",
"appliedTo": [
"INVOICE"
],
"additionalInfo": "The Australian Government has sponsored a once-off $150 rebate on utilities",
"type": "FIXED_AMOUNT",
"discountFrequency": "P1Y",
"startDate": "2025-01-01"
}
]
}
}{
"error": "Customer not found"
}Energy
Get Concessions
Obtain the details of any concessions or arrangements applied to a specific energy account
GET
/
v1
/
energy
/
customer
/
{customerId}
/
accounts
/
{accountId}
/
concessions
Get Concessions
curl --request GET \
--url https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions', 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://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.provider.fiskil.com/v1/energy/customer/{customerId}/accounts/{accountId}/concessions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"concessions": [
{
"amount": "150.00",
"endDate": "2025-12-31",
"displayName": "Aus Gov Energy Rebate",
"appliedTo": [
"INVOICE"
],
"additionalInfo": "The Australian Government has sponsored a once-off $150 rebate on utilities",
"type": "FIXED_AMOUNT",
"discountFrequency": "P1Y",
"startDate": "2025-01-01"
}
]
}
}{
"error": "Customer not found"
}Authorizations
The Fiskil Data Provider will include a self-signed JWT as a Bearer token in the Authorization header.
You should verify this JWT using the JWKS URL you can find for your Data Provider instance in the Fiskil Console. To verify the JWT you must:
- Verify the signature
- Ensure the token has not expired by checking the
expclaim - The
subandissclaims are your data provider subdomain - The
audclaim is the URI of the resource being requested (excluding any query parameters) - The
jtivalue is unique For further detail on security and authentication refer to our Authentication documentation
Path Parameters
Unique ID of a customer. This ID must not change for the lifecycle of the customer
ID of a specific account to obtain data for.
Response
List of concessions for the provided energy account
Show child attributes
Show child attributes
Was this page helpful?