Skip to content
English - United Kingdom
  • There are no suggestions because the search field is empty.

How do I use the V4 Maintenance API to manage maintenance jobs?

The V4 Maintenance API covers the complete maintenance lifecycle — creating and tracking jobs, assigning contractors, processing invoices, and managing documents. All endpoints are at https://live-api.letmc.com/v4/maintenance/.

Complete maintenance job workflow

  1. Get branchesGET /v4/maintenance/{shortName}/company/branches/{offset}/{count}
  2. Get properties for maintenanceGET /properties/{branchID}/{offset}/{count} Includes archived properties (intentional, for integrator compatibility). Each property includes a ManagedMaintenance flag.
  3. Get job status typesGET /jobs/statusTypes/{offset}/{count} Understand available workflow states (e.g. pending, in progress, completed, cancelled).
  4. Create a maintenance jobPOST /jobs/{branchID}/job Required: MaintenanceJobSubmissionModel including property ID, description, status ID, and optional contractor assignment.
  5. Track job progressGET /jobs/{jobID}
  6. Update job statusPATCH /jobs/{jobID} Use the noContractor flag to remove a contractor assignment if needed.

Contractor management

  • All contractors for a branch: GET /contacts/contractors/{branchID}/{offset}/{count}
  • Specific contractor: GET /contacts/contractors/{contractorID}
  • Submit contractor invoice: POST /invoice/submit using ContractorInvoiceSubmissionModel (requires contractor ID, job ID, invoice amount, and supporting documents)

Property and contact lookups

  • Property details: GET /properties/{propertyID}
  • Landlord: GET /contacts/landlords/{landlordID}
  • Tenant: GET /contacts/tenants/{tenantID}
  • Staff member: GET /contacts/staff/{staffMemberID}

Job tracking and reporting

  • All jobs for a branch: GET /jobs/{branchID}/{offset}/{count}
  • Specific status type: GET /jobs/statustypes/{statusID}
  • Tenancy states (includes archived): GET /{branchID}/tenancies/tenancyState/{offset}/{count}

Document attachment

POST /jobs/{jobID}/attachdocument Supported formats: PDF, JPG, PNG, DOC, DOCX, XLS, XLSX.

Maintenance preferences

Preferences are property-specific settings that define maintenance requirements or instructions.

  • All preferences for a property: GET /preferences/{propertyID}/{offset}/{count} (returned ordered by name)
  • Specific preference: GET /preferences/{preferenceID}

Custom fields

  • Get definition: /company/object/{objectID}/customfield
  • Get value: /company/objects/{objectID}/{fieldID}/value
  • Set value: POST /company/objects/{objectID}/{fieldID}/customfield

Data relationships

Branch → Properties → Jobs → Contractor → Invoice | Property → Preferences | Job → Status Type | Job → Documents | Property → Tenancy

Test with Swagger: Select "V4.Maintenance" from the tier dropdown. Pay particular attention to the MaintenanceJobSubmissionModel and ContractorInvoiceSubmissionModel structures.