Programmatic access to your visitor management data.
All API requests require an API key passed in the X-API-Key header.
Generate API keys in Settings → API Keys in your dashboard.
https://portervisitors.com/api/v1100 requests per minute per API key.
When exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating seconds to wait.
page, limit, sort, order, search, isContractor
{
"success": true,
"data": {
"visitors": [...],
"pagination": { "page": 1, "limit": 20, "total": 150, "totalPages": 8 }
}
}Error responses follow the format: { "success": false, "error": { "code": "...", "message": "..." } }
| Code | Status | Description |
|---|---|---|
| MISSING_API_KEY | 401 | No X-API-Key header provided |
| INVALID_API_KEY | 401 | API key does not match any active key |
| RATE_LIMIT_EXCEEDED | 429 | Too many requests, see Retry-After header |
| NOT_FOUND | 404 | Resource not found or not in your tenant |
| VALIDATION_ERROR | 400 | Missing or invalid request body fields |
| ALREADY_CHECKED_OUT | 400 | Visitor has already checked out |
# List visitors
curl -H "X-API-Key: pk_your_key" \
https://portervisitors.com/api/v1/visitors?page=1&limit=10
# Create a visitor
curl -X POST -H "X-API-Key: pk_your_key" \
-H "Content-Type: application/json" \
-d '{"firstName":"Jane","lastName":"Doe","email":"[email protected]"}' \
https://portervisitors.com/api/v1/visitors
# Check out a visit
curl -X PATCH -H "X-API-Key: pk_your_key" \
https://portervisitors.com/api/v1/visits/visit_id_here