Infinidat · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Infinidat InfiniBox REST API

10 actions 10 updates documentation extends openapi/infinidat-infinibox-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Infinidat's API. It is a proposal applied on top of the contract, not a document Infinidat publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessdescriptionx-apievangelist-profilex-apievangelist-derivationx-agent-notes

Targets 9

$.info
$.paths['/users/login'].post
$.paths['/system/health_state'].get
$.paths['/system/ready'].get
$.paths['/hosts'].post
$.paths['/system/kms/set_configuration'].put
$.paths['/system/kms/upload_infinibox_certificate_and_key'].post
$.paths['/config/ldap/{ldap_id}'].put
$.paths['/metadata/{object_id}'].put

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Infinidat InfiniBox REST API
  version: 1.0.0
extends: openapi/infinidat-infinibox-openapi.yml
x-generated: '2026-08-01'
x-method: generated
x-source: >-
  Enhancements API Evangelist added on top of Infinidat's own InfiniBox 7.3 Postman collection.
  The base OpenAPI is itself a faithful conversion of that collection; this overlay records the
  parts that are our editorial contribution, so the two can always be told apart.
actions:
- target: $.info
  update:
    x-apievangelist-profile: https://apis.io/providers/infinidat/
    x-apievangelist-derivation:
      base: postman/infinidat-infinibox-7-3-postman.json
      base_source: https://github.com/Infinidat/api_7_3
      converted: '2026-08-01'
      faithful:
      - paths, methods and request bodies carried over verbatim
      - saved 200 example responses carried over verbatim (bodies over 8KB omitted for size)
      - query-string values present in the collection kept as parameter examples
      editorial:
      - >-
        Path variables were renamed from the collection's test-fixture names to their resource
        names ({{firstRackId}} to {rack_id}, {{firstLdapId}} to {ldap_id}, {{firstSaId}} to
        {support_appliance_id}, and {{activeNodeId}}/{{Node1Id}}/{{Node2Id}}/{{Node3Id}} to
        {node_id}). This collapsed five node fixtures onto one real path; the original request
        names are preserved on x-collection-aliases.
      - >-
        The page / page_size / fields / sort query parameters documented in Infinidat's
        efficient-querying guide were attached to every GET. They are documented API behaviour,
        not per-request behaviour, so they do not appear on individual collection requests.
      - >-
        A 401 response was attached to every operation, inferred from InfiniSDK's documented
        re-login-on-401 handling. The collection carries no saved error responses.
      - >-
        The InfiniBoxEnvelope / InfiniBoxMetadata / InfiniBoxError component schemas were written
        from the shape of the collection's saved 200 examples.
      - >-
        The basicAuth and sessionCookie security schemes were written from InfiniSDK's documented
        authentication model and from the collection's /users/login and /users/logout requests.
      not_included:
      - >-
        One collection request ("Login with OKTA SSO") targets an external Okta tenant rather than
        the array, and was excluded from the InfiniBox spec.
- target: $.info
  update:
    x-agent-notes:
      approval_gate: >-
        High-consequence operations return an error code of APPROVAL_REQUIRED or
        APPROVAL_REQUIRED_VOLUME_HAS_CHILDREN with a human-readable reason on error.reasons[0].
        The caller must re-issue the identical request with ?approved=true. An agent must surface
        that reason to a human before setting approved=true - this is InfiniBox's built-in
        human-in-the-loop primitive.
      no_idempotency: >-
        There is no idempotency-key contract. Retrying a mutating request may duplicate the effect.
      deprecation_header: >-
        Watch the x-infinidat-deprecated-api response header; it carries a per-response
        deprecation message.
      appliance_local: >-
        The base URL is the customer's own array. There is no public endpoint, no sandbox, and no
        rate-limit contract.
- target: $.paths['/users/login'].post
  update:
    description: >-
      Establishes a session against the array. InfiniSDK re-invokes this transparently when a
      previously authenticated request returns 401. Credentials are the InfiniBox local user or a
      user resolved through a configured LDAP / Active Directory repository.
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
- target: $.paths['/system/health_state'].get
  update:
    x-agentic-access:
      action-class: connected
      consequence: read
- target: $.paths['/system/ready'].get
  update:
    x-agentic-access:
      action-class: connected
      consequence: read
- target: $.paths['/hosts'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
- target: $.paths['/system/kms/set_configuration'].put
  update:
    description: >-
      Sets the external key-management configuration for encryption at rest. Misconfiguring this
      can render encrypted data unreadable.
    x-agentic-access:
      action-class: acting
      consequence: safety-critical
      human-in-the-loop: required
      audit: required
- target: $.paths['/system/kms/upload_infinibox_certificate_and_key'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: safety-critical
      human-in-the-loop: required
      audit: required
- target: $.paths['/config/ldap/{ldap_id}'].put
  update:
    x-agentic-access:
      action-class: acting
      consequence: safety-critical
      human-in-the-loop: required
      audit: required
      note: Changing a user repository can lock every administrator out of the array.
- target: $.paths['/metadata/{object_id}'].put
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required