



Have any questions? We’re here to help You
Makini maintains a comprehensive data model built from analyzing thousands of industrial systems. When data flows through Makini, we automatically transform it from the source system's format into our standardized structure. For example, purchase orders from SAP, NetSuite, and Dynamics all return with consistent field names, data types, and structures. This normalization happens in real-time as data passes through the API. You also have access to raw data if needed for specific use cases. The unified model covers common entities like purchase orders, work orders, inventory items, vendors, and assets, with extensive field coverage across systems.
All Makini webhooks include a signature header for verification. The signature is an HMAC hash of the webhook payload using your webhook secret as the key. To verify a webhook, compute the HMAC using your secret and compare it to the signature header using constant-time comparison to avoid timing attacks. Never process webhook data without verification, as this could expose your system to forged requests. Your webhook secret is provided when you configure webhooks and should be stored securely. Webhook verification ensures that only legitimate requests from Makini are processed by your application.
Yes, through a combination of sandbox environments, test data, and Makini Flows. For testing different data states, use sandbox connections with predefined test scenarios. For testing system behavior like delays, errors, or specific responses, you can build test workflows in Makini Flows that simulate various scenarios. For testing with actual systems, set up dedicated test instances of your target systems. During implementation, we work with you to identify critical test scenarios and ensure your testing environment supports them. For specific edge cases or unusual system configurations, we can help create custom test scenarios.
Disconnecting a connection can be done through the Makini dashboard or API. In the dashboard, navigate to the connection and select disconnect. Via API, call the disconnect endpoint with the connection ID. Disconnecting immediately invalidates the API token and stops all scheduled syncs and workflows for that connection. The connection credits used are returned to your pool and become available for new connections. Disconnecting does not delete historical data that was previously synced—that remains accessible until you choose to delete it. Customers can reconnect the same system at any time, which will create a new connection with a new API token. Use disconnection for customers who churn or when permanently retiring a connection.
