REST + JSON
All endpoints are JSON. No XML, no gRPC.
Authenticated
Session cookie or Bearer token. Same auth as the dashboard.
Webhooks
Subscribe to events. Enterprise plan.
Authentication
All API requests require authentication. Use the same session cookie as the web app, or send a Bearer token in the Authorization header.
curl https://api.aedobuild.com/api/tickets \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json"
Quick example: file a maintenance ticket
curl -X POST https://api.aedobuild.com/api/tickets \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"unitId": "cm_unit_id_here",
"title": "Leaking faucet",
"description": "Kitchen sink dripping since this morning",
"priority": "NORMAL",
"category": "plumbing"
}'Endpoints
Tickets
| GET | /api/tickets | List maintenance tickets in your org |
| POST | /api/tickets | Create a new ticket |
| GET | /api/tickets/{id} | Get a specific ticket |
| PATCH | /api/tickets/{id} | Update status, priority, assignee |
| DELETE | /api/tickets/{id} | Delete a ticket (admin or open creator) |
| POST | /api/tickets/{id}/comments | Post a comment |
| POST | /api/tickets/{id}/rate | Rate a resolved ticket |
Payments
| POST | /api/payments | Create an invoice for a unit |
| POST | /api/payments/{id}/checkout | Start Stripe Checkout for payment |
| GET | /api/payments/export | Export payments as QuickBooks-compatible CSV |
Documents
| POST | /api/documents | Upload a document |
| GET | /api/documents/{id} | Download a document |
| DELETE | /api/documents/{id} | Delete a document (admin only) |
Announcements
| POST | /api/announcements | Post an announcement (immediate or scheduled) |
| DELETE | /api/announcements/{id} | Delete an announcement |
| POST | /api/emergency | Send an emergency SMS broadcast |
Residents
| POST | /api/residents | Invite a resident to a unit |
| POST | /api/residents/import | Bulk import via CSV |
| POST | /api/units | Create a unit |
| POST | /api/occupancies | Move out / reinstate |
AI
| POST | /api/ai/categorize | AI-categorize a ticket description |
| POST | /api/ai/draft-announcement | AI-draft an announcement from a topic |
| POST | /api/ai/ask-documents | Ask a question about uploaded documents |
Rate limits
- Starter / Growth: 60 requests / minute / IP
- Enterprise: Negotiated
- Auth endpoints: 5 / min / IP
Webhooks (Enterprise)
Subscribe to events from your organization. We POST to your URL with a signed payload. Events available:
ticket.createdticket.status_changedpayment.paidpayment.failedresident.invitedannouncement.publisheddocument.uploaded
Contact sales@aedobuild.com to set up webhook endpoints and get your signing secret.
SDKs
Official SDKs coming Q3 2026 for Node, Python, Go. In the meantime, any HTTP client works.
Need a hand?
Email support@aedobuild.com with your use case and we'll respond within a business day.