Overview
Paw & Care integrates with external systems to streamline workflows, sync data, and extend functionality. The platform provides built-in integrations, REST APIs, and webhooks for custom connections.Coming Soon: Most integrations are planned for future releases. Current focus is core platform functionality. This guide outlines the integration roadmap and API architecture.
Integration Architecture
API-First Design
Paw & Care is built with API-first architecture:REST API
Base URL:
https://api.paw-and-care.com/v1Authentication: Bearer token (JWT)Rate Limits:- Standard: 100 requests/minute
- Bulk operations: 10 requests/minute
- Webhooks: 1000 events/hour
/api/docsReal-Time Sync
Technology: Supabase Realtime (WebSocket)Events: Database changes broadcast instantlyUse Cases:
- Multi-device sync
- Live dashboard updates
- Collaborative editing
- Push notifications
Authentication
All API requests require authentication:Obtain API Key
Navigate to Settings \u2192 API Access (Practice Manager only)Generate API Key:
- Tap Create New API Key button
- Enter key name (e.g., “QuickBooks Integration”)
- Select permissions scope:
- Read-only (safe for analytics)
- Read/Write (full access)
- Specific resources (appointments, records, billing)
- Set expiration (30 days, 90 days, 1 year, never)
- Tap Generate Key
pk_live_1234567890abcdef1234567890abcdefSecurity: API key shown once. Copy and store securely. Treat like password. Rotate keys every 90 days.
Authenticate Requests
Include API key in request header:Response Codes:
200 OK: Success401 Unauthorized: Invalid or missing API key403 Forbidden: Valid key but insufficient permissions429 Too Many Requests: Rate limit exceeded
Built-In Integrations
Email Services
- SendGrid (Recommended)
- Mailchimp
- Gmail/Outlook (SMTP)
Configuration: Settings \u2192 Integrations \u2192 EmailSetup Steps:
- Sign up for SendGrid account (free tier: 100 emails/day)
- Generate SendGrid API key
- Enter API key in Paw & Care settings
- Verify sender email address
- Configure DNS (SPF, DKIM) for deliverability
- Test send
- Bulk email campaigns
- Email templates with variables
- Delivery tracking (opens, clicks)
- Bounce handling
- Unsubscribe management
SMS Services
- Twilio (Default)
- MessageBird
Configuration: Settings \u2192 Integrations \u2192 SMSSetup:
- Create Twilio account
- Purchase phone number ($1/month)
- Generate API credentials (Account SID, Auth Token)
- Enter credentials in Paw & Care
- Test SMS send
- Bulk SMS campaigns
- Two-way SMS (receive replies)
- Delivery confirmations
- International SMS support
- Opt-out handling
- US/Canada: $0.0075 per SMS
- Example: 1000 SMS = $7.50
- No monthly minimum
Payment Processing
- Square
- Stripe
- PayPal
Use Case: In-person and online paymentsConfiguration: Settings \u2192 Integrations \u2192 PaymentsSetup:
- Create Square account
- Connect Square to Paw & Care (OAuth)
- Map payment types to invoice line items
- Enable automatic invoice sync
- Credit card processing (in-person with reader, online)
- Invoice generation and email
- Payment links (send via SMS/email)
- Automatic payment reconciliation
- Transaction history sync to Paw & Care
- In-person: 2.6% + $0.10
- Online: 2.9% + $0.30
- No monthly fees
Accounting Software
- QuickBooks Online
- Xero
- FreshBooks
Configuration: Settings \u2192 Integrations \u2192 AccountingSync:
- Invoices: Paw & Care \u2192 QuickBooks
- Payments: Automatic reconciliation
- Clients: Sync as customers
- Chart of accounts: Map revenue categories
- Connect QuickBooks account (OAuth)
- Map accounts:
- Revenue accounts (Services, Products)
- Asset accounts (Accounts Receivable)
- Payment methods (Cash, Credit Card, Check)
- Enable automatic sync (daily or real-time)
- Initial data import (existing clients/invoices)
- Real-time: Immediate (for new invoices)
- Daily: Batch sync at midnight
- Manual: On-demand sync button
API Endpoints
Core Resources
- Appointments
- Patients
- Medical Records
- Billing
List Appointments:Query Parameters:Create Appointment:Body:Update Appointment:Delete (Cancel) Appointment:
date: Filter by date (YYYY-MM-DD)status: Filter by status (scheduled, completed, etc.)vet_id: Filter by veterinarianlimit: Results per page (default: 50, max: 100)offset: Pagination offset
Webhook Events
Subscribe to real-time events:Register Webhook Endpoint
Navigate to Settings \u2192 WebhooksCreate Webhook:
- Tap Add Webhook button
- Enter endpoint URL (your server)
- Select events to subscribe:
appointment.createdappointment.updatedappointment.cancelledpatient.createdpatient.updatedrecord.finalizedinvoice.createdinvoice.paidcall.completedemergency.detected
- Enter webhook secret (for signature verification)
- Tap Create Webhook
Receive Webhook Events
When event occurs, POST request sent to your endpoint:Example: appointment.createdYour Server Response:
- Status Code:
200 OK(success) - Any other status: Paw & Care will retry (exponential backoff)
- Max retries: 3 attempts over 24 hours
Third-Party Integrations
Laboratory Services
- IDEXX (Coming Soon)
- Antech Diagnostics (Coming Soon)
Use Case: In-house and reference lab integrationFeatures:
- Order lab tests from Paw & Care
- Automatic result import to medical record
- Abnormal value flagging
- Historical trends graphing
- IDEXX account required
- API credentials from IDEXX
- Map test codes to Paw & Care templates
- Vet orders “Complete Blood Count” in Paw & Care
- Order sent to IDEXX system
- Technician runs test on IDEXX equipment
- Results automatically imported to Paw & Care
- Vet notified when results available
- Results embedded in medical record
Prescription Services
- Chewy Pharmacy (Planned)
- Covetrus (Planned)
Use Case: Client home delivery of medicationsFeatures:
- Send prescription directly to Chewy
- Client receives medications at home
- Automatic refill reminders
- Competitive pricing
- Client convenience
- Practice still gets commission (10-15%)
- Reduces practice inventory burden
Marketing Tools
- Google My Business (Recommended)
- Facebook Business (Planned)
Configuration: Settings \u2192 Integrations \u2192 GoogleSync:
- Practice information (hours, phone, address)
- Client reviews (import to Paw & Care)
- Post updates (announcements, promotions)
- Verify Google My Business listing
- Connect to Paw & Care
- Enable review request automation
- After appointment, send review request email
- “How was your visit with Bella today? Leave us a review!”
- Link to Google review page
- Track review rate (target: 20%+ of clients)
Custom Integrations
Use Cases
Practice Management Software
Scenario: Migrating from legacy PMS, need to coexistIntegration:
- Sync patient data (Paw & Care \u2194 Legacy PMS)
- One-way sync appointments (Legacy \u2192 Paw & Care)
- Gradual migration over 6 months
- POST
/v1/patients(bulk import) - POST
/v1/appointments(sync bookings) - Webhook:
appointment.created(update legacy PMS)
Client Portal
Scenario: Build custom client-facing websiteFeatures:
- Clients view own pet records
- Clients book appointments online
- Clients view invoices, pay online
- Clients receive test results
- GET
/v1/patients?owner_id={id} - GET
/v1/appointments?owner_id={id} - POST
/v1/appointments(online booking) - GET
/v1/billing/invoices?owner_id={id} - POST
/v1/billing/invoices/{id}/payments
Business Intelligence
Scenario: Advanced analytics in Tableau/Power BIIntegration:
- Daily export of all data
- Load into data warehouse
- Build custom dashboards
- Predictive analytics (churn prediction, revenue forecasting)
- GET
/v1/export/full(full database export) - Schedule: Daily cron job at 2 AM
- Format: CSV or JSON
Telemedicine Platform
Scenario: Add video consultationsIntegration:
- Integrate with Zoom, Doxy.me, or custom
- Schedule video appointments in Paw & Care
- Link video room to appointment
- Capture video consultation notes
- POST
/v1/appointments(create video appt) - PATCH
/v1/appointments/{id}(add video URL) - POST
/v1/medical-records(document visit)
Example Integration: Slack Notifications
Use Case: Get Slack notifications for important eventsCreate Slack Incoming Webhook
- Go to Slack App Directory
- Create “Incoming Webhooks” app
- Add to your Slack workspace
- Copy webhook URL:
https://hooks.slack.com/services/T00/B00/XXX
Set Up Paw & Care Webhook
Settings \u2192 Webhooks \u2192 Add WebhookConfiguration:
- URL: Your middleware server (not directly Slack)
- Events:
emergency.detected,appointment.cancelled - Secret: Generate random string
Integration Security
Best Practices
API Key Rotation
Frequency: Every 90 days minimumProcess:
- Generate new API key
- Update integration to use new key
- Test integration working
- Revoke old key
Least Privilege
Principle: Grant minimum permissions neededExample:
- Analytics integration: Read-only access
- Booking widget: Appointments only (not medical records)
- Billing sync: Invoices only (not patient data)
IP Whitelisting
Configuration: Settings \u2192 API Access \u2192 IP RestrictionsRestrict API Access:
- Enter allowed IP addresses
- Requests from other IPs blocked
- Use for server-to-server integrations
Rate Limit Monitoring
Monitor Usage:
- Dashboard shows API requests per day
- Alert when approaching limits
- Identify abnormal spikes (potential abuse)
- Contact support for higher limits
- Enterprise plans: Custom rate limits
Compliance Considerations
HIPAA-Equivalent: Veterinary records not covered by HIPAA, but Paw & Care follows similar standards for data protection.
Data Encryption
In Transit: All API requests over HTTPS (TLS 1.3)At Rest: Data encrypted in database (AES-256)Verify: Check for padlock icon in browser,
https:// in API URLsData Minimization
Principle: Only share data necessary for integrationExample:
- Accounting sync: Invoice data, not medical records
- Marketing: Client email, not medical history
- Analytics: Aggregate metrics, not individual patient details
Audit Logging
All API Access Logged:
- Timestamp
- API key used
- Resource accessed
- Action performed (read, create, update, delete)
- Result (success or error)
Troubleshooting
API Requests Failing with 401 Unauthorized
API Requests Failing with 401 Unauthorized
Webhook Not Receiving Events
Webhook Not Receiving Events
Symptom: Events occurring but webhook not triggeredCauses:
- Endpoint URL unreachable
- Endpoint returning non-200 status
- Firewall blocking Paw & Care IPs
- Webhook disabled or deleted
- Test endpoint manually: Send POST request from Postman
- Check webhook status: Settings \u2192 Webhooks
- View webhook logs: Shows delivery attempts and errors
- Verify endpoint returns 200 OK
- Check server logs for incoming requests
- Whitelist Paw & Care IPs if firewall enabled
- Use webhook testing tool: https://webhook.site
Rate Limit Exceeded
Rate Limit Exceeded
Symptom: 429 Too Many Requests errorCauses:
- Too many API requests in short time
- Bulk import without rate limiting
- Infinite loop in integration code
- Implement exponential backoff:
- Batch requests: Use bulk endpoints where available
- Cache data: Don’t request same data repeatedly
- Request limit increase: Contact support for higher limits
Data Not Syncing
Data Not Syncing
Symptom: Changes in Paw & Care not appearing in integrated systemCauses:
- Integration credentials expired
- Mapping configuration incorrect
- API permissions insufficient
- Integration paused or disabled
- Check integration status: Settings \u2192 Integrations
- Reconnect integration: Re-authorize OAuth
- Verify field mappings: Ensure fields aligned
- Check API key permissions: Read/Write access
- Review error logs: Settings \u2192 Integration Logs
- Manual sync: Trigger sync button to test
Next Steps
API Documentation
Complete API reference with endpoint details and examples
Reporting
Use integrated data for advanced analytics and reporting
Bulk Operations
Automate bulk operations using API and webhooks
Support
Contact support for integration assistance and custom development