




CGI ARM Suite (Asset & Resource Management) is a platform tailored for utilities and large-scale operations, combining asset management, workforce/resource optimisation and mobile field execution to support complex infrastructure work.
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.
Makini is SOC 2 Type 2 compliant and undergoes penetration testing twice annually. We use industry-standard encryption protocols including TLS 1.2+ for data in transit and AES-256 for data at rest. Customer credentials are encrypted using secure key management practices. Our infrastructure follows security best practices including network segmentation, access controls, and regular security audits. For highly regulated industries or customers with strict compliance requirements, we offer self-hosted deployment options that keep all data within your infrastructure. We've successfully met security requirements for enterprises including financial institutions and government contractors.
Makini uses cursor-based pagination for retrieving large datasets. API responses include a `next_cursor` field when additional results are available. To retrieve the next page, include the cursor value in your next request: `GET /api/v1/purchase-orders?cursor=CURSOR_VALUE`. Cursor-based pagination is more reliable than offset-based pagination because it handles data changes between requests—if records are added or deleted while you're paginating, you won't miss records or see duplicates. Page size is configurable up to a maximum limit (typically 100-500 records per page depending on entity type). For optimal performance, use the largest page size your application can handle efficiently. The API response also includes total count when available from the source system.
When a system becomes unavailable, Makini detects the connectivity failure and marks the connection status accordingly. Scheduled syncs will fail with connectivity errors. API requests to the connection will return error responses indicating the system is unreachable. Makini continues attempting scheduled syncs using exponential backoff—initial retries happen frequently, then progressively less often to avoid overwhelming the system when it comes back online. Webhooks notify you of the connection status change. When the system comes back online, normal operations resume automatically. For temporary outages, no action is required. For extended outages, you may want to notify the customer. Connection credits remain consumed during outages since the connection configuration persists.
