PROPSERV FOR DEVELOPERS
Your systems.
Our platform.
Connected.
Bring property maintenance into the tools you already use. Build around your agency’s data with the PropServ External API.
Explore the referenceStart with a work request.
curl "https://api.propfees.co/api/external/submissions" \ -H "Authorization: Bearer YOUR_COMPANY_API_TOKEN" \ -H "Accept: application/json"
Example only · add your own company API token
01 — GETTING STARTED
A few steps.
A lot of possibility.
API access is included with the Ultimate plan. Creating work requests is enabled by PropServ on request.
- 01
Create an API token
An admin user on your account can create tokens in the agent portal under Settings → Integrations & API → API. Tokens belong to your company, so one token covers your whole agency. Each token can expire after 30, 90, 180 or 365 days, or never; expired and revoked tokens are refused with a 401.
- 02
Choose its permissions
Every token needs the
read:submission-responsespermission to read anything — a token without it gets a 403 on every read endpoint. If you plan to create work requests through the API, also grant the token thewrite:submissionspermission when you create it; to change existing records, grantwrite:work-requests,write:responses,write:tenant-reportsorwrite:messages. Property details, compliance, financials and messages each need their own opt-in permission on top of Read:read:properties,read:compliance,read:financialsandread:messages. Older tokens with the*permission keep Read but never get these four; create a new token to use them. - 03
Request write access
Creating work requests is enabled per company by PropServ and is not granted automatically. Ask your PropServ account manager, or email info@propserv.co, to have it switched on. Skip this step if you only need read access.
- 04
Make your first request
Send your token as a Bearer token in the
Authorizationheader, along withAccept: application/json. Every response is JSON, and list endpoints are paginated. To sync incrementally, filter lists withcreated_after,created_before,updated_sinceandupdated_before, and order them withsort(-created_atby default, orcreated_at,-updated_at,updated_at).
Need to write to PropServ?
Ask your account manager to enable company write access, then give your token the write permissions it needs alongside Read. Changes are made as one of your estate agents: name them in the X-Acting-User header, or leave it out to act as the admin who created the token.
CHOOSE YOUR ENVIRONMENT
Ready for the everyday.
https://api.propfees.co/apiRoom to experiment.
https://dev.api.propfees.co/apiContact us for development credentials.
02 — THE BUILDING BLOCKS
The whole workflow.
Over JSON.
Ten resource groups connect the people, properties and work across your agency.
Work requests
Read every work request your agency has raised — and create new ones straight from your own system.
- GET
/external/submissions - GET
/external/submissions/{uuid} - GET
/external/submissions/{uuid}/responses - POST
/external/submissionsOn request
Contractor responses
Quotes, callouts and declines from contractors, with pricing, documents and status history.
- GET
/external/submission-responses - GET
/external/submission-responses/{uuid} - GET
/external/landlord-approvals - GET
/external/submission-responses/{uuid}/landlord-approvals - GET
/external/preferred-contractors - GET
/external/reviews
Tenant reports
Issues reported by tenants, including triage answers, categories and attached media.
- GET
/external/tenant-reports - GET
/external/tenant-reports/{uuid} - GET
/external/tenant-reports/{uuid}/updates
Tenants & users
The people on your account — tenants linked to your agency and the users in your company.
- GET
/external/tenants - GET
/external/users - GET
/external/users/{uuid}
Reference data
Categories, properties, branches and blocks — everything you need to build a valid work request payload.
- GET
/external/categories - GET
/external/properties - GET
/external/properties/{uuid} - GET
/external/branches - GET
/external/blocks
Property details
Tenants, landlords, tenancies, documents, inspections and planned maintenance for each property. Needs read:properties.
- GET
/external/properties/{uuid}/details - GET
/external/properties/{uuid}/tenants - GET
/external/properties/{uuid}/landlords - GET
/external/properties/{uuid}/tenancies - GET
/external/properties/{uuid}/documents - GET
/external/inspections - GET
/external/inspections/{uuid} - GET
/external/planned-maintenance
Compliance
Compliance requirements across your properties, or for one property. Needs read:compliance.
- GET
/external/compliance-requirements - GET
/external/properties/{uuid}/compliance-requirements
Financials
Invoices, fees and commission, across your agency or for one contractor response. Needs read:financials.
- GET
/external/invoices - GET
/external/submission-responses/{uuid}/invoices - GET
/external/submission-responses/{uuid}/financials
Messages & notes
Chat messages and internal notes on work requests and tenant reports. Needs read:messages.
- GET
/external/submissions/{uuid}/notes - GET
/external/tenant-reports/{uuid}/notes - GET
/external/submissions/{uuid}/messages - GET
/external/tenant-reports/{uuid}/messages
Changes to existing records
Notes, assignees, status changes and chat messages, made as one of your estate agents with the same rules and notifications as the web app. Each area has its own permission: write:work-requests, write:responses, write:tenant-reports and write:messages.
- POST
/external/submissions/{uuid}/notesOn request - POST
/external/submissions/{uuid}/assigneeOn request - POST
/external/submissions/{uuid}/reopenOn request - POST
/external/submissions/{uuid}/categories/{categoryId}/stand-downOn request - POST
/external/submission-responses/{uuid}/completeOn request - POST
/external/submission-responses/{uuid}/approve-completionOn request - POST
/external/submission-responses/{uuid}/request-further-worksOn request - POST
/external/submission-responses/{uuid}/stand-downOn request - POST
/external/tenant-reports/{uuid}/notesOn request - POST
/external/tenant-reports/{uuid}/assigneeOn request - POST
/external/tenant-reports/{uuid}/reopenOn request - POST
/external/tenant-reports/{uuid}/no-longer-requiredOn request - POST
/external/tenant-reports/{uuid}/completeOn request - POST
/external/tenant-reports/{uuid}/off-platformOn request - POST
/external/tenant-reports/{uuid}/back-on-platformOn request - POST
/external/submissions/{uuid}/messagesOn request - POST
/external/tenant-reports/{uuid}/messagesOn request
Token management
Create, list and revoke company API tokens. Uses an admin's own PropServ login, not a company token.
- GET
/external-api/tokens - POST
/external-api/tokens - DELETE
/external-api/tokens/{tokenId} - DELETE
/external-api/tokens
03 — API REFERENCE
Get into
the details.
Explore request parameters, payload schemas and example responses in the interactive OpenAPI reference.
Building something good?
Talk to our team about connecting your agency’s tools.
Let’s talk