Summary
curl --request GET \
--url https://api.sortx.co.uk/reports/{report} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/reports/{report}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/reports/{report}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"report": "property-repairs-reported",
"today": "<string>",
"from": "<string>",
"to": "<string>",
"branch": "<string>",
"currency": {
"code": "<string>",
"chosen": true,
"rateOn": "<string>",
"rates": [
{
"from": "<string>",
"rate": "<string>",
"asOf": "<string>",
"origin": "<string>"
}
],
"missing": [
"<string>"
]
},
"total": {
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
},
"groups": [
{
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
}
],
"months": [
{
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
}
],
"branches": [
{
"id": "<string>",
"name": "<string>",
"town": "<string>",
"active": true
}
],
"fingerprint": "<string>",
"generatedAt": "<string>",
"readAt": "<string>"
}{
"_tag": "TenantCreateRejected",
"reason": "<string>",
"field": "<string>"
}{
"_tag": "Unauthenticated"
}{
"_tag": "TenantSuspended",
"tenantId": "<string>",
"reason": "<string>"
}{
"_tag": "EntitlementMissing",
"tenantId": "<string>",
"moduleId": "<string>"
}{
"_tag": "TenantNotFound",
"slug": "<string>"
}{
"_tag": "WebhookDuplicate",
"integration": "<string>",
"externalId": "<string>"
}{
"_tag": "ReportsBusy",
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}reports
Summary
One standard report’s total, breakdown and months for a period and branch, in the reporting currency
GET
/
reports
/
{report}
Summary
curl --request GET \
--url https://api.sortx.co.uk/reports/{report} \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/reports/{report}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/reports/{report}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"report": "property-repairs-reported",
"today": "<string>",
"from": "<string>",
"to": "<string>",
"branch": "<string>",
"currency": {
"code": "<string>",
"chosen": true,
"rateOn": "<string>",
"rates": [
{
"from": "<string>",
"rate": "<string>",
"asOf": "<string>",
"origin": "<string>"
}
],
"missing": [
"<string>"
]
},
"total": {
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
},
"groups": [
{
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
}
],
"months": [
{
"key": "<string>",
"label": "<string>",
"rows": 123,
"measures": [
{
"id": "<string>",
"value": 123,
"unknown": 123,
"unconvertible": 123,
"mean": 123,
"median": 123
}
]
}
],
"branches": [
{
"id": "<string>",
"name": "<string>",
"town": "<string>",
"active": true
}
],
"fingerprint": "<string>",
"generatedAt": "<string>",
"readAt": "<string>"
}{
"_tag": "TenantCreateRejected",
"reason": "<string>",
"field": "<string>"
}{
"_tag": "Unauthenticated"
}{
"_tag": "TenantSuspended",
"tenantId": "<string>",
"reason": "<string>"
}{
"_tag": "EntitlementMissing",
"tenantId": "<string>",
"moduleId": "<string>"
}{
"_tag": "TenantNotFound",
"slug": "<string>"
}{
"_tag": "WebhookDuplicate",
"integration": "<string>",
"externalId": "<string>"
}{
"_tag": "ReportsBusy",
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}Authorizations
A workspace API key (Settings → API keys), scoped to <group>:read / <group>:write.
Path Parameters
Available options:
property-repairs-reported, property-repairs-completed, property-compliance, property-inspections, property-planned, property-keys, property-complaints, repairs-response-time, repairs-attend-time, repairs-complete-time, repairs-spend-by-trade, repairs-contractors, repairs-repeat, repairs-ai-work, money-contractor-invoices Response
Success
Available options:
property-repairs-reported, property-repairs-completed, property-compliance, property-inspections, property-planned, property-keys, property-complaints, repairs-response-time, repairs-attend-time, repairs-complete-time, repairs-spend-by-trade, repairs-contractors, repairs-repeat, repairs-ai-work, money-contractor-invoices Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes