



Have any questions? We’re here to help You
Makini is SOC 2 Type 2 compliant and undergoes penetration testing twice annually. We use industry-standard encryption protocols including TLS 1.2+ for data in transit and AES-256 for data at rest. Customer credentials are encrypted using secure key management practices. Our infrastructure follows security best practices including network segmentation, access controls, and regular security audits. For highly regulated industries or customers with strict compliance requirements, we offer self-hosted deployment options that keep all data within your infrastructure. We've successfully met security requirements for enterprises including financial institutions and government contractors.
The initial sync occurs when you first connect a system and retrieves historical data to establish a baseline. This includes records from a configurable time period (typically 30-90 days) and can take several minutes to hours depending on data volume. Initial syncs are complete snapshots of the requested data. Incremental syncs occur on subsequent runs and retrieve only records created or modified since the last successful sync. Makini tracks sync timestamps and uses them to query for changes efficiently. Incremental syncs are much faster, usually completing in seconds to minutes. This approach minimizes API load on source systems while keeping your data current.
Webhooks allow Makini to notify your application of events in real-time. To set up webhooks, configure a webhook URL in your connection settings or during the initial connection flow. Your webhook endpoint must accept POST requests, respond within 10 seconds with a 200 status code, and use HTTPS with a valid SSL certificate. Makini will send webhook payloads to your endpoint when configured events occur, such as sync completion, connection status changes, or errors requiring attention. We recommend keeping your webhook receiver lightweight—ideally just writing the payload to a queue for asynchronous processing—to avoid timeouts and ensure reliable delivery.
500-level errors indicate issues on Makini's side or with the connected system. These are typically temporary and retrying the request after a brief delay often succeeds. Implement exponential backoff for retries—wait a few seconds, then progressively longer intervals. If errors persist beyond a few retries, check the Makini status page for service disruptions. The error may also stem from the connected system experiencing issues rather than Makini itself. For persistent 500 errors, contact support with the request ID from the error response. Include details about when the error started, which operations are affected, and which connections are impacted. Our support team can quickly identify whether the issue is systemic or connection-specific.
