Set repair access arrangement
curl --request POST \
--url https://api.sortx.co.uk/maintenance-pro/repairs/{id}/access-arrangement \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"requestId": "<string>",
"expectedRevision": 123,
"note": "<string>",
"contactId": "<string>"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requestId: '<string>',
expectedRevision: 123,
note: '<string>',
contactId: '<string>'
})
};
fetch('https://api.sortx.co.uk/maintenance-pro/repairs/{id}/access-arrangement', 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/repairs/{id}/access-arrangement"
payload = {
"requestId": "<string>",
"expectedRevision": 123,
"note": "<string>",
"contactId": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"repairId": "<string>",
"details": [
{
"calendarEventId": "<string>",
"outcomeId": "<string>",
"timeOnSiteMinutes": 123,
"doorPhoto": {
"id": "<string>",
"name": "<string>"
},
"calledTenant": true,
"cardLeft": true,
"refusedBy": "tenant",
"keySet": {
"id": "<string>",
"reference": "<string>",
"label": "<string>"
},
"contractorConfirmed": true,
"contractorExplanation": "<string>"
}
],
"callOuts": [
{
"id": "<string>",
"calendarEventId": "<string>",
"amountMinor": 123,
"currency": "<string>",
"borneBy": "agency",
"note": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
}
],
"noShows": {
"contractor": "<string>",
"count": 123,
"suggestChange": true
},
"failedAccess": {
"inARow": 123,
"suggestClose": true
},
"arrangement": {
"id": "<string>",
"via": "tenant",
"note": "<string>",
"contactId": "<string>",
"contactName": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
},
"arrangementHistory": [
{
"id": "<string>",
"via": "tenant",
"note": "<string>",
"contactId": "<string>",
"contactName": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
}
],
"arrangementRevision": 123,
"fixedReply": {
"doneAt": "<string>",
"dueAt": "<string>",
"overdue": true,
"taskOpen": 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
Set repair access arrangement
Say who gives access now (the tenant moved out): the landlord or the agency
POST
/
maintenance-pro
/
repairs
/
{id}
/
access-arrangement
Set repair access arrangement
curl --request POST \
--url https://api.sortx.co.uk/maintenance-pro/repairs/{id}/access-arrangement \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"requestId": "<string>",
"expectedRevision": 123,
"note": "<string>",
"contactId": "<string>"
}
'const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
requestId: '<string>',
expectedRevision: 123,
note: '<string>',
contactId: '<string>'
})
};
fetch('https://api.sortx.co.uk/maintenance-pro/repairs/{id}/access-arrangement', 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/repairs/{id}/access-arrangement"
payload = {
"requestId": "<string>",
"expectedRevision": 123,
"note": "<string>",
"contactId": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"repairId": "<string>",
"details": [
{
"calendarEventId": "<string>",
"outcomeId": "<string>",
"timeOnSiteMinutes": 123,
"doorPhoto": {
"id": "<string>",
"name": "<string>"
},
"calledTenant": true,
"cardLeft": true,
"refusedBy": "tenant",
"keySet": {
"id": "<string>",
"reference": "<string>",
"label": "<string>"
},
"contractorConfirmed": true,
"contractorExplanation": "<string>"
}
],
"callOuts": [
{
"id": "<string>",
"calendarEventId": "<string>",
"amountMinor": 123,
"currency": "<string>",
"borneBy": "agency",
"note": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
}
],
"noShows": {
"contractor": "<string>",
"count": 123,
"suggestChange": true
},
"failedAccess": {
"inARow": 123,
"suggestClose": true
},
"arrangement": {
"id": "<string>",
"via": "tenant",
"note": "<string>",
"contactId": "<string>",
"contactName": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
},
"arrangementHistory": [
{
"id": "<string>",
"via": "tenant",
"note": "<string>",
"contactId": "<string>",
"contactName": "<string>",
"recordedBy": "<string>",
"recordedAt": "<string>"
}
],
"arrangementRevision": 123,
"fixedReply": {
"doneAt": "<string>",
"dueAt": "<string>",
"overdue": true,
"taskOpen": 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
Body
application/json
Response
Success
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
Show child attributes
Show child attributes
Show child attributes
Show child attributes