# Infinidat > Infinidat is an enterprise storage vendor — a Lenovo company since April 2026 — building > petabyte-scale primary storage (InfiniBox, InfiniBox SSA), backup and rapid-recovery appliances > (InfiniGuard), and the InfiniSafe cyber-resilience layer. Every InfiniBox array serves its own > management REST API, "InfiniAPI", at https:///api/rest, alongside the InfiniShell CLI and > an HTML5 GUI. Generated by API Evangelist on 2026-08-01. Infinidat does not publish an llms.txt of its own (/llms.txt returns 404 on every Infinidat host), so this file is generated from the catalog entry and the artifacts in this repository. ## What is important to know up front - **The API is appliance-local.** There is no public Infinidat API endpoint, no hosted base URL, no free tier, no sandbox and no API keys to sign up for. The base URL is the customer's own array. Anything that claims otherwise is wrong. - **Infinidat publishes no OpenAPI.** What it does publish is a first-party Postman collection for the InfiniBox 7.3 API. The OpenAPI in this repository is an API Evangelist derivation from that collection, and says so in its `info` block. - **The reference documentation is behind a login.** support.infinidat.com is the real documentation home, but it returns 403 to non-browser clients and the InfiniBox / InfiniShell command references are customer-only PDFs. - **code.infinidat.com is dead.** It is still linked as "Developer Portal" from the infinidat.com footer, but the hostname now serves an unconfigured WP Engine 404. ## APIs - [InfiniBox REST API (InfiniAPI)](https://support.infinidat.com/hc/en-us/categories/10106041231901-Documentation): the management API served by every InfiniBox and InfiniBox SSA array — system health, readiness, capacity and statistics; hardware components (racks, nodes, ports, drives, support appliances); pools, filesystems, hosts, metadata; LDAP/AD user repositories; KMS and certificate configuration; session login/logout. Base URL `https://{infinibox_host}/api/rest`. ## Specs and machine-readable artifacts - [OpenAPI 3.1 (derived)](openapi/infinidat-infinibox-openapi.yml) — 40 operations across 38 paths, derived faithfully from the 7.3 Postman collection. - [Postman collection (first-party, verbatim)](postman/infinidat-infinibox-7-3-postman.json) — "InfiniBox 7.3 API", 47 requests, from https://github.com/Infinidat/api_7_3. - [Overlay of API Evangelist enhancements](overlays/infinidat-infinibox-overlay.yaml) — records exactly which parts of the OpenAPI are Infinidat's and which are ours. - [Authentication profile](authentication/infinidat-authentication.yml) - [API conventions](conventions/infinidat-conventions.yml) — pagination, filtering, field selection, the response envelope, the approval gate, the deprecation header. - [Error catalog](errors/infinidat-problem-types.yml) - [Data model](data-model/infinidat-data-model.yml) - [Event surface](asyncapi/infinidat-events.yml) — events, notification targets and rules. No AsyncAPI, no webhooks: push is SNMP and SYSLOG only. - [Conformance](conformance/infinidat-conformance.yml) - [Lifecycle](lifecycle/infinidat-lifecycle.yml) - [Changelog](changelog/infinidat-changelog.yml) - [Packages and SDKs](packages/infinidat-packages.yml) - [CLI (InfiniShell)](cli/infinidat-cli.yml) - [Domain security probe](security/infinidat-domain-security.yml) - [Candidate MCP tool set (derived, not published by Infinidat)](mcp/infinidat-mcp.yml) - [Agent skills](skills/_index.yml) ## Calling conventions an agent must know - Every response is `{ "result": ..., "metadata": {...}, "error": null }`. Read from `result`. - Pagination: `?page=1&page_size=1000` (default 50, max 1000); `metadata` carries `page`, `page_size`, `pages_total`, `number_of_objects`, `ready`. - Field selection: `?fields=id,size,name`. Sorting: `?sort=created_at`, `-` to reverse. - Filtering: prefixed operators on the query param — `?name=eq:my-volume`, `?type=ne:SNAPSHOT`, `?name=like:Database`, plus range and membership comparisons. - Auth: `POST /users/login` for a session cookie, or HTTP Basic. A 401 on a previously authenticated request means the session expired — re-login once, then retry. - **Approval gate (the human-in-the-loop primitive):** high-consequence operations fail with `error.code` = `APPROVAL_REQUIRED` or `APPROVAL_REQUIRED_VOLUME_HAS_CHILDREN` and a reason on `error.reasons[0]`. Surface that reason to a human, then re-issue the identical request with `?approved=true`. - **No idempotency key exists.** Retrying a mutating request may duplicate its effect. Re-read state before re-issuing any write. - Cross-array (replication) operations return 403 with `REMOTE_PERMISSION_REQUIRED`; supply the peer's credentials on `X-Remote-Authorization` (Basic). - Watch `X-INFINIDAT-VERSION` (which API version the array serves) and `x-infinidat-deprecated-api` (a per-response deprecation warning). ## SDKs and automation - [InfiniSDK (Python)](https://pypi.org/project/infinisdk/) — the official SDK. `pip install infinisdk`. Docs: https://infinisdk.readthedocs.io/en/latest/ - [Ansible collection infinidat.infinibox](https://galaxy.ansible.com/ui/repo/published/infinidat/infinibox/) — 21 modules; `ansible-galaxy collection install infinidat.infinibox`. This is where declarative idempotency lives in the Infinidat ecosystem. - [InfiniBox CSI driver](https://github.com/Infinidat/infinibox-csi-driver) — Kubernetes, Apache-2.0. - [OpenStack Cinder driver](https://github.com/Infinidat/infinidat_openstack) ## Docs - [Support portal](https://support.infinidat.com/hc/en-us) - [Documentation category](https://support.infinidat.com/hc/en-us/categories/10106041231901-Documentation) - [InfiniSDK user's guide](https://infinisdk.readthedocs.io/en/latest/) - [Getting started with InfiniSDK](https://infinisdk.readthedocs.io/en/latest/getting_started.html) - [Efficient querying (the query-convention reference)](https://infinisdk.readthedocs.io/en/latest/efficient_querying.html) - [GitHub organization](https://github.com/Infinidat) - [Application repository](https://repo.infinidat.com/) ## Company - [Website](https://www.infinidat.com/en) - [Products](https://www.infinidat.com/en/products-technology) - [Blog](https://www.infinidat.com/en/blog) ([RSS](https://www.infinidat.com/en/rss.xml)) - [Resources](https://www.infinidat.com/en/resource) - [Contact](https://info.infinidat.com/contact_us.html) - [Privacy policy (PDF)](https://www.infinidat.com/sites/default/files/resource-pdfs/Infinidat-Privacy-Policy.pdf) - [Customer product online terms (PDF)](https://www.infinidat.com/en/sites/default/files/resource-pdfs/INFINIDAT-Customer-Product-Online-TCs.pdf) ## Known gaps - No OpenAPI, no AsyncAPI, no webhooks, no GraphQL, no gRPC/protobuf, no MCP server, no A2A agent card, no /.well-known/ discovery surface, no security.txt, no public vulnerability-disclosure policy, no public trust center, no public status page, no public API changelog, no sandbox. - Public API reference documentation is login-walled; the full error-code and event-code registries are not published.