




Have any questions? We’re here to help You
Connecting to any system through Makini is straightforward. You select the product you want to connect to, log in with your credentials, and receive an API token. The process takes just a few clicks and works consistently across all 2,000+ supported systems. For most systems (85-90% of cases), you only need the instance URL, username, and password. Some systems may require additional steps like API token generation, and we provide detailed authentication guides for these cases. The connection experience is designed to be simple enough that non-technical users can complete it without IT support.
All API requests require authentication via bearer token. After successfully connecting a system through Makini's authentication module, you receive an API token. Include this token in the Authorization header of your requests: `Authorization: Bearer YOUR_API_TOKEN`. Each connection has a unique token, allowing you to manage multiple customer connections independently. Tokens remain valid as long as the underlying system credentials are valid and the connection is active. If a customer changes their system credentials, you'll need to reconnect to obtain a new token.
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.
Makini supports create, read, update, and delete (CRUD) operations, though availability varies by system and entity type. Most systems support creating and updating core entities like purchase orders, work orders, and inventory items. Read operations are universally supported across all entity types. Delete operations are less commonly supported due to system constraints—many industrial systems use soft deletes or status changes rather than true deletion. Update operations may be limited to specific fields depending on system configuration and business rules. For example, some systems prevent modifying purchase orders after approval. We recommend validating specific operation support for your use case during the technical deep dive.
