




Have any questions? We’re here to help You
Yes, Makini supports both cloud-based and on-premises systems. For on-premises installations, connections require double the connection credits compared to cloud systems. The connection process typically requires opening specific ports and whitelisting Makini's IP addresses in your firewall configuration. For some on-premises systems, VPN tunnels may be necessary. We provide detailed technical requirements during implementation planning. In cases where security policies prohibit external connections, we offer self-hosted deployment options where Makini runs entirely within your infrastructure, eliminating the need for external network access to on-premises systems.
Makini uses standard HTTP status codes and structured error responses. Error responses include an error code (e.g., `AUTHENTICATION_FAILED`, `RATE_LIMIT_EXCEEDED`), error type for categorization, a human-readable error message, and a unique request ID for support inquiries. Common status codes include 400 for invalid requests, 401 for authentication failures, 403 for permission issues, 429 for rate limiting, 500 for server errors, and 503 for service unavailability. Use the error code for programmatic error handling rather than parsing error messages. The request ID helps our support team quickly identify and investigate specific issues.
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.
Makini maintains API stability and provides advance notice of breaking changes. The current API version is v1. When we introduce breaking changes, we release a new API version while maintaining the previous version for a transition period (typically 12 months minimum). Non-breaking changes (like adding new fields or endpoints) are introduced into the current version without requiring updates. We announce upcoming version changes through multiple channels: email notifications, dashboard announcements, and release notes. API responses include version information in headers. We recommend specifying the API version explicitly in your requests to ensure consistent behavior. During version transitions, we provide migration guides and support for updating integrations.
