Version 8.4.6

Overview

INFINIDAT InfiniBox RESTful API provides programmatic access to the InfiniBox storage system. Use the APIs to access the system components and entities, create and edit entities and perform storage operations.

Terminology

All the resources and methods mentioned here are public; that is, are available for use by end-users.

Request headers

The client sends the InfiniBox a request with the following headers:

Protocol Basics

This section covers the structure of the supported requests, and their responses. We'll start from the response.

Data structure

The API uses the JSON protocol. The JSON protocol comprises the following data types:

CRUD operations

The following HTTP methods create, read, update and delete InfiniBox objects and collections. For example:
Operation Syntax Body structure Response structure
Create an entity POST /collection Required The created entity
Read an entity GET /collection/<id> - The read entity
Read all entities GET /collection - A paginated list of entities
Update an entity PUT /collection/<id> Required The updated entity
Delete an entity DELETE /collection/<id> - The deleted entity

Storage operations other than CRUD

The following table specifies the details of some storage operations - other than CRUD - that are available in InfiniBox RESTful API.

Operation Syntax Body structure Response structure
Lock a pool POST api/rest/pools/{pool_id}/lock
Where pools is the name of the collection and pool_id is an object within this collection.
- The entity, with a change to one of its fields: "state": "LOCKED"
Get a list of the pool's administrators POST api/rest/pools/{pool_id}/all_admins - A list of the pool's administrators.

Response to a request

Each response returns a JSON-encoded object in the HTTP body, which contains 3 attributes:

Successful request

A response to a request that ended successfully contains the following: