Docs
API & Developers
API & Developers
Manage API keys, webhooks, and integrations for your organization.
The Developers section provides tools for integrating Plotwise with your other systems through our API.
Accessing Developer Settings
- Click organization name (top left)
- Select "Organization settings"
- Click "Developers" tab
API Keys
API keys authenticate your applications when calling the Plotwise API.
Creating an API Key
- Click "Create API Key"
- Enter a descriptive name
- Select permissions
- Click "Create"
- Copy the key immediately (shown only once)
Important: API keys are shown only once when created. Store them securely
- you cannot view them again.
API Key Permissions
| Permission | Allows |
|---|---|
| Read | View permits, contacts, conditions |
| Write | Modify watchlist, add notes |
| Admin | Full API access |
Managing API Keys
View existing keys:
- Key name
- Last used date
- Permissions
- Created date
Revoke a key:
- Find key in list
- Click "Revoke"
- Confirm
- Key immediately invalidated
API Key Best Practices
- Use descriptive names (e.g., "CRM Integration - Production")
- Create separate keys for different applications
- Use minimum required permissions
- Rotate keys periodically
- Revoke unused keys
API Usage
Authentication
Include your API key in requests:
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.plotwise.us/v1/permitsRate Limits
API requests are rate limited:
- Starter: 100 requests/minute
- Professional: 1,000 requests/minute
- Enterprise: Custom limits
Usage Tracking
View API usage metrics:
- Requests per day/week/month
- Errors and failures
- Top endpoints called
Webhooks
Webhooks notify your systems when events occur in Plotwise.
Creating a Webhook
- Click "Add Webhook"
- Enter endpoint URL (HTTPS required)
- Select events to subscribe
- Add secret for verification (optional)
- Save
Webhook Events
| Event | Triggered When |
|---|---|
permit.status_changed | Permit status updates |
permit.fee_changed | Fee additions/changes |
permit.inspection_scheduled | New inspection |
permit.added_to_watchlist | Permit tracked |
permit.removed_from_watchlist | Permit untracked |
Webhook Payload
Example payload:
{
"event": "permit.status_changed",
"timestamp": "2026-01-23T10:45:00Z",
"organization_id": "org_xxx",
"data": {
"permit_uuid": "abc-123",
"permit_number": "BLD-26-0521670",
"previous_status": "Pending",
"new_status": "In Review"
}
}Webhook Security
Verify webhooks using the secret:
- Add secret when creating webhook
- Plotwise includes signature header
- Verify signature in your endpoint
- Reject invalid signatures
Testing Webhooks
- Create webhook pointing to test endpoint
- Click "Send Test Event"
- Verify your endpoint receives it
- Check payload structure
Webhook Failures
If your endpoint fails:
- Retried up to 5 times
- Exponential backoff
- Notification after repeated failures
- Can manually retry from logs
API Documentation
Full API Reference
Complete API documentation available at:
api.plotwise.us/docs- OpenAPI/Swagger specification
- Code examples
Common Endpoints
| Endpoint | Method | Description |
|---|---|---|
/v1/permits | GET | List watchlist permits |
/v1/permits/{id} | GET | Get permit details |
/v1/watchlist | POST | Add permit to watchlist |
/v1/conditions | GET | List Portfolio conditions |
SDKs and Libraries
Official libraries available for:
- JavaScript/TypeScript
- Python
- (More coming soon)
Integration Examples
CRM Integration
Sync permit contacts to your CRM:
- Create API key with Read permission
- Call
/v1/contactsendpoint - Map fields to your CRM
- Schedule periodic sync
Webhook to Slack
Send notifications to Slack:
- Create webhook endpoint (your server)
- Subscribe to relevant events
- Forward to Slack webhook
- Format as Slack message
Automated Reporting
Build custom reports:
- Create API key
- Query permits endpoint
- Aggregate data
- Generate report