API Integration Guide
Enterprise-grade REST API built for government systems. Each report has its own API keys and endpoints. Integrate with Tyler Technologies, Incode, and other platforms using your own data format with dot notation and array indexing.
Looking for Real-World Examples?
See complete integration guides for Property Tax, Traffic Tickets, Tyler Technologies, and more with field mappings and code examples.
View Integration Examples →Key Features
Custom Schema Mapping
Configure field aliases to use your own naming conventions. The API adapts to your systems, not vice versa.
Dot Notation & Array Indexing
Flatten complex nested JSON using dot notation and array indexing (e.g., customer.account[0].balance). No middleware required—map directly from Tyler Technologies, Incode, and other complex APIs.
Smart Data Parsing
Accepts dollars or cents, 4 date formats, currency symbols, and formatted strings. Handles real-world messy data.
Real-Time Sync
Automatic balance updates and payment notifications. Keep your systems in sync with zero manual intervention.
Understanding Report-Based API Architecture
DyerPay uses a flexible, report-centric API architecture that gives you complete control over your data organization.
Unique Keys Per Report
Every report you create has its own unique API keys and authentication credentials. This allows you to segregate access and maintain security boundaries between different data sources.
Dedicated Endpoints
Each report has its own unique API endpoint. Import and export data specific to that report without affecting or mixing data from other reports in your agency.
Multiple Reports & Pay Pages Per Agency
Your agency can create multiple reports to handle different data sources (e.g., Property Tax, Water Bills, Court Fees, Permits). Each report can have multiple pay pages with different configurations.
Example Agency Setup:
- • Report 1: Property Tax (API Key: dp_live_prop_abc123) → Pay Page for Residential, Pay Page for Commercial
- • Report 2: Water Utility (API Key: dp_live_water_def456) → Pay Page for Standard Accounts, Pay Page for Past Due
- • Report 3: Court Fees (API Key: dp_live_court_ghi789) → Pay Page for Traffic Citations, Pay Page for Civil Fees
Why This Architecture Matters
Data Isolation: Keep different systems' data completely separate
Granular Security: Control API access per data source
Custom Field Mapping: Each report has its own field aliases
Flexible Scaling: Add new reports without affecting existing ones
Getting Started
Get Your Report-Specific API Key
Each report has its own unique API key. Generate API keys from your DyerPay dashboard under the specific report's Settings → API Access. Remember: each report you create will have different keys and endpoints.
API_KEY=dp_live_propertytax_abcdef123456...Configure Field Mappings for Your Report
Each report has its own custom field aliases that match your source system's naming conventions. All API requests and responses for that specific report will use your configured field names.
{
"account_number": "Acct#",
"remaining_cents": "Balance Due",
"due_date": "DueDate"
}Make Your First Request to Your Report's Endpoint
Use HTTP Basic Auth with your report-specific API key. All requests must be made over HTTPS to the endpoint unique to your report.
curl https://api.dyerpay.com/v1/reports/{report_id}/balances \
-u dp_live_propertytax_abcdef123456789:Core API Endpoints (Per Report)
All endpoints are scoped to the specific report. Replace {report_id} with your report's unique identifier from the dashboard.
/v1/reports/{report_id}/balances/importImport or update account balances in bulk for this specific report (up to 1,000 records per request).
{
"balances": [
{
"Acct#": "12345",
"Balance Due": "234.56",
"DueDate": "2024-03-15"
}
]
}/v1/reports/{report_id}/balances/exportExport all balances for this specific report with optional filtering and pagination (up to 10,000 per page).
GET /v1/reports/{report_id}/balances/export?page=1&limit=100/v1/reports/{report_id}/payments/exportRetrieve payment transactions for this specific report with filtering by date range, status, or account.
Advanced Features
Dot Notation & Array Indexing for Complex JSON Flattening
Flatten deeply nested and complex JSON structures from any third-party system using dot notation and array indexing. This allows you to map complex incoming data to your DyerPay fields without middleware or data transformation.
Complex Incoming JSON:
{
"customer": {
"account": {
"id": "A-12345",
"balances": [
{
"type": "primary",
"amount": 234.56,
"due": "2024-03-15"
}
]
},
"contact": {
"addresses": [
{ "street": "123 Main" }
]
}
}
}Field Alias Configuration:
{
"account_number":
"customer.account.id",
"remaining_cents":
"customer.account.balances[0].amount",
"due_date":
"customer.account.balances[0].due",
"address":
"customer.contact.addresses[0].street"
}Supported Path Syntax:
property.subproperty Dot notation for nested objectsarray[0] Array indexing (0-based)parent.child[0].value Combined notationdata[1].items[0] Multiple array levelsJSONPath for Advanced Queries
For more complex queries beyond dot notation, use full JSONPath expressions:
{
"jsonpath": {
"Acct#": "propertyTax.parcel.number",
"Balance Due": "assessment.amount"
}
}Smart Currency Parsing
All these formats are automatically handled:
"234.56" → 23456 cents
"$1,234.56" → 123456 cents
23456 → 23456 cents
"-100.50" → -10050 centsEnterprise Security & Compliance
DyerPay meets the highest security and compliance standards for government payment processing:
Compliance Certifications
- PCI DSS Compliant: Payment Card Industry Data Security Standard certified for secure card processing
- SOC 2 Compliant: Service Organization Control audited for security, availability, and confidentiality
Comprehensive Insurance Coverage
- Business Liability Insurance: Full coverage for business operations
- Cyber Security Insurance: Protection against data breaches and cyber incidents
- E&O Insurance: Errors and Omissions coverage for professional services
All payments are fully protected by industry-leading security standards and comprehensive insurance coverage, giving your agency and citizens complete peace of mind.
Technical Specifications
Rate Limits
- • 20 imports/minute
- • 100 exports/minute
- • Burst capacity available
Request Limits
- • Max 1,000 records per import
- • Max 10,000 per export page
- • 500 char field length
Security
- • HTTPS required
- • HTTP Basic Auth
- • Base64-encoded API keys
Data Formats
- • JSON request/response
- • UTF-8 encoding
- • ISO 8601 dates recommended
Real-World Integration Examples
See complete integration guides with field mappings, code examples, and best practices for common use cases.
Not a Developer? We Have Other Options
If you don't need programmatic integration, these simpler options might be perfect for your team:
Google Sheets Integration
Real-time two-way sync with Google Sheets. No coding required—just connect and map your columns.
Best for: Teams already using Google Sheets
CSV Import/Export
Simple bulk import and export using CSV files. Perfect for one-time or periodic updates.
Best for: Manual bulk operations
Ready to Integrate?
Contact us to get your API credentials and start building your integration today.