Skip to main content
PERMITPADDLERHawaiʻi STR Compliance

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:propertiesGET /api/v1/properties — list all properties in your org
read:permitsGET /api/v1/permits — list permits across all properties
read:tax_filingsGET /api/v1/tax-filings — list filings, filter by status/type
read:complianceGET /api/v1/compliance-checks — list checks with current status
read:remindersGET /api/v1/reminders — list scheduled + sent reminders
read:documentsGET /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

200OK
401Missing or invalid Authorization header
403Key revoked, or scope not granted for this endpoint
404Not found (or not in your org)
429Rate limit exceeded
500Server 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).

Examples:scope: read:properties

Example: 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