



Have any questions? We’re here to help You
Makini's unified API acts as a common denominator across all connected systems. We map each system's data structure to a standardized data model, exposing consistent endpoints regardless of the underlying platform. This means you write the same code to retrieve purchase orders from SAP, NetSuite, or Dynamics—the API calls and response formats are identical. You always get data in the same structure, making it easy to build consistent business logic. The unified approach eliminates the need to learn each system's unique API, manage multiple authentication methods, or handle varying data formats.
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.
Customers connect systems through Makini's authentication module, which provides a simple, guided connection flow. The process typically takes 2-5 minutes: Select the system from our list of 2,000+ products. Enter connection details (usually just the instance URL and credentials). Authorize the connection. Makini validates credentials and establishes the connection. The connection flow is designed for non-technical users and can be embedded directly in your application, allowing customers to connect without leaving your product. For systems requiring additional setup (like API token generation), we provide step-by-step guidance within the connection flow. Customers see real-time feedback during connection, and if any issues occur, clear error messages guide them to resolution.
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.
