




Have any questions? We’re here to help You
API tokens must be stored securely and should never be exposed on the client side or in public repositories. Store tokens in secure environment variables or dedicated secrets management systems like AWS Secrets Manager, HashiCorp Vault, or Azure Key Vault. Never hardcode tokens in application code or commit them to version control. Implement proper access controls so only authorized services can access stored tokens. For production environments, use separate tokens from development/testing environments. Rotate tokens periodically and immediately revoke tokens if you suspect they've been compromised. Makini tokens provide access to customer data, so treat them with the same security standards you'd apply to database credentials.
Makini Flows is our embedded workflow automation platform, built on n8n, which we consider the best workflow automation tool available. It's fully integrated into Makini and runs on our infrastructure. Flows allows you to build complex integration logic using a visual workflow builder—no code required, though code is supported for advanced use cases. Workflows can be triggered by schedules, webhooks, API calls, or events from connected systems. You can perform data transformations, implement conditional logic, call external APIs, and orchestrate multi-step processes. Flows includes over 1,000 pre-built connectors beyond Makini's industrial systems, enabling integrations with databases, messaging platforms, cloud services, and more. Most customer activations are completed using Flows due to its flexibility and ease of use.
Yes, you can trigger syncs manually through both the API and the Makini dashboard. The API provides endpoints to initiate syncs for specific entities (purchase orders, work orders, etc.) on a given connection. Manual syncs are useful when you need immediate data updates outside the regular schedule, when onboarding new customers, or when recovering from sync failures. Manual syncs follow the same incremental logic as scheduled syncs, retrieving only changed records since the last successful sync. You can also trigger full re-syncs that ignore the last sync timestamp and retrieve all records within the configured historical period.
The `RATE_LIMIT_EXCEEDED` error indicates you've exceeded the API rate limit for the connection or account. Rate limits are typically set per connection and per time window (usually per minute). When you hit a rate limit, the response includes a `Retry-After` header indicating when you can retry the request. Implement exponential backoff in your retry logic to avoid immediately hitting the limit again. If you consistently hit rate limits, review your API usage patterns—you may be making unnecessary requests, polling too frequently, or could benefit from webhook-based synchronization. For legitimate high-volume needs, contact us to discuss increasing your rate limits.
