Get a standard's payment rates
curl --request GET \
--url https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates"
headers = {"X-Session-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-Token': '<api-key>'}};
fetch('https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates', 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.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Session-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-Token", "<api-key>")
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.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "gsop-3",
"type": "standard-rates",
"attributes": {
"standard": "<string>",
"platform_sets": [
{
"effective_from": "2025-04-01",
"domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"non_domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"late_payment": {
"amount": 9250,
"currency": "GBP"
}
}
],
"sets": [
{
"effective_from": "2025-04-01",
"domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"non_domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"late_payment": {
"amount": 9250,
"currency": "GBP"
}
}
]
}
},
"jsonapi": {
"version": "1.0"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Standards
Get a standard's payment rates
Get the rates a standard’s payments are priced from. The platform’s sets come first, each from the date it takes effect. The organisation’s own sets take precedence on any date one of them is in effect, and the platform’s apply on any other date. The caller needs to view standards across the organisation. A view of some forms’ mappings only, as a contractor’s is, is refused.
GET
/
v3
/
orgs
/
{org_id}
/
standards
/
{standard_key}
/
rates
Get a standard's payment rates
curl --request GET \
--url https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates"
headers = {"X-Session-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-Token': '<api-key>'}};
fetch('https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates', 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.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Session-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-Token", "<api-key>")
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.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/orgs/{org_id}/standards/{standard_key}/rates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"id": "gsop-3",
"type": "standard-rates",
"attributes": {
"standard": "<string>",
"platform_sets": [
{
"effective_from": "2025-04-01",
"domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"non_domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"late_payment": {
"amount": 9250,
"currency": "GBP"
}
}
],
"sets": [
{
"effective_from": "2025-04-01",
"domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"non_domestic": {
"base": {
"amount": 9250,
"currency": "GBP"
},
"per_period": {
"amount": 9250,
"currency": "GBP"
},
"cap": {
"amount": 9250,
"currency": "GBP"
}
},
"late_payment": {
"amount": 9250,
"currency": "GBP"
}
}
]
}
},
"jsonapi": {
"version": "1.0"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Authorizations
SessionOAuth2Cookie
Session token for authentication.
Path Parameters
The unique identifier for the organisation.
The key of the performance standard, such as gsop-3.