Property repair authority
curl --request GET \
--url https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"propertyId": "<string>",
"landlordContactId": "<string>",
"landlordName": "<string>",
"property": {
"id": "<string>",
"scope": "landlord",
"propertyId": "<string>",
"landlordContactId": "<string>",
"label": "<string>",
"revision": 123,
"live": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"draft": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"history": [
{
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
}
]
},
"landlord": {
"id": "<string>",
"scope": "landlord",
"propertyId": "<string>",
"landlordContactId": "<string>",
"label": "<string>",
"revision": 123,
"live": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"draft": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"history": [
{
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
}
]
},
"applies": "property",
"ownerGroupLimitMinor": 123,
"ownerGroupCurrency": "<string>",
"approverOptions": [
{
"contactId": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"categoryIds": [
"<string>"
],
"agencyName": "<string>",
"canManage": true
}{
"_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": "RateLimited",
"key": "<string>",
"retryAfterSeconds": 123,
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}maintenance-pro
Property repair authority
What the agency may spend on repairs at a property without asking the owner: its own policy, its landlord’s, and which applies
GET
/
maintenance-pro
/
properties
/
{propertyId}
/
repair-authority
Property repair authority
curl --request GET \
--url https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority \
--header 'x-api-key: <api-key>'const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sortx.co.uk/maintenance-pro/properties/{propertyId}/repair-authority"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text){
"propertyId": "<string>",
"landlordContactId": "<string>",
"landlordName": "<string>",
"property": {
"id": "<string>",
"scope": "landlord",
"propertyId": "<string>",
"landlordContactId": "<string>",
"label": "<string>",
"revision": 123,
"live": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"draft": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"history": [
{
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
}
]
},
"landlord": {
"id": "<string>",
"scope": "landlord",
"propertyId": "<string>",
"landlordContactId": "<string>",
"label": "<string>",
"revision": 123,
"live": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"draft": {
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
},
"history": [
{
"id": "<string>",
"authorityId": "<string>",
"version": 123,
"status": "draft",
"policy": {
"currency": "<string>",
"vatBasis": "inc_vat",
"standardLimitMinor": 123,
"standardOwnerTold": "immediately",
"monthlyCapMinor": 123,
"quoteSteps": [
{
"overMinor": 123,
"quotes": 123
}
],
"rules": [
{
"id": "<string>",
"kind": "emergency",
"categories": [
"<string>"
],
"limitMinor": 123,
"aboveLimit": "quote_to_owner",
"ownerTold": "immediately"
}
],
"approvers": [
{
"contactId": "<string>",
"waitHours": 123
}
],
"noAnswer": "escalate_to_staff",
"noAnswerUnderMinor": 123,
"sourceDocumentId": "<string>",
"sourceNote": "<string>"
},
"summary": [
"<string>"
],
"confirmedVia": "management_agreement",
"confirmedOn": "<string>",
"confirmedNote": "<string>",
"createdAt": "<string>",
"liveFrom": "<string>",
"supersededAt": "<string>"
}
]
},
"applies": "property",
"ownerGroupLimitMinor": 123,
"ownerGroupCurrency": "<string>",
"approverOptions": [
{
"contactId": "<string>",
"name": "<string>",
"email": "<string>"
}
],
"categoryIds": [
"<string>"
],
"agencyName": "<string>",
"canManage": true
}{
"_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": "RateLimited",
"key": "<string>",
"retryAfterSeconds": 123,
"message": "<string>"
}{
"_tag": "IntegrationUnavailable",
"integration": "<string>",
"detail": "<string>"
}Authorizations
A workspace API key (Settings → API keys), scoped to <group>:read / <group>:write.
Path Parameters
Response
Success
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
property, landlord, owner_group, none Show child attributes
Show child attributes