PermitPaddler API
Read-only REST API for syncing your compliance + tax data into your PMS, channel manager, or accounting tools. Available on the Enterprise plan.
Authentication
Every request requires an Authorization: Bearer msk_… header. Generate keys at /admin/api-keys in your dashboard. Keys are scope-limited; pick the narrowest scope your integration needs.
Scopes
| read:properties | GET /api/v1/properties — list all properties in your org |
| read:permits | GET /api/v1/permits — list permits across all properties |
| read:tax_filings | GET /api/v1/tax-filings — list filings, filter by status/type |
| read:compliance | GET /api/v1/compliance-checks — list checks with current status |
| read:reminders | GET /api/v1/reminders — list scheduled + sent reminders |
| read:documents | GET /api/v1/documents — list document metadata + classifications (file bytes not exposed yet) |
Base URL
https://permitpaddler.ikenagroup.com/api/v1
Date-range filters
Every list endpoint accepts ISO-8601 date params for incremental sync. Invalid dates are silently ignored (no 400 errors).
| /api/v1/tax-filings | ?dueAfter, ?dueBefore, ?filedAfter, ?filedBefore, ?updatedAfter, ?updatedBefore |
| /api/v1/permits | ?expiresAfter, ?expiresBefore, ?issuedAfter, ?issuedBefore, ?updatedAfter, ?updatedBefore |
| /api/v1/compliance-checks | ?dueAfter, ?dueBefore, ?expiresAfter, ?expiresBefore, ?updatedAfter, ?updatedBefore |
| /api/v1/reminders | ?scheduledAfter, ?scheduledBefore, ?sentAfter, ?sentBefore |
| /api/v1/documents | ?uploadedAfter, ?uploadedBefore, ?classifiedAfter, ?classifiedBefore |
Sync pattern: store the last sync time on your side, pass it as updatedAfter (or uploadedAfter for documents) on the next call.
Rate limits
1,000 requests per hour per API key. Exceeding returns 429 with a Retry-After header.
Errors
| 200 | OK |
| 401 | Missing or invalid Authorization header |
| 403 | Key revoked, or scope not granted for this endpoint |
| 404 | Not found (or not in your org) |
| 429 | Rate limit exceeded |
| 500 | Server error (we get paged) |
Try it
Paste your API key below to make a real request against your org's data. Key stays in this browser tab — we don't log it. Generate keys at /admin/api-keys (Enterprise plan required).
read:propertiesExample: list properties
curl https://permitpaddler.ikenagroup.com/api/v1/properties \
-H "Authorization: Bearer msk_your_key_here"
# Response:
{
"properties": [
{
"id": "cmp7x1is0…",
"nickname": "Kihei Beach Condo",
"county": "MAUI",
"address1": "1234 South Kihei Rd",
"city": "Kihei",
"zip": "96753",
"tmk": "2-3-9-005-001:0023"
}
]
}Versioning + deprecation
We promise 90 days notice before breaking changes. Major versions bump the URL (/api/v1 to /api/v2). Field additions are non-breaking and may ship any time.
Need API access?
See Enterprise plan