Skip to main content
GET
/
v1
/
tariff
/
customer
Get customer-specific tariff details
curl --request GET \
  --url https://example-supplier.co.uk/v1/tariff/customer \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://example-supplier.co.uk/v1/tariff/customer"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://example-supplier.co.uk/v1/tariff/customer', 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://example-supplier.co.uk/v1/tariff/customer",
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://example-supplier.co.uk/v1/tariff/customer"

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://example-supplier.co.uk/v1/tariff/customer")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://example-supplier.co.uk/v1/tariff/customer")

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": [
    {
      "tariff_id": "trf_a1b2c3d4e5f67890abcdef1234567890",
      "name": "Comfy Cucumber October 2026",
      "fuel_type": "electricity",
      "last_modified": "2026-11-01T10:00:00.000Z",
      "description": "A flexible electricity tariff with half-hourly prices tracking the wholesale market.",
      "version": 1,
      "energy_flow": "import",
      "meter_type": "smart",
      "customer_type": "residential",
      "ldz_region": "SE",
      "percentage_green": 27,
      "standing_charge": "0.62500",
      "vat_included": true,
      "vat_rate": 5,
      "comments": "Includes a £50 joining incentive applied as a bill credit in month 1.",
      "valid_from": "2026-11-01T10:00:00.000Z",
      "valid_to": "2026-11-01T10:00:00.000Z",
      "sellable_from": "2026-11-01T10:00:00.000Z",
      "sellable_to": "2026-11-01T10:00:00.000Z",
      "rates": [
        {
          "days_and_hours": [
            {
              "days": [
                "Mon",
                "Tue",
                "Wed",
                "Thu",
                "Fri"
              ],
              "hours": [
                {
                  "valid_from": "07:00:00",
                  "valid_to": "16:00:00",
                  "rate": [
                    {
                      "unit_price": "0.24301",
                      "to_kwh": 30
                    }
                  ]
                }
              ]
            }
          ],
          "months": [
            "All"
          ],
          "dates": [
            1
          ]
        }
      ]
    }
  ]
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}
{
"code": "tariff_not_found",
"message": "No tariff found for the given tariff_id and supplier MPID.",
"details": "tariff_id a1b2c3d4-e5f6-7890-abcd-ef1234567890 does not exist for supplier SEBD."
}

Authorizations

Authorization
string
header
required

OAuth 2.0 Authorisation Code flow for RTI User authentication and consumer consent. Each supplier operates its own OAuth server. In production, substitute the placeholder host with the relevant url from the Supplier Register. OpenAPI does not permit URI templates in security scheme URLs, so a placeholder is used here.

Response

Consumer-specific tariff pricing detail.

data
object[]
Minimum array length: 1
Last modified on March 28, 2026