




Have any questions? We’re here to help You
Industrial systems are often heavily customized, and Makini is built to handle this. For reading data, Makini can access virtually any field or custom table in connected systems. Through the connection settings interface, you can specify custom fields, tables, or entities to include in API responses. These show up alongside standard fields in the unified model. For custom objects not in our default model, you can request them through the interface and they'll be available immediately. For writing data, customization support varies by system but covers most common scenarios. During implementation, we work with you to identify required customizations and ensure they're properly configured before going live.
Design your webhook receiver to handle duplicates and out-of-order webhooks, as network issues or retries can cause both scenarios. Keep the receiver lightweight—ideally writing incoming webhooks to a queue or reliable storage—then process them asynchronously. This prevents timeouts and allows your system to handle high-volume webhook spikes. Respond with a 200 status code immediately after receiving the webhook, before processing begins. Implement idempotency by tracking processed webhook IDs and skipping duplicates. Use constant-time comparison for signature verification to prevent timing attacks. If webhook processing fails, log the error but still return 200 to prevent unnecessary retries. Set up monitoring and alerts for webhook failures so you can investigate issues promptly. For critical workflows, combine webhooks with periodic polling as a fallback mechanism.
Makini monitors connection health continuously and provides multiple ways to detect reauthorization needs. The connection status endpoint returns the current state including whether reauthorization is required. Makini sends webhooks when connections enter a state requiring reauthorization, allowing proactive notification. API requests to a connection requiring reauthorization return specific error codes prompting reconnection. The Makini dashboard displays connection status across all customers. Best practice is to implement webhook listeners for connection status changes and proactively notify customers when reauthorization is needed, rather than waiting for operations to fail. Include clear instructions on how to reconnect in your notification.
Makini takes a defense-in-depth approach to security. All data in transit uses TLS 1.2 or higher. Data at rest is encrypted using AES-256 encryption. Customer credentials are encrypted using secure key management with separate encryption keys per customer. We implement network segmentation, strict access controls, and follow the principle of least privilege. Our infrastructure undergoes regular security audits, penetration testing, and vulnerability assessments. We're SOC 2 Type 2 certified, demonstrating our commitment to security controls. Employee access to production systems is logged and monitored. For customers with strict compliance requirements, we offer self-hosted deployments where data never leaves your infrastructure, eliminating Makini as a data processor.
