Overview Protocol Basics Entities states API Reference InfiniBox Management API 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 InfiniBox - The INFINIDAT storage system that is queried and posted to through the InfiniBox RESTful API. Entity - A logical entity that represents a portion or component of the InfiniBox business logic. For example, pool, volume, host, etc. Object - In REST terminology, the InfiniBox entity is an Object, a data structure with a known set of fields. The RESTful API request operates on, or returns, the data of an object. For the data structure of an object – see the next section. Collection - An array of entities that is requested by an API request, along with possible support for filtering, sorting, field selection, pagination, and other common functions. For example, all of the pools in an InfiniBox system, or some of the pools in an InfiniBox system that meet a certain criteria. For the data structure of a collection – see the next section. 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: Content-Type: application/json 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: Null - null (only one value) Boolean - true or false Number - Numeric values, e.g: 123456 String - Characters, enclosed in quotes, e.g: "some text" Object - A JSON object is a container of fields and values. Objects may contain nested objects. For example: { "age": 42, "name": "Joe", "is_married": true, "children_ids": [2, 5, 4], "job_id": null, "metadata": { "religion": "PASTAFARIANISM", "political_affiliation": null } } 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/ - The read entity Read all entities GET /collection - A paginated list of entities Update an entity PUT /collection/ Required The updated entity Delete an entity DELETE /collection/ - 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: result - the actual data returned by the request. May be null in case of error, or if the data is not available yet. metadata - additional information about the result, such as the pagination data and so on. error - in case of an error, contains the error code and human-readable error message. Otherwise it is null. Successful request A response to a request that ended successfully contains the following: The result part returns data (in this case: role, email and uid of two users). The metadata returns details about the result: ready means that the request ended successfully and a new request can be sent. The other metadata provides details about the number of objects that were returned, and the way the result is paginated The error part returns null, as the request ended successfully. { "result": [ { "role": "ADMIN", "email": "alice@example.com", "uid": "alicia" }, { "role": "ADMIN", "email": "bob@example.com", "uid": "bob" } ], "metadata": { "ready": true, "number_of_objects": 2, "page_size": 50 "pages_total": 1, "page": 1, }, "error": null } A request that ends with an error Here is a sample response from a request that ended with an error: The result part returns null, as the request was not answered. The metadata part returns the following details about the result: ready means that the request ended successfully and a new request can be sent. No information about returned objects, as no objects were returned. { "result": null, "metadata": { "ready": true }, "error": { "message": "You must authenticate", "code": "AUTHENTICATION_REQUIRED" }, } Adding dangerous operations to API code Dangerous operations are operations that create a risk of downtime or user interference. These operations require explicit approval to make sure the user does not perform them by accident. Such operations are deleting an entity from a collection, or removing an association between entities. For example, deleting a host and removing a host from a cluster are operations that are considered to be dangerous and require an additional user approval. A dangerous operation is approved by adding the string approved=yes at the end of the request. Examples: DELETE api/rest/hosts/host_id?approved=yes POST api/rest/clusters/cluster_id/hosts/host_id?approved=yes Attempting to run a dangerous operation without explicit approval will return an error: APPROVAL_REQUIRED Authentication All API requests must be accompanied by an Authorization header containing a Base64-encoded username:password pair (HTTP basic authentication). Otherwise, an HTTP 401 error is returned. The only exception is the login request, which purpose is to check whether a given username and password pair is valid. The structure of the collection When requesting a collection of objects (for example, all volumes for a pool, or all volumes in the system), the result can span over hundreds of objects and thousands of lines. In order to enhance its readability, the following response attributes can be set as part of the GET request: Pagination - how many objects are displayed on each page Filter - which of the collection object will be displayed in the response Sort - how the objects are sorted Fields - which of the object fields is included in the response Pagination For ease of readability, the objects that the response returns are paginated. The default pagination is 50 objects per page. You can change the pagination by specifying two parameters: page_size - The number of entities on each page. page - The number of the page that is displayed on screen. Example 1: default pagination of GET api/rest/volumes GET request api/rest/volumes Response { "result": [ { "id": 1, "name": "vol-01", ... ... ... }, { "id": 2, "name": "vol-02", ... ... ... }, ... ... ... } Metadata "metadata": { "ready": true, "page": 1, "number_of_objects": 15, "page_size": 50, "pages_total": 1 } Page As there are 15 objects in the response, and the size of a page is 50 objects, there is only one page. Number of objects The number of objects in the collections. This number is not affected by the pagination. Page size 50 objects per page. Example 2: 3 volumes per page, displaying the second page GET request api/rest/volumes?page_size=3&page=2 Response As there are 3 volumes per page, the 2nd page displays the 4th, 5th and 6th volumes. { "result": [ { "id": 4, "name": "vol-04", ... ... ... }, { "id": 5, "name": "vol-05", ... ... ... }, { "id": 6, "name": "vol-06", ... ... ... }, ... ... ... } Metadata "metadata": { "ready": true, "page": 2, "number_of_objects": 15, "page_size": 3, "pages_total": 5 } Page As requested, this response includes page 2. Number of objects The number of objects in the collections. This number is not affected by the pagination. Page size As requested, there are 3 objects per page. Filtering Some responses can be filtered, so that only specific objects will be returned. For such responses, you can filter the returned objects by stating a valid value to one of their attributes. You can filter the InfiniBox volumes by many of their attributes, for example their type (a Master, Snap, or Clone). Simple filtering example Setting a filter is done by specifying the filter argument (attribute and value). In the following example, only Master volumes are returned. api/rest/volumes?type=master If the field and values are set incorrectly, the following error messages are returned: ATTRIBUTE_NOT_FOUND - The attributes could not be found. Resolve this error by making sure that the attribute indeed exists for this entity. For example, that the volume does have a type attribute. MALFORMED_PARAMETER - The value of the attribute is illegal. Resolve this problem by making sure that the attribute you filter the response with, is legal. For example, that type accepts master. You can use the following operators in order to filter the response: Operator Acceptable value Examples eq number/string api/rest/volumes?pool_id=eq:134 neq number/string api/rest/events?visibility=neq:customer is null To find all volumes that are not members of a consistency group (that is, whose cg_id value is null), use: api/rest/volumes?cg_id=is:null isnot null To find all volumes that are members of any consistency group (that is, whose cg_id value is not null), use:api/rest/volumes?cg_id=isnot:null lt number/string api/rest/events?timestamp=lt:2000000000000 leq number/string api/rest/volumes?pool_id=leq:646 gt number/string api/rest/volumes?pool_id=gt:646 geq number/string api/rest/events?timestamp=geq:2000000000000 in list Input list is val1, val2,.. which can be enclosed with () or [] or not enclosed at all. notin list Input list is val1, val2,.. which can be enclosed with () or [] or not enclosed at all. between list A list of exactly two items, e.g. [5,10]; the filter is inclusive, equivalent to x >= 5 AND y <= 10. like string Searches for a field containing the value (case-insensitive). "like:ny" on {MEENY, MINY, MOE, nyc} returns {MEENY, MINY, nyc} Notes: When filtering on more than one field, the conditions are joined. Unless otherwise stated, string comparisons are case insensitive. Sorting For most of the available collections, the objects can be sorted by one or more fields. The sorting is done according to order of the fields (from left to right). The syntax for sorting is as follows: api/rest/collection?sort=[,] The default sorting order is ascending. To specify a descending order, add a minus sign (-) before the field name. For example: /api/rest/events?sort=-level,timestamp The specific fields that can be used depend on the objects in question. Please refer to the documentation of each request for the list of valid fields. Choosing Which Fields to Get By default, requests that return objects will return all the fields of each object. If you are interested in only a few fields from the object, you can use the fields query parameter in order to "pluck" them from the objects and omit all other fields. This parameter should contain a comma-separated list of field names. For example: GET /api/rest/events?fields=id,uuid The response: { "error": null, "result": [ { "id": 1, "uuid": "a469575e-acd9-435f-bc5f-79ada0bc6add" }, { "id": 2, "uuid": "326be807-6550-472a-9c68-b03f4b5171fa" }, { "id": 3, "uuid": "799355fe-c529-4482-a2cc-ab672dffc6d5" }, ... ], "metadata": { ... } } The fields query parameter is supported by all API methods that are tagged as "pluckable". Note that passing a non-existent field name is not an error; it simply won't be returned for any object that doesn't have such a field. List of Metadata Keys Below is a list of all keys that can appear in the response metadata object. Key Presence Description ready always In most cases this will be true. If an asynchronous operation was requested, this will be false while the background operation is under way. result_url only when ready=false In case of an asynchronous operation whose results are not ready yet, this is the URL to poll for the results. page only for paginated lists The page that was requested. pages_total only for paginated lists The total number of pages in the list. page_size only for paginated lists The number of objects to return per page. number_of_objects only for paginated lists The total number of objects in the list. List of API Error Codes Successful GET request OK 200 Successful post request Created 201 The response contains the created object. Request error UNKNOWN_PARAMETER 400 The request contains a parameter that is not part of the collection / object. MALFORMED_PARAMETER 400 The value of the parameter is invalid. MALFORMED_CONTENT 400 The request contains wrong content. MALFORMED_REQUEST 400 The request contains wrong headers. WRONG_PARAMETER 400 The request contains a parameter is not part of the collection / object. MISSING_QUERY_PARAMETER 400 A manadatory parameter is missing from the request. MISSING_FIELD 400 A manadatory parameter is missing from the request. MISSING_CONTENT 400 The request contains insufficient information for responding. UNSUPPORTED_FIELD 400 The resource or service cannot accept a specified field or property MAX_PAGE_SIZE_VIOLATION 400 The requested page_size is too large (>1000) NOT_FOUND 404 Object not found. UNKNOWN_PATH 404 Requsted service does not exist. CONFLICT 409 The request conflicts with already existing collections (for example when trying to create an object that already exists). Approval required APPROVAL_REQUIRED 403 The operation requires a specific user-approval. Authentication errors AUTHENTICATION_REQUIRED 401 The authentication headers are missing or invalid. UNAUTHORIZED 403 The user is not authorized to perform the requested action. Other errors RECONFIGURING HTTP 307 The system is currently reconfiguring, and cannot respond temporarily. Request should be retried in a few seconds. ILLEGAL_NODE_STATE HTTP 409 The requested node is not the master node. OPERATION_DENIED_CLUSTER_NOT_FULL HTTP 409 Cluster is not full or node in joining state. NOT_SUPPORTED_IN_SYSTEM_STATE HTTP 409 The request is not valid for the current system state. INTERNAL_SERVER_ERROR HTTP 500 Internal server error. Refer to the documentation of specific API methods for information about additional error codes that they may return. Entities states This section covers the different entities states General physical states Below is a list of all possible physical states of all entities State Description OK The component state is OK MISSING The component is not seen by InfiniBox. The component might be physically missing (not installed) or failed in a way it is not recognized. WARNING A WARNING state means that an action needs to take place, however it is not urgent and there is no risk to the system availability. Examples: drive failure, FC port errors, drive medium errors, user login failure, etc. ERROR An ERROR state means that an immediate action is required in order to bring the system back to a fully functional state. Examples: node failure, port failure, Replication link disconnection, very low pool free space, etc. UNKNOWN The system cannot determine the state of the component, e.g. it can communicate with the component, but the response is not expected or not valid. Enclosure drive logical states Below is a list of all possible logical states of enclosure drives State Description ACTIVE Drive is active and part of the system FAILED Drive is marked as failed by the system MISSING Drive is missing or the system is unable to determine its state. PHASING_OUT Drive is in the process of gracefully retiring from a system READY Drive is ready to join the system (but is not yet part of the system) TESTING Drive is being tested UNKNOWN The system cannot determine the state of the component, e.g. it can communicate with the component, but the response is not expected or not valid. Nodes logical states Below is a list of all possible logical states of nodes State Description READY The node is ready to join the system (but is not yet part of the system). ACTIVE The node is active and part of the system. INACTIVE The node is not active. DEGRADED The node is partially active. One or more of its subsystems (Management, FC, etc.) is down. DEACTIVATING The node is in the process of gracefully retiring from a system. At the end of the deactivation, the node will be in the READY state. Note that the node will not be powered-off. ACTIVATING The node is in the process of joining a live system. At the end of the activation, the node will be in an ACTIVE state. API Reference Active Directory Join a Domain Description Join an Active Directory domain API Endpoint POST api/rest/activedirectory/domains URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "username": "domain-admin-name", "preferred_ips": [ "192.168.1.1" ], "domain": "ad.local.infinidat.com", "password": "domain-admin-password", "org_unit": "" } Returns { "metadata": { "ready": true }, "result": { "preferred_ips": [ "172.20.59.86" ], "domain": "ad.local.infinidat.com", "gid_attribute_name": "", "max_translated_groups": null, "tenant_id": 1, "unix_services_enabled": false, "org_unit": "CN=Computers,OU=QA,DC=infinidat,DC=com", "uid_attribute_name": "" }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('password') is missing in an object passed MALFORMED_PARAMETER HTTP 400 A parameter ('org_unit') could not be translated to an expected type INVALID_IP_ADDRESS HTTP 400 IP address '172.168.a.b' is invalid. A preferred IP must be a valid IPv4 address or a valid domain name UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('email') UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges ACTIVE_DIRECTORY_DOMAIN_NAME_TOO_LONG HTTP 409 The Active Directory domain name is too long ACTIVE_DIRECTORY_PREFERRED_IPS_COUNT_LIMIT HTTP 409 The number of Active Directory domain controllers exceeds the limit of 10 ACTIVE_DIRECTORY_DOMAIN_NAME_INVALID HTTP 409 The Active Directory domain name is not valid ACTIVE_DIRECTORY_ADMIN_PASSWORD_TOO_LONG HTTP 409 The Administrator account password is too long ACTIVE_DIRECTORY_ADMIN_USERNAME_TOO_LONG HTTP 409 The Administrator account name is too long ACTIVE_DIRECTORY_ADMIN_CREDENTIALS_INVALID HTTP 409 Join Active Directory domain 'ad.local.infinidat.com' failed: Incorrect administrator credentials NAS_NETWORK_SPACE_NOT_DEFINED HTTP 409 A NAS network space must be defined to complete this operation ACTIVE_DIRECTORY_ALREADY_JOINED HTTP 409 This system has already joined Active Directory 'ad.local.infinidat.com' ACTIVE_DIRECTORY_JOIN_DOMAIN_FAILED HTTP 409 Failed to join Active Directory domain 'ad.local.infinidat.com': Cannot authenticate with the domain, probably because the system's machine account in the domain is faulty. Leave the Domain Description Leave the Active Directory domain Approval required This is a dangerous operation Leaving Active Directory domain 'domain' will deny further access for domain users API Endpoint POST api/rest/activedirectory/domains/leave URL Parameters force boolean Roles ADMIN, INFINIDAT System States ALL JSON Data { "username": "domain-admin-name", "password": "domain-admin-password" } Returns { "metadata": { "ready": true }, "result": "OK", "error": null } Errors MISSING_FIELD HTTP 400 A field ('password') is missing in an object passed APPROVAL_REQUIRED HTTP 403 Leaving Active Directory domain 'ad.local.infinidat.com' will deny further access for domain users ACTIVE_DIRECTORY_LEAVE_DOMAIN_FAILED HTTP 409 Failed to leave Active Directory domain 'ad.local.infinidat.com': Cannot authenticate with the domain, probably because the system's machine account in the domain is faulty. ACTIVE_DIRECTORY_ADMIN_CREDENTIALS_INVALID HTTP 409 Leave Active Directory domain 'ad.local.infinidat.com' failed: Incorrect administrator credentials ACTIVE_DIRECTORY_NOT_JOINED HTTP 409 This system has not joined any Active Directory domain ACTIVE_DIRECTORY_ADMIN_USERNAME_TOO_LONG HTTP 409 The Administrator account name is too long ACTIVE_DIRECTORY_ADMIN_PASSWORD_TOO_LONG HTTP 409 The Administrator account password is too long Query Domain User Description Lookup an Active Directory user API Endpoint GET api/rest/activedirectory/domains/user_query URL Parameters username String sid String uid Integer Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "username": "jsmith@customer.com", "uid": 3456, "tenant_id": 1, "gsid": "S-1-5-21-11111-22222-33333-5001", "gid": 5432, "sid": "S-1-5-21-11111-22222-33333-84563", "name": "John Smith" } ], "error": null } Errors WRONG_PARAMETER HTTP 400 The value (-10) of parameter 'uid' does not meet a condition: 'uid > 0' INVALID_SID_VALUE HTTP 409 'A-not-valid-1234' is not a valid SID. Change it in the Active Directory user query field 'sid' Query the Domain Description Query the Active Directory domain details API Endpoint GET api/rest/activedirectory/domains URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "preferred_ips": [ "172.20.59.86" ], "domain": "ad.local.infinidat.com", "gid_attribute_name": "", "max_translated_groups": null, "tenant_id": 1, "unix_services_enabled": false, "org_unit": "CN=Computers,OU=QA,DC=infinidat,DC=com", "uid_attribute_name": "" }, "error": null } Errors See general list of error codes. Set Max Translated Groups Description Set the Max Translated Groups of the UNIX Services for the Active Directory domain API Endpoint POST api/rest/activedirectory/domains/set_max_translated_groups URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data {} Returns Errors MALFORMED_CONTENT HTTP 400 The request content is malformed Set Preferred Ips Description Set the Preferred IPs of the Active Directory domain API Endpoint POST api/rest/activedirectory/domains/set_preferred_ips URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data [ "172.168.1.100", "172.168.2.200" ] Returns { "metadata": { "ready": true }, "result": { "preferred_ips": [ "172.20.59.86" ], "domain": "ad.local.infinidat.com", "gid_attribute_name": "", "max_translated_groups": null, "tenant_id": 1, "unix_services_enabled": false, "org_unit": "CN=Computers,OU=QA,DC=infinidat,DC=com", "uid_attribute_name": "" }, "error": null } Errors INVALID_IP_ADDRESS HTTP 400 IP address '172.168.x.y' is invalid. A preferred IP must be a valid IPv4 address or a valid domain name ACTIVE_DIRECTORY_PREFERRED_IPS_COUNT_LIMIT HTTP 409 The number of Active Directory domain controllers exceeds the limit of 10 ACTIVE_DIRECTORY_NOT_JOINED HTTP 409 This system has not joined any Active Directory domain ACTIVE_DIRECTORY_SET_PREFERRED_IPS_FAILED HTTP 409 Failed to set the domain controllers for Active Directory domain 'ad.local.infinidat.com': Cannot authenticate with the domain, probably because the system's machine account in the domain is faulty. Set Unix Services Description Set the UNIX Services for the Active Directory domain Approval required This is a dangerous operation Disabling UNIX services may cause some cross-protocol clients to lose access to the filesystem API Endpoint POST api/rest/activedirectory/domains/set_unix_services URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "unix_services_enabled": true } Returns { "metadata": { "ready": true }, "result": { "preferred_ips": [ "172.20.59.86" ], "domain": "ad.local.infinidat.com", "gid_attribute_name": "gidNumber", "max_translated_groups": 16, "tenant_id": 0, "unix_services_enabled": true, "org_unit": "CN=Computers,OU=QA,DC=infinidat,DC=com", "uid_attribute_name": "uidNumber" }, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed PARAMETER_CONFLICT HTTP 400 Parameter 'gid_attribute_name' does not meet a condition: 'must contain only printable US-ASCII characters' WRONG_PARAMETER HTTP 400 The value (2049) of parameter 'max_translated_groups' does not meet a condition: 'must be between 1 and 2048' APPROVAL_REQUIRED HTTP 403 Disabling UNIX services may cause some cross-protocol clients to lose access to the filesystem ACTIVE_DIRECTORY_NOT_JOINED HTTP 409 This system has not joined any Active Directory domain Certificates Generate Csr Description Generate CSR API Endpoint POST api/rest/system/certificates/generate_csr URL Parameters none Roles ADMIN, INFINIDAT, TECHNICIAN System States ALL JSON Data { "SANDNS": [ "*.url.infinidat.com", "infinidat.com", "short.co", "*.cdn1.com", "client.infinidat.example.com" ], "C": "IL", "SANIP": "", "L": "Location", "ST": "State" } Returns { "metadata": { "ready": true }, "result": "-----BEGIN CERTIFICATE REQUEST-----\nMIIDLjCCAhgCAQAwcTELMAkGA1UEBhMCSUwxDjAMBgNVBAgMBVN0YXRlMREwDwYD\nVQQHDAhMb2NhdGlvbjEYMBYGA1UECgwPSW5maW5pZGF0LCBMdGQuMSUwIwYDVQQD\nDBxpYm94MDEyLmxhYi5pbC5pbmZpbmlkYXQuY29tMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEApoDKbE8NLtF9mYRonjxJQKOUSMNOgulhaBrQ5BVazXnf\n56JqMBO6w5hvJnAAjqLW1yX8GUnO8wQlQiH2ith9g0ZNPb2FIyDSj87Dv11YekAP\ndXXipmgy6u/PO//aLuYEtBjJeGE6xCMrCklmQtOfdOqGa+osnzBEiWXDlpxi302E\nFmg56DiCCwWNltHTRZcaML9pVaQk4DWDoLKH2G0XDkN9sMbBE3Xwwj/iG7M7PACs\nt5HBRveQU7XQRX+A4NSyTiOAQuG8g5SKBGhEMcHqqVRkhpZypL7hmRMlHX1TrHsE\n48RAHAM8HX0hqyvIjrbdlB2A5PdwGXLLgG4CTcJQRQIDAQABoHoweAYJKoZIhvcN\nAQkOMWswaTBnBgNVHREEYDBeghMqLnVybC5pbmZpbmlkYXQuY29tgg1pbmZpbmlk\nYXQuY29tgghzaG9ydC5jb4IKKi5jZG4xLmNvbYIcY2xpZW50LmluZmluaWRhdC5l\neGFtcGxlLmNvbYcErBEAATALBgkqhkiG9w0BAQsDggEBABAwyGTmD2xV88KUr2or\nyaZVVlmfarYmsZjqH68LkCeaNbYIV+ocInNXgXylNdJw5+R1aqctFijXKgSoDU4Y\nXCvC5E9OkkYRg7OnsJJ3WQoAXWA88QE7z+5zv8nIGH2p3W7uUJqYTbjJ4h+raj1b\nhWt9F7il7iLIXwAEcrJz0R12LMa9wH+m4dUpnKBalDD1wOmx81Az+YqV3jUQk9aQ\n+pYmSYLLKZ0P0G1l+RRspqeEN3bV/V7kl2vxLZi+jeKiXDjq3KOdSMHU1pvNWexo\ne/0BRUL9UvCH6Qh+jExP8BVA84wDhLhh0JAM1bdhD5RubyG+IX+Pz8PwUjs/WZva\nvCM=\n-----END CERTIFICATE REQUEST-----\n", "error": null } Errors INVALID_CHARACTERS_IN_DOMAIN_NAME HTTP 400 Invalid domain name INVALID_IP_ADDRESS HTTP 400 IP address '1.2.3' is invalid. Invalid IP address found in the list UNKNOWN_PARAMETER HTTP 400 An unknown parameter was passed: 'UNKNWOWN_' MALFORMED_CONTENT HTTP 400 The request content is malformed UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Generate Self Signed SSL Certificate Description Generate self-signed certificate Approval required This is a dangerous operation Generating a self-signed certificate will reduce the system's security, and may cause scripts / GUI to become inaccessible (depending on your network policy) API Endpoint POST api/rest/system/certificates/generate_self_signed URL Parameters component SslCertificateComponentEnum Optional target component Roles ADMIN, INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnK7RJK9Wu/tfJk5Y6VYU\nlabayCOx4UJ9081AxS+v/UrDtltvlOWYCm/U6Suz9S9Ly7sQz30g9zEZbDT1+mXi\nrGzUoOeWs+Q74bM8VkKanzTUEdZyTHPktc4ukVq7Cj2AEvhEACJcbHar+vHiExhW\n+dvJ/R9OM7HsozP0Blu6FE6m/TWEBBn+QUU8HafPegVuH3AQpvYeb3uzWctuqNk3\nusZGL7t11ljeQNlmRD6+d08HTVdNzfkgIWEGTxIruH/La93APrnELy3wV8uUYeDx\nmReWgGoP47cNcMH24icXGzNx3PqPADqLMxi6sjalSDgRL8bNZ+xG4fvEA7n3nlNs\nNQIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "9CAED124AF56BBFB5F264E58E9561495A6DAC823B1E1427DD3CD40C52FAFFD4AC3B65B6F94E5980A6FD4E92BB3F52F4BCBBB10CF7D20F731196C34F5FA65E2AC6CD4A0E796B3E43BE1B33C56429A9F34D411D6724C73E4B5CE2E915ABB0A3D8012F84400225C6C76ABFAF1E2131856F9DBC9FD1F4E33B1ECA333F4065BBA144EA6FD35840419FE41453C1DA7CF7A056E1F7010A6F61E6F7BB359CB6EA8D937BAC6462FBB75D658DE40D966443EBE774F074D574DCDF9202161064F122BB87FCB6BDDC03EB9C42F2DF057CB9461E0F1991796806A0FE3B70D70C1F6E227171B3371DCFA8F003A8B3318BAB236A54838112FC6CD67EC46E1FBC403B9F79E536C35", "algorithm": "RSA" }, "id": "httpd", "certificate": { "issued_to": { "C": "US", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd." }, "issued_on": 1774519709000, "issued_by": { "C": "US", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIDKzCCAhWgAwIBAgIGAZ0pne+4MAsGCSqGSIb3DQEBCzBOMQswCQYDVQQGEwJV\nUzEYMBYGA1UECgwPSW5maW5pZGF0LCBMdGQuMSUwIwYDVQQDDBxpYm94MDEyLmxh\nYi5pbC5pbmZpbmlkYXQuY29tMB4XDTI2MDMyNjEwMDgyOVoXDTI3MDQyNjA5MDgy\nOVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjElMCMG\nA1UEAwwcaWJveDAxMi5sYWIuaWwuaW5maW5pZGF0LmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAJyu0SSvVrv7XyZOWOlWFJWm2sgjseFCfdPNQMUv\nr/1Kw7Zbb5TlmApv1Okrs/UvS8u7EM99IPcxGWw09fpl4qxs1KDnlrPkO+GzPFZC\nmp801BHWckxz5LXOLpFauwo9gBL4RAAiXGx2q/rx4hMYVvnbyf0fTjOx7KMz9AZb\nuhROpv01hAQZ/kFFPB2nz3oFbh9wEKb2Hm97s1nLbqjZN7rGRi+7ddZY3kDZZkQ+\nvndPB01XTc35ICFhBk8SK7h/y2vdwD65xC8t8FfLlGHg8ZkXloBqD+O3DXDB9uIn\nFxszcdz6jwA6izMYurI2pUg4ES/GzWfsRuH7xAO5955TbDUCAwEAAaMTMBEwDwYD\nVR0RBAgwBocErBEAATALBgkqhkiG9w0BAQsDggEBAJJysPelXreKvN4R7GrS7yZL\nWS+VGAaPZd/KeAzAn+V4fHH5eq1orXiY0Yc9WEK7YLkMfqSDTl0HyHcHK2VlIsxS\nIGWxU4UK+RMCJj8Hcbaq/qcnoLcMaQSt6s0WBP1CpLq4ky67G/doxRb+BzOjl6E/\njUg0ji8NYYtIi1qvUP22YCxGK20PCWUixVXM785fDNrRFz1oWPMvKYZ3Rv+baEmE\nxwCKG8Hj28AStr9yhKsjnwiPVqaxEkADHQem/RBSjp/poupGUiu61tIOoypEOnV2\nB3i2vm48Vj4b7jT4EJP9KC0u2t5qIvapqt58/PGbJT0cWLgKpU/P2P3udps2Lmw=\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "19D299DEFB8", "expired": false, "expires_on": 1808730509000 } }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Generating a self-signed certificate will reduce the system's security, and may cause scripts / GUI to become inaccessible (depending on your network policy) UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges CERTIFICATE_INVALID HTTP 409 The certificate provided is not valid. Reason: General error occurred Get SSL Certificate Info Description Get current certificates info API Endpoint GET api/rest/system/certificates URL Parameters none Roles ADMIN, INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0D4sAcBWM61roQP8lC7V\nD9xNkEM5nyFfqIELez5SIFwZ1kAXju451rhhO6cpmA52FmSRrlic0Cw0IRGylLhK\nRDJWJ0FO4jnaZLYaL8mJDIik+pQ0xUlphqDvamUz3zGrF4/fZ8d6PFmNL+OZXFcC\nn6Y6USKfgUhRybShkef/wvpCpTozcvyljCFpCcM2pBnAwP0DVzPaubzoHhRNxN6L\nkLxQG7Y0TFEi2O8o4n6vf/eJlbjCAOVxsllPlRcTIng1AyrSA6rHI+rnfrvmcVM4\nXcw9G7uE+icRoLuJQhRu2+YS5kp+elaK2Ya9u3BYzTDuyo0WmbYeaNCu4o+YWwZf\nNQIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "D03E2C01C05633AD6BA103FC942ED50FDC4D9043399F215FA8810B7B3E52205C19D640178EEE39D6B8613BA729980E76166491AE589CD02C342111B294B84A44325627414EE239DA64B61A2FC9890C88A4FA9434C5496986A0EF6A6533DF31AB178FDF67C77A3C598D2FE3995C57029FA63A51229F814851C9B4A191E7FFC2FA42A53A3372FCA58C216909C336A419C0C0FD035733DAB9BCE81E144DC4DE8B90BC501BB6344C5122D8EF28E27EAF7FF78995B8C200E571B2594F951713227835032AD203AAC723EAE77EBBE67153385DCC3D1BBB84FA2711A0BB8942146EDBE612E64A7E7A568AD986BDBB7058CD30EECA8D1699B61E68D0AEE28F985B065F35", "algorithm": "RSA" }, "id": "httpd", "certificate": { "issued_to": { "C": "US", "CN": "30005", "O": "Infinidat, Ltd." }, "issued_on": 1747297654000, "issued_by": { "C": "US", "CN": "Infinilab", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIDRDCCAiygAwIBAgIUc3b774bh58LfrZ/G75F7pJ3ouGIwDQYJKoZIhvcNAQEL\nBQAwOzELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjESMBAG\nA1UEAwwJSW5maW5pbGFiMCAXDTI1MDUxNTA4MjczNFoYDzIwNzUwNTAzMDgyNzM0\nWjA3MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPSW5maW5pZGF0LCBMdGQuMQ4wDAYD\nVQQDDAUzMDAwNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANA+LAHA\nVjOta6ED/JQu1Q/cTZBDOZ8hX6iBC3s+UiBcGdZAF47uOda4YTunKZgOdhZkka5Y\nnNAsNCERspS4SkQyVidBTuI52mS2Gi/JiQyIpPqUNMVJaYag72plM98xqxeP32fH\nejxZjS/jmVxXAp+mOlEin4FIUcm0oZHn/8L6QqU6M3L8pYwhaQnDNqQZwMD9A1cz\n2rm86B4UTcTei5C8UBu2NExRItjvKOJ+r3/3iZW4wgDlcbJZT5UXEyJ4NQMq0gOq\nxyPq53675nFTOF3MPRu7hPonEaC7iUIUbtvmEuZKfnpWitmGvbtwWM0w7sqNFpm2\nHmjQruKPmFsGXzUCAwEAAaNCMEAwHQYDVR0OBBYEFDu8Zxb/g5Ft19YS5ZwFjV5i\n3ZhoMB8GA1UdIwQYMBaAFPxvkOhIjYc5QWGzXfBuGC8ib9R2MA0GCSqGSIb3DQEB\nCwUAA4IBAQBVGWM7VEWAZSXfSATxZrEZgtkZ78KE+jC+q4eLUJew4N+GKpUhikhy\ntiVTwgFvZyxLa0IPqLIXGKcAPNxtRVFYWCuy8eKd2qQbJXHSnrnNk9gjSvtZOMXw\nayfNKwkZG3hdrmsQ7bBJcipbdgYBNTuc78zWkeoaud93gF+FZ2gDNy/wZAOW0Xlx\ntMBur/LbAL1ME1PJ0ysM63HyAhue8oJg7llKs+6NOdhaeY4kLdvxNcn0FmWUyM1R\n5ZeQ5U8J1tPeNnjvI7Ww+Ykp+U4e6VEPBFtXiJnea7eLvStkxUnc4+G/HNYYJ4Jt\nvX8EbUjTqCTjrI7aOyDj7+UlHfzICLub\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256withRSA", "serial_number": "7376FBEF86E1E7C2DFAD9FC6EF917BA49DE8B862", "expired": false, "expires_on": 3324097654000 } } ], "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Upload Csr Description Upload CSR-signed certificate API Endpoint POST api/rest/system/certificates/upload_csr URL Parameters none Roles ADMIN, INFINIDAT, TECHNICIAN System States ALL JSON Data "--Boundary_17_1954790701_1774519729033\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; filename=\"upload\"; name=\"upload\"\r\n\r\n----BEGIN CERTIFICATE----\r\n--Boundary_17_1954790701_1774519729033--\r\n" Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmS18B7ryTf6Idn4OHOnw\nzIUMaCw4f7Y+wWiv2W+VgSNt+HusfJYkx04KeSsWN2pk4mXfXa0g/Fys4zqQeH6C\nnnFC29IZkFuBrnYFuKhThN8L4ohO0V/6bV5Q9/PvgjyZWMRa2t9ZnYhlozadv/ri\ndoBwz+Ml4kbVWDrlE89VeHuCZFGLWRjuwsmrI6dqr0MRECJf5BeqUvpaCdQcuj9d\npui/ZIj50Nn+urIHotb1Ba08gznJ1MTtfo/r6R8kbcslvek5o9cVtp0axnHgtrRH\n5s1ApaWT8Wf5XfJ3DKcs0GBOfDdyNhzI+1zITlmPf5ATHR48lMRR3RsxeBMmXVlm\nVwIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "992D7C07BAF24DFE88767E0E1CE9F0CC850C682C387FB63EC168AFD96F9581236DF87BAC7C9624C74E0A792B16376A64E265DF5DAD20FC5CACE33A90787E829E7142DBD219905B81AE7605B8A85384DF0BE2884ED15FFA6D5E50F7F3EF823C9958C45ADADF599D8865A3369DBFFAE2768070CFE325E246D5583AE513CF55787B8264518B5918EEC2C9AB23A76AAF431110225FE417AA52FA5A09D41CBA3F5DA6E8BF6488F9D0D9FEBAB207A2D6F505AD3C8339C9D4C4ED7E8FEBE91F246DCB25BDE939A3D715B69D1AC671E0B6B447E6CD40A5A593F167F95DF2770CA72CD0604E7C3772361CC8FB5CC84E598F7F90131D1E3C94C451DD1B317813265D596657", "algorithm": "RSA" }, "id": "httpd", "certificate": { "issued_to": { "C": "IL", "ST": "State", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd.", "L": "Location" }, "issued_on": 1774519741000, "issued_by": { "C": "US", "CN": "ca.com", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIEvjCCA6igAwIBAgIGAZ0pnmypMAsGCSqGSIb3DQEBCzA4MQ8wDQYDVQQDDAZj\nYS5jb20xGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjELMAkGA1UEBhMCVVMwHhcN\nMjYwMzI2MTAwOTAxWhcNMjcxMTE2MTAwOTAxWjBxMQswCQYDVQQGEwJJTDEOMAwG\nA1UECAwFU3RhdGUxETAPBgNVBAcMCExvY2F0aW9uMRgwFgYDVQQKDA9JbmZpbmlk\nYXQsIEx0ZC4xJTAjBgNVBAMMHGlib3gwMTIubGFiLmlsLmluZmluaWRhdC5jb20w\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZLXwHuvJN/oh2fg4c6fDM\nhQxoLDh/tj7BaK/Zb5WBI234e6x8liTHTgp5KxY3amTiZd9drSD8XKzjOpB4foKe\ncULb0hmQW4GudgW4qFOE3wviiE7RX/ptXlD38++CPJlYxFra31mdiGWjNp2/+uJ2\ngHDP4yXiRtVYOuUTz1V4e4JkUYtZGO7Cyasjp2qvQxEQIl/kF6pS+loJ1By6P12m\n6L9kiPnQ2f66sgei1vUFrTyDOcnUxO1+j+vpHyRtyyW96Tmj1xW2nRrGceC2tEfm\nzUClpZPxZ/ld8ncMpyzQYE58N3I2HMj7XMhOWY9/kBMdHjyUxFHdGzF4EyZdWWZX\nAgMBAAGjggGXMIIBkzAJBgNVHRMEAjAAMIIBMwYDVR0OBIIBKgSCASYwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCZLXwHuvJN/oh2fg4c6fDMhQxoLDh/\ntj7BaK/Zb5WBI234e6x8liTHTgp5KxY3amTiZd9drSD8XKzjOpB4foKecULb0hmQ\nW4GudgW4qFOE3wviiE7RX/ptXlD38++CPJlYxFra31mdiGWjNp2/+uJ2gHDP4yXi\nRtVYOuUTz1V4e4JkUYtZGO7Cyasjp2qvQxEQIl/kF6pS+loJ1By6P12m6L9kiPnQ\n2f66sgei1vUFrTyDOcnUxO1+j+vpHyRtyyW96Tmj1xW2nRrGceC2tEfmzUClpZPx\nZ/ld8ncMpyzQYE58N3I2HMj7XMhOWY9/kBMdHjyUxFHdGzF4EyZdWWZXAgMBAAEw\nTwYDVR0jBEgwRqE8pDowODEPMA0GA1UEAwwGY2EuY29tMRgwFgYDVQQKDA9JbmZp\nbmlkYXQsIEx0ZC4xCzAJBgNVBAYTAlVTggYBnSmebKYwCwYJKoZIhvcNAQELA4IB\nAQAZQvVyiI56bNX3Rcn0iEOQ1KPf1wQZlhUo1SVSPtHdOBJaM9tOVTFS3aBXKNyR\n8aZ1BO7vIA/3nzGWF21HXvdPMR+pZbz7kBHYDoH0/+gbhq/zzaiY+r+NsN+waQZN\n4abR4W9b9svGicEL0GB/tRRhbepWdF6FISzog8QkwHrJcXapwMGqXJnVn+iyS1cb\n7OaNa7lNytEjsjb9+PoiMBO98DAXj1Gfz6gdhBja3GREuvBTudFKaOu/8nPfVnCI\nHjTW6eym8Sn9ZnBBLhC0o5VJ9/TPmQfdigjeJWwLBUNjVcmeqCSatJUBtjmhNoeA\nOt9UQ4JXiz7S7mIVVTOuqS+J\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "19D299E6CA9", "expired": false, "expires_on": 1826359741000 } }, "error": null } Errors MALFORMED_CERTIFICATE HTTP 400 The certificate provided is malformed or in unsupported format UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges CSR_MISMATCH HTTP 409 The certificate provided does not match the certificate request generated previously CERTIFICATE_INVALID HTTP 409 The certificate provided is not valid. Reason: General error occurred Upload SSL Certificate and Key Description Upload certificate + key API Endpoint POST api/rest/system/certificates URL Parameters none Roles ADMIN, INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtI32OhVZrkWEddGjxRG4\nV+9wI/SoOv+Rwyo/S1Ns6+S5WGKRaqTnXL1UM6dcFxk48t2FsHSDdrCwvXbQxudv\nzZ/LEL6h0kYWHLdWl3O/CRVt3jpSSLEfnaVFsBwzFXxe7iLjJY9Dp2UxnGcgEbgq\nuXxidpuPies1bWQLEjhst8cWxBr6Pidp7XvJhHVi4A3S70pe/7ic8vXcXLyX3zX1\nZGvGs7TmwlLKE0rFo+ts1jJNhGSUmi3K8EtYOvFHBFqsQDSwh+KegHmUWJNdzoz1\nb1uzR4YUCLxVVUW3saS2rbKRwAC9+6EK5C+Po6ZL3FQ4frwnDkXHUoOxU49uFUjR\nbwIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "B48DF63A1559AE458475D1A3C511B857EF7023F4A83AFF91C32A3F4B536CEBE4B95862916AA4E75CBD5433A75C171938F2DD85B0748376B0B0BD76D0C6E76FCD9FCB10BEA1D246161CB7569773BF09156DDE3A5248B11F9DA545B01C33157C5EEE22E3258F43A765319C672011B82AB97C62769B8F89EB356D640B12386CB7C716C41AFA3E2769ED7BC9847562E00DD2EF4A5EFFB89CF2F5DC5CBC97DF35F5646BC6B3B4E6C252CA134AC5A3EB6CD6324D8464949A2DCAF04B583AF147045AAC4034B087E29E80799458935DCE8CF56F5BB347861408BC555545B7B1A4B6ADB291C000BDFBA10AE42F8FA3A64BDC54387EBC270E45C75283B1538F6E1548D16F", "algorithm": "RSA" }, "id": "httpd", "certificate": { "issued_to": { "C": "US", "1.2.840.113549.1.9.1": "FhdzbW9yZGVoYXlAaW5maW5pZGF0LmNvbQ==", "CN": "ibox.infinidat.com", "L": "TLV", "O": "Infinidat LTD", "ST": "TLV", "OU": "Infinidat LTD" }, "issued_on": 1663662577000, "issued_by": { "C": "US", "1.2.840.113549.1.9.1": "FhdzbW9yZGVoYXlAaW5maW5pZGF0LmNvbQ==", "CN": "ibox.infinidat.com", "L": "TLV", "O": "Infinidat LTD", "ST": "TLV", "OU": "Infinidat LTD" }, "raw": "-----BEGIN CERTIFICATE-----\nMIIEBzCCAu+gAwIBAgIUQ8n/eCTq2mE7xuKq67RvDmWPdUYwDQYJKoZIhvcNAQEL\nBQAwgZ4xCzAJBgNVBAYTAlVTMQwwCgYDVQQIDANUTFYxDDAKBgNVBAcMA1RMVjEW\nMBQGA1UECgwNSW5maW5pZGF0IExURDEWMBQGA1UECwwNSW5maW5pZGF0IExURDEb\nMBkGA1UEAwwSaWJveC5pbmZpbmlkYXQuY29tMSYwJAYJKoZIhvcNAQkBFhdzbW9y\nZGVoYXlAaW5maW5pZGF0LmNvbTAgFw0yMjA5MjAwODI5MzdaGA8yMDYyMDkxMDA4\nMjkzN1owgZ4xCzAJBgNVBAYTAlVTMQwwCgYDVQQIDANUTFYxDDAKBgNVBAcMA1RM\nVjEWMBQGA1UECgwNSW5maW5pZGF0IExURDEWMBQGA1UECwwNSW5maW5pZGF0IExU\nRDEbMBkGA1UEAwwSaWJveC5pbmZpbmlkYXQuY29tMSYwJAYJKoZIhvcNAQkBFhdz\nbW9yZGVoYXlAaW5maW5pZGF0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC\nAQoCggEBALSN9joVWa5FhHXRo8URuFfvcCP0qDr/kcMqP0tTbOvkuVhikWqk51y9\nVDOnXBcZOPLdhbB0g3awsL120Mbnb82fyxC+odJGFhy3VpdzvwkVbd46UkixH52l\nRbAcMxV8Xu4i4yWPQ6dlMZxnIBG4Krl8Ynabj4nrNW1kCxI4bLfHFsQa+j4nae17\nyYR1YuAN0u9KXv+4nPL13Fy8l9819WRrxrO05sJSyhNKxaPrbNYyTYRklJotyvBL\nWDrxRwRarEA0sIfinoB5lFiTXc6M9W9bs0eGFAi8VVVFt7Gktq2ykcAAvfuhCuQv\nj6OmS9xUOH68Jw5Fx1KDsVOPbhVI0W8CAwEAAaM5MDcwCQYDVR0TBAIwADALBgNV\nHQ8EBAMCBeAwHQYDVR0OBBYEFI8C1qJ7qQZ2fs+TWVyZoDLvtV48MA0GCSqGSIb3\nDQEBCwUAA4IBAQA4tC/osF87q2/Tl/JzCaguhTkRIwn6kwj22GdvMfkNrj118wdo\nWimSso9mlNGmZXpuiVwDccJF5DLHKOAMMRvkn9m5Rnqmo3VGReQY3RSr6mYBfvhN\nXxT8DV4tzrv5DlgXGl+QRGAC40YWccdZxGl9jK35uZDsSfyr6y4G5v9v7KbGLb1m\nF89d2gfpOmnYyTS9G0gF2PAZTE0IvbnMAf02v7B3lvnXo4a41AQMRPXb2hojFx3N\nROighHxXLDcCGYz/XAe+NtGiIA6+BSSrlqT47UFXPraNwmcwhXIVkEqJy04XKz43\n5TtbulF5swLG1gLbxpFRQwhn4BR5EJloZoWj\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "43C9FF7824EADA613BC6E2AAEBB46F0E658F7546", "expired": false, "expires_on": 2925102577000 } }, "error": null } Errors MALFORMED_KEY HTTP 400 The key provided is malformed or in unsupported format MALFORMED_CERTIFICATE HTTP 400 The certificate provided is malformed or in unsupported format MALFORMED_CONTENT HTTP 400 The request content is malformed INVALID_CERTIFICATE HTTP 400 Certificate is invalid. Reason: signature validation failed UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges CERTIFICATE_INVALID HTTP 409 The certificate provided is not valid. Reason: General error occurred Components This collection resource holds all physical and software components in the system that cannot be dynamically created or deleted. The API provides indication of the health status of each component, and a list of alerts on each component that affects its status. Get the InfiniBox Components Description Get information about the rack and its components. API Endpoint GET api/rest/components/ URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enclosures_number": 8, "patch_panels": [], "enclosures": [ { "state_description": "", "vendor": "NEWISYS", "last_probe_timestamp": 1390254009000, "firmware": "0509", "drives": [ { "state_description": "", "drive_index": 1, "vendor": "SEAGATE ", "product_id": "", "hw": { "pending_reallocations": 10, "state": "OK", "reallocations": 10, "temperature": 10, "power_on_hours": 10 }, "enclosure_index": 1, "firmware": "n/a", "encryption_state": null, "probe_ttl": 86400000, "failure_reason": "unknown", "state": "ACTIVE", "product_rev": "", "bytes_capacity": 0, "serial_number": "Z1Y09L1E", "model": "ST3000NM0023 ", "last_probe_timestamp": 1390251656000, "nodes_access": [ false, false, false ], "id": 1 }, { "state_description": "", "drive_index": 2, "vendor": "SEAGATE ", "product_id": "", "hw": { "pending_reallocations": 0, ... TRUNCATED ... Errors See general list of error codes. Consistency Group Add Member Description Add a dataset to a consistency group Approval required This is a dangerous operation If you add snapshot 'snapshot_name' to snap group 'sg_name', the snapshot's retention time of date will be cleared API Endpoint POST api/rest/cgs/{id}/members URL Parameters id long The ID of the consistency group Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "replication_pairs_info": null, "dataset_id": 1001, "active_active_info": null, "replication_pair_info": null } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519077045, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 1, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1002, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--4500bf9a-26f3-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-ec236eb5-c934-4c2", "tenant_id": 1, "created_at": 1774519076921, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('replication_pair_info') MISSING_FIELD HTTP 400 A field ('active_active_info') is missing in an object passed APPROVAL_REQUIRED HTTP 403 If you add snapshot 'auto-volume--bfed16c3-be02' to snap group 'sg', the snapshot's retention time of 1774529846 will be cleared REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system OPERATION_CANNOT_BE_DONE_ON_MULTI_TARGET_REPLICA HTTP 409 Adding a replicated member to CG failed because it is not supported for multi target replica CANNOT_ADD_LOCKED_SNAPSHOT_TO_LOCKED_SG HTTP 409 Cannot add a locked snapshot to a locked snap group due to their different expiration dates DATASET_NOT_IN_CG_POOL HTTP 409 The dataset is not in the same pool as the consistency group ILLEGAL_CG_DATASET HTTP 409 Snapshots cannot be added to consistency groups. ILLEGAL_CG_DATASET_TYPE HTTP 409 A filesystem cannot be added to a consistency group REPLICATED_DATASETS_LIMIT HTTP 409 The system has reached the maximum number of replicated datasets REPLICATED_MEMBER_CANNOT_BE_ADDED_TO_AA_REPLICA HTTP 409 Cannot add a replicated member 'auto-volume--065d5f77-a8bf' to an active-active replica. Delete the member's replica before adding to the consistency group CANNOT_ADD_MEMBER_WITH_NON_MATCHING_PAIRS_REPLICA_IDS HTTP 409 Cannot add a member to a multi-target CG when the member pairs' Replica IDs do not match the CG's Replica IDs ACTIVE_ACTIVE_PEER_CANNOT_BE_ADDED_TO_CG HTTP 409 Cannot add an active-active peer volume to a consistency group CANNOT_ADD_MEMBER_WITH_NON_MATCHING_REPLICA_PAIR_COUNT HTTP 409 Cannot add a member to a multi-target CG when the number of member pairs does not match the number of CG replicas REPLICA_PAIR_ALREADY_EXISTING HTTP 409 When adding a replicated entity to a replicated consistency group, no entity pair may be supplied in the command SOURCE_DATASET_IS_REPLICATED HTTP 409 Replicated source datasets cannot be added to a non-replicated consistency group: auto-volume--868a20ad-a5dc TARGET_DATASET_IS_REPLICATED HTTP 409 Replicated target datasets cannot be added to a consistency group: vol_a36090f6-cc14-4bd0-91c4-d0e9189297a2_replica DATASET_ALREADY_IN_A_CG HTTP 409 The dataset is already a part of a consistency group CANNOT_ADD_UNLOCKED_SNAPSHOT_TO_LOCKED_SG HTTP 409 Cannot add an unlocked snapshot to a locked snap group CANNOT_ADD_MEMBER_WITH_MISSING_REPLICA_ID HTTP 409 The 'replica_id' field must be set when adding a CG member pair to a multi-target CG SNAPSHOT_AND_SG_BOTH_HAVE_RETENTION HTTP 409 Snapshot 'auto-volume--4e3354fa-2205' cannot be added to snap group 'auto-sg_-d1f1b95a-8f77-4aa' because they both have a retention time CG_MEMBER_CANNOT_BE_ADDED_TO_SYNC_REPLICA HTTP 409 Cannot add a member to a replicated consistency group whose replication type is SYNC. Change the replication type to ASYNC, add the member and then change the replication type back to SYNC OPERATION_NOT_SUPPORTED HTTP 409 Adding a member to a CG concurrent replica is not supported GROUP_MEMBERS_LIMIT_EXCEEDED HTTP 409 A consistency group cannot have more than 10 members CG_MEMBER_TYPE_MISMATCH HTTP 409 The synchronization types of the member and the consistency group have to be identical. In addition, a member can be added only to a replicated consistency group whose type is ASYNC CANNOT_ADD_MEMBER_DUE_TO_SNAPSHOT_REPLICATION_MISMATCH HTTP 409 The new member volume 'auto-volume--1369a3a5-2634' replica and the CG 'auto-cg_-395d578f-7c69-49f' replica do not have the same snapshots replication settings CG_MEMBER_CANNOT_BE_ADDED_TO_ACTIVE_AA_REPLICA HTTP 409 Cannot add a member 'auto-volume--065d5f77-a8bf' to an active active-active replica. Suspend the replica before adding the member CANNOT_ADD_LOCKED_SNAPSHOT_TO_UNLOCKED_SG HTTP 409 Cannot add a locked snapshot to an unlocked snap group CG_ADD_MEMBER_BASE_SNAPSHOT_NOT_FOUND HTTP 409 Can't find base snapshot for the new member of the consistency group REPLICA_OPERATION_NOT_ALLOWED_ON_SOURCE_AND_TARGET HTTP 409 This operation cannot be performed on entity 'auto-cg_-550a8037-41c3-4ef' which is both a replication source and target REPLICA_IS_RESERVED_FOR_INFINISAFE HTTP 409 Replica is reserved for infinisafe, moving the member is not allowed REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) add member failed, replica(s) status is unknown. User intervention is required. FM service: core, command rc: FAIL, error_string: null, error_code: FM_DUMMY_CODE, error_description: SNAPSHOT_CANNOT_BE_ADDED_TO_SG_WITH_RETENTION HTTP 409 Snap group 'auto-sg_-e7194f03-0465-413' is only retained until 1970-01-21 14:55:29, and snapshots cannot be added to it Add Member to Snapshot Group Description Add a snapshot to a snapshot group API Endpoint POST api/rest/cgs/{id}/members URL Parameters id long The ID of the consistency group Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "dataset_id": 1006 } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519977946, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 2, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1004, "parent_id": 1001, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "SNAPSHOT", "pool_name": "auto-pool--c535a780-2c6d-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "sg", "tenant_id": 1, "created_at": 1774519977640, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors SNAPSHOT_PARENT_HAS_ALREADY_MEMBER_IN_SG HTTP 409 The snapshot 'auto-volume--1d00b3d1-6dab' cannot be added to the snapshot group 'sg', since this snapshot group already contains another snapshot - 'auto-volume--b22ce6e6-670f', of the same parent volume ILLEGAL_CG_DATASET_TYPE HTTP 409 A filesystem cannot be added to a consistency group DATASET_ALREADY_IN_A_CG HTTP 409 The dataset is already a part of a consistency group SNAPSHOT_PARENT_IS_NOT_IN_CG HTTP 409 The snapshot 'auto-volume--ae853b88-d4aa' cannot be added to the snapshot group 'sg', since its parent 'vol3' is not a member of the consistency group 'auto-cg_-2688091f-3572-46e' DATASET_NOT_SNAPSHOT HTTP 409 The volume cannot be a master volume Create Consistency Group Description Creates a consistency group or a snapshot group API Endpoint POST api/rest/cgs URL Parameters replicate_to_async_target boolean Replicate the created snapshot/s to the remote side Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "snapshot_policy_id": 0, "name": "auto-cg_-ec236eb5-c934-4c2", "pool_id": 1000 } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519076921, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 0, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1002, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--4500bf9a-26f3-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-ec236eb5-c934-4c2", "tenant_id": 1, "created_at": 1774519076921, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('snap_prefix' or 'snap_suffix') is missing in an object passed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('snapshot_retention') WRONG_PARAMETER HTTP 400 The value ( ) of parameter 'snap_prefix' does not meet a condition: 'must include valid name characters only' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters SG_MEMBER_INVALID_NAME_LENGTH HTTP 400 Snapshot group member generated name, which is a combination of the member's name with the prefix is too long. Name must be of length between 1 and 65 characters SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found POOL_NOT_FOUND HTTP 404 Pool not found DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit UNSUPPORTED_REMOTE_SNAPSHOT_RETENTION_LOCK HTTP 409 The 'remote_snapshot_retention_lock' field can only be set for snapshot groups of replicated consistency groups INVALID_LOCK_DURATION_EXCEEDS_SNAPSHOT_RETENTION HTTP 409 A replicated snapshot group's lock duration cannot be longer than the snapshot group's retention INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking MASTER is not allowed REPLICA_INCONSISTENT_DATASETS HTTP 409 Taking a snapshot cannot be completed because at least one dataset has not reached a consistent state REMOTE_SNAPSHOT_RETENTION_INVALID HTTP 409 The 'remote_snapshot_retention' field for source snapshot groups to be replicated cannot be set to null CG_COUNT_LIMIT HTTP 409 Consistency group count limit reached CG_SNAP_WITH_NO_MEMBERS HTTP 409 Cannot take a snapshot of an empty consistency group VOLUME_NAME_CONFLICT HTTP 409 An entity with this name already exists ILLEGAL_POOL_TYPE_FOR_CG HTTP 409 A CG cannot be created within a vVol pool MAX_TREE_DEPTH HTTP 409 Tree depth limit reached OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, creating a snapshot group from an Active Active replica which is not consistent is not supported MAX_FAMILY_SIZE HTTP 409 The volume family whose root is 'vol_5711479d-d307-4d6c-bd69-24a9f857ad87_replica' now has 1 snapshots, which is the maximum allowed. New snapshots for this family can only be created after other snapshots are deleted ILLEGAL_POOL_TYPE HTTP 409 Cannot create a consistency group 'newCG' in S3 pool 's3p1' because it is dedicated for S3 buckets INVALID_LOCK_DURATION HTTP 409 Lock expiry cannot exceed 365 days SG_SNAP_NOT_ALLOWED HTTP 409 Cannot take a snapshot of a snapshot group REPLICA_ALREADY_RECLAIMED HTTP 409 The entity requested is a replication staging area and has already been reclaimed with name svol_856e1731-4637-4ca6-92f4-5ad596b43874_replica_ UNSUPPORTED_REMOTE_SNAPSHOT_RETENTION HTTP 409 The 'remote_snapshot_retention' field can only be set for snapshot groups of replicated consistency groups INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future SG_CG_COUNT_LIMIT HTTP 409 A new snapshot group cannot be created. The consistency group has reached the maximum number of snapshot groups CG_NAME_CONFLICT HTTP 409 An entity with this name already exists REMOTE_SNAPSHOT_RETENTION_LOCK_INVALID HTTP 409 The 'remote_snapshot_retention_lock' field for source snapshot groups to be replicated cannot be set to null Delete Consistency Group Description Disband a single consistency group Approval required This is a dangerous operation Deleting the type group will break the consistency of its members. In case the delete_members parameters is set to yes, the type group members are deleted. API Endpoint DELETE api/rest/cgs/{id} URL Parameters id long The id of the consistency group to delete delete_members boolean Select whether to delete the group's datasets as well Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519805637, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 2, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1001, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--2d42fe2b-91bd-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-36704735-277f-48b", "tenant_id": 1, "created_at": 1774519804850, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting the consistency group will break the consistency of its members. In case the delete_members parameters is set to yes, the consistency group members are deleted. SG_CG_DELETE_LIMIT HTTP 409 The consistency group cannot be deleted: it contains more than the maximum number of snapshot groups allowed for a delete operation VOLUME_IS_MAPPED HTTP 409 The volume cannot be deleted. Volume 'vol1' has active mappings DELETE_LOCKED_SNAPSHOT HTTP 409 Snapshot group 'snapshot' is locked, and can only be deleted after '2026-03-31 13:10:08' UTC DELETE_SNAPSHOT_WITH_LOCKED_DESCENDANTS HTTP 409 Snapshot 'auto-snap--4bb13c2c-6ddb-4' has locked descendants, and can only be deleted after they expire, on: '2026-03-31 13:10:34' UTC REPLICATED_CG_CANNOT_BE_DELETED HTTP 409 A replicated consistency group cannot be deleted. Remove the replication, then delete the consistency group Get all Consistency Groups Description Return consistency groups according to filter and sort parameters. Filterable and Sortable fields:created_at,id,lock_expires_at,name,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_snapshot_guid,snapshot_retention,type,updated_at. API Endpoint GET api/rest/cgs URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": 182, "updated_at": 1774519234042, "snapshot_retention": 3600, "created_by_snapshot_policy_name": "auto-hourly-d95cddc9-ac74-", "members_count": 1, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1004, "parent_id": 1001, "lock_state": "UNLOCKED", "created_by_schedule_id": 183, "type": "SNAPSHOT", "pool_name": "auto-pool--20e3abd6-ec80-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": "auto-schedule--0ad23581-c7", "rmr_snapshot_guid": null, "name": "auto-cg_-1d91a3e2-92aa-484auto--hourly-9b7d6fb2-d4a7de17755c7190b", "tenant_id": 1, "created_at": 1774519234042, "snapshot_expires_at": 1774522834, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false } ], "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('replication_types') could not be translated to an expected type UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'EQ' is not supported by this resource Get Attribute by ID Description Return a conistency group attribute API Endpoint GET api/rest/cgs/{id}/{attribute} URL Parameters id long The id of the consistency group attribute String The name of the attribute JSON Data none Returns Errors See general list of error codes. No request examples available Get Consistency Group by ID Description Return a consistency group by ID API Endpoint GET api/rest/cgs/{id} URL Parameters id long The ID of the consistency group Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519184047, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 0, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1002, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--df8fa94d-7774-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-2f5628dc-390c-436", "tenant_id": 1, "created_at": 1774519183962, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors CG_NOT_FOUND HTTP 404 Consistency group not found Get Members by ID Description Return the datasets that are members of a consistency group API Endpoint GET api/rest/cgs/{cg_id}/members URL Parameters cg_id long The ID of the consistency group Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--4500bf9a-26f3-4", "cg_name": "sg", "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519077133, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": 1004, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "p_auto-volume--a79db565-1e1d_s", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519077133, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 1, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 } ], "error": null } Errors CG_NOT_FOUND HTTP 404 Consistency group not found Move to Pool Description Move a consistency group to other pool, along with its related datasets API Endpoint POST api/rest/cgs/{id}/move URL Parameters id long The ID of the consistency group to move Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "pool_id": 1001, "with_capacity": false } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519816547, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 2, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1004, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--9f604bde-a694-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-dd9e640f-a8cd-495", "tenant_id": 1, "created_at": 1774519816392, "snapshot_expires_at": null, "pool_id": 1005, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors SG_CANNOT_BE_MOVED HTTP 409 a snapshot group can be moved only as part of a consistency group move INSUFFICIENT_POOL_CAPACITY HTTP 409 The pool has insufficient capacity. Reason: The capacity of the target pool is insufficient for this action. Pool free capacity is approximately: 1TB, required capacity is approximately: 10TB. The capacity is accurate up to 1GB due to internal conversions ILLEGAL_MOVE_TO_VVOL_POOL HTTP 409 Cannot move Consistency Group 'auto-cg_-88393d40-1a21-422' into vVol pool 'test-vvol-move-pool', because 'test-vvol-move-pool' is dedicated for VMware vVols Promote Snap Group Description Promote a snap group to a consistency group, along with its members which will be promoted to volumes Approval required This is a dangerous operation Promoting this snap group will prevent the option to create a new replica with this snap group as base entity API Endpoint POST api/rest/cgs/{id}/promote URL Parameters id long The ID of the snap group to promote Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519848608, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 2, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1007, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--c2e6619c-9b7c-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-7d7673f9-d93b-4e0-auto-snapshotPolicy-8421c442fdf9e6a6e5", "tenant_id": 1, "created_at": 1774519848414, "snapshot_expires_at": null, "pool_id": 1001, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Promoting this snap group will prevent the option to create a new replica with this snap group as base entity ENTITY_NOT_FOUND HTTP 404 Entity not found PROMOTE_CHAIN_TOO_DEEP HTTP 409 Promotion is not supported because the snapshot or a member of the snap group has a promote chain above the limit of 10 PROMOTE_LOCKED_SG HTTP 409 This snap group is locked and cannot be promoted MAXIMUM_PROMOTES_IN_FAMILY_REACHED HTTP 409 Promotion is not supported because the system reached the maximum number of promotes in family: 1023 PROMOTE_SNAPSHOT_TO_LOCKED_POOL HTTP 409 Cannot promote this snapshot because the pool is locked POOL_VIRTUAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough virtual capacity PROMOTE_SG_WITH_CHILDREN HTTP 409 Some members of this snap group have sub-snapshots. The snap group cannot be promoted PROMOTE_SNAPSHOT_WITH_CHILDREN HTTP 409 This snapshot has sub-snapshots and cannot be promoted SYSTEM_READ_ONLY HTTP 409 The system is now Read-Only. No data can be written while the system is in this state PROMOTE_BACKGROUND_PROCESS_NOT_FINISHED HTTP 409 Cannot promote this snapshot because a process is running in the background. Please retry later PROMOTE_MASTER_ENTITY HTTP 409 Only snapshots and snap groups can be promoted PROMOTE_CORE_INTERNAL_ERROR HTTP 409 Promotion failed due to a core internal error PROMOTE_RMR_OWNED_SNAPSHOT HTTP 409 Cannot promote this snapshot because it is used for the replication process Refreshing a Snapshot Group Description Refreshes a snapshot group from a parent Approval required This is a dangerous operation Refreshing entity 'dataset_name' will overwrite its cg_membersdata API Endpoint POST api/rest/cgs/{id}/refresh URL Parameters id long ID of the target snapshot group Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1001 } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519827607, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 1, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1006, "parent_id": 1001, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "SNAPSHOT", "pool_name": "auto-pool--c638e02b-c31a-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "snapshot1", "tenant_id": 1, "created_at": 1774519826542, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Refreshing snapshot group 'auto-sg_-9e20ea0d-d037-4a2' will overwrite its members data SG_REFRESH_NOT_DIRECT_SNAPSHOT HTTP 409 The specified snapshot group is not a child of the specified consistency group SG_REFRESH_NOT_SG HTTP 409 The specified entity is not a snapshot group SG_REFRESH_INCONSISTENT_MEMBERS_NUMBER HTTP 409 The number of snapshots in the snapshot group is inconsistent with the number of members in the consistency group INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot group until its lock expires OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, refreshing a snapshot from an Active Active replica which is not consistent is not supported Remove Member Description Remove a dataset from a consistency group, along with its snapshots Approval required This is a dangerous operation Removing a member from a consistency group will also remove its snapshots from the snapgroups. Future snapshots (as well as replications) will not include this member API Endpoint DELETE api/rest/cgs/{id}/members/{dataset_id} URL Parameters id long The ID of the consistency group dataset_id long The ID of the dataset to remove retain_staging_area Boolean Retention of staging areas create_replica Boolean Create a replica replica_name String Name for the new replica force_if_no_remote_credentials Boolean Allow this operation even if a login error is returned by the remote system force_if_remote_error Boolean Allow this operation even if an error is returned by the remote system force_on_target Boolean Allow one-sided operation on the target force_on_local Boolean Allow one-sided operation keep_serial_on_local Boolean Allows keeping or resetting the external identification data of the local replica volume/s Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": null, "updated_at": 1774519849771, "snapshot_retention": null, "created_by_snapshot_policy_name": null, "members_count": 0, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1003, "parent_id": 0, "lock_state": "UNLOCKED", "created_by_schedule_id": null, "type": "MASTER", "pool_name": "auto-pool--e56768a5-a292-4", "replication_types": [ "NONE" ], "has_children": true, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": null, "rmr_snapshot_guid": null, "name": "auto-cg_-8a1d3ad5-0eb3-4e8", "tenant_id": 1, "created_at": 1774519849686, "snapshot_expires_at": null, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('create_replica') REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system APPROVAL_REQUIRED HTTP 403 Removing a member from a consistency group will also remove its snapshots from the snapgroups. Future snapshots (as well as replications) will not include this member CG_DATASET_NOT_FOUND HTTP 404 Dataset is not a member of the consistency group LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' REPLICA_INCONSISTENT_PAIR_COUNT HTTP 409 The number of entities in the consistency groups was different on source and target REPLICA_OPERATION_NOT_ALLOWED_ON_SOURCE_AND_TARGET HTTP 409 This operation cannot be performed on entity 'auto-cg_-28e2c533-58b4-4b1' which is both a replication source and target DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit MEMBER_CANNOT_BE_REMOVED_FROM_SG HTTP 409 A snapshot group member cannot be removed CG_MEMBER_CANNOT_BE_REMOVED_FROM_SYNC_REPLICA HTTP 409 Cannot remove a member from a replicated consistency group whose replication type is SYNC. Change the replication type to ASYNC, remove the member and then change the replication type back to SYNC REMOVE_MEMBER_AA_REPLICA_FROM_LAGGING_SIDE HTTP 409 Cannot remove a member auto-volume--10b3bd2f-aa8b of consistency group in an active-active replica from the lagging side REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) Removing a CG member failed, replica(s) status is unknown. User intervention is required. CG_MEMBER_CANNOT_BE_REMOVED_FROM_ACTIVE_AA_REPLICA HTTP 409 Cannot remove a member 'auto-volume--e2c5c162-7d9a' from an active active-active replica. Suspend the replica before removing the member REPLICA_CANNOT_CREATE_IF_FORCE HTTP 409 Replica creation cannot be specified with force on target or force on remote error REPLICA_REMOVE_MEMBER_NOT_ALLOWED_ON_TARGET HTTP 409 Removing a member on the target system is not allowed unless the link to the source is down and the operation is acknowledged by the user AA_REMOVE_MEMBER_NOT_POSSIBLE HTTP 409 Cannot remove a member of an active-active replica when it is mapped because the serial ID will be changed. Please remove all member mappings REPLICA_IS_RESERVED_FOR_INFINISAFE HTTP 409 Replica is reserved for infinisafe, removing member is not allowed OPERATION_NOT_SUPPORTED HTTP 409 Removing the last member in a consistency group of an active-active replica is not supported REPLICA_INVALID_CONFIGURATION HTTP 409 The local configuration does not match the remote one. Please resume replica first OPERATION_CANNOT_BE_DONE_ON_MULTI_TARGET_REPLICA HTTP 409 Removing the last member failed because it is not supported for multi target replica Restoring a Consistency Group Description Restore a consistency group from a snapshot group Approval required This is a dangerous operation Restoring a consistency group 'cg_name' that has datasets added after taking a snapshot group will restore only the snapshotted datasets. The datasets that were added to the consistency group after the snapshot group was taken, will not be restored API Endpoint POST api/rest/cgs/{id}/restore URL Parameters id long ID of the target consistency group Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1008, "target_id": 0 } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Restoring a consistency group 'auto-cg_-9f75b4bb-7c85-442' that has datasets added after taking a snapshot group will restore only the snapshotted datasets. The datasets that were added to the consistency group after the snapshot group was taken, will not be restored PROTECTED_DATASET_CANNOT_BE_RESTORED HTTP 409 A dataset (vol_wp) that is write-protected cannot be restored ILLEGAL_CG_RESTORE_REQUEST HTTP 409 Consistency group can only be restored from one of its snapshot groups REPLICATED_CG_RESTORE_NOT_ALLOWED HTTP 409 A replicated consistency group cannot be restored Update Consistency Group Description Update consistency group attributes with input map data Approval required This is a dangerous operation snapshotType 'name' will have unlimited retention and will not be deleted automatically API Endpoint PUT api/rest/cgs/{id} URL Parameters id long The ID of the CG to update Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "snapshot_retention": 100 } Returns { "metadata": { "ready": true }, "result": { "remote_snapshot_retention": null, "created_by_snapshot_policy_id": 182, "updated_at": 1774519234536, "snapshot_retention": 10000, "created_by_snapshot_policy_name": "auto-hourly-d95cddc9-ac74-", "members_count": 1, "snapshot_policy_name": null, "remote_snapshot_retention_lock": null, "id": 1004, "parent_id": 1001, "lock_state": "UNLOCKED", "created_by_schedule_id": 183, "type": "SNAPSHOT", "pool_name": "auto-pool--20e3abd6-ec80-4", "replication_types": [ "NONE" ], "has_children": false, "lock_expires_at": null, "replica_ids": [], "created_by_schedule_name": "auto-schedule--0ad23581-c7", "rmr_snapshot_guid": null, "name": "auto-cg_-1d91a3e2-92aa-484auto--hourly-9b7d6fb2-d4a7de17755c7190b", "tenant_id": 1, "created_at": 1774519234042, "snapshot_expires_at": 1774529234, "pool_id": 1000, "snapshot_policy_id": null, "is_replicated": false }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') APPROVAL_REQUIRED HTTP 403 Snapshot group 'auto-cg_-1d91a3e2-92aa-484auto--hourly-9b7d6fb2-d4a7de17755c7190b' will have unlimited retention and will not be deleted automatically SNAPSHOT_RETENTION_FIELD_NOT_SUPPORTED HTTP 409 The retention cannot be changed because snapshot group 'sg3' is not a replicated snapshot group, and it was not created by a snapshot policy INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future LOCK_EXPIRY_TOO_SHORT HTTP 409 The lock expiry of snapshot group 'snapshot' cannot be lowered. Current expiry time is '2026-03-31 13:15:29' UTC SNAPSHOT_RETENTION_INVALID HTTP 409 The new snapshot retention must be longer than the current one INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking consistency group is not allowed NON_SNAPSHOT_RETENTION_CANNOT_BE_MODIFIED HTTP 409 Only snapshots and snap groups can have a retention time INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot group until its lock expires UNLOCK_FORBIDDEN HTTP 409 Snapshot group 'snapshot' is locked until '2026-03-31 13:12:53' UTC, the lock cannot be removed SNAPSHOT_LOCK_FORBIDDEN HTTP 409 Snapshot 'vols' cannot be further locked as it is write-enabled Get all Datasets Description Return volumes and filesystems according to filter and sort params Filterable and Sortable fields:_cg_guid,_cg_snapshot_guid,compression_enabled,created_at,data_snapshot_guid,dataset_type,depth,family_id,id,lock_expires_at,mapped,mgmt_snapshot_guid,mobility_source,name,provtype,_reclaimed_snapshot_remote_system_serial,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_active_active_peer,rmr_snapshot_guid,rmr_source,rmr_target,serial,size,snapshot_retention,ssa_express_enabled,ssd_enabled,type,updated_at,write_protected. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/datasets URL Parameters include_data_reduction_hist boolean Show the effective capacity histogram and reserve fields Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--ba956f1f-d311-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519566380, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": true, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--af55fe9f-ecea", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519566380, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('qos_shared_policy_name') NOT_SORTABLE_FIELD HTTP 400 The request contains a field that cannot be sortable: ('qos_shared_policy_name') Get all Internal Datasets Description Return all internal volumes and filesystems according to type; master or snapshot Filterable and Sortable fields:_cg_guid,_cg_snapshot_guid,compression_enabled,created_at,data_snapshot_guid,dataset_type,depth,family_id,id,lock_expires_at,mapped,mgmt_snapshot_guid,mobility_source,name,provtype,_reclaimed_snapshot_remote_system_serial,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_active_active_peer,rmr_snapshot_guid,rmr_source,rmr_target,serial,size,snapshot_retention,ssa_express_enabled,ssd_enabled,type,updated_at,write_protected. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/datasets/internal_datasets/{internal_type} URL Parameters internal_type VolumeType The type of the internal dataset; master or snapshot Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--eb5b67a2-dc41-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 0, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": null, "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": null, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": null, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": true, "reducible_host_written_data": null, "nguid": null, "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "internal-auto-volume--a0fc9d10-a0cb", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 0, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": null, "family_id": null, "depth": 0, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": null } ], "error": null } Errors See general list of error codes. Get Dataset by ID Description Return a dataset by its id API Endpoint GET api/rest/datasets/{id} URL Parameters id long The id of the volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--6525af99-5ad5-4", "cg_name": "sg", "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519969512, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1005, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 1003, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": 1007, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "p_vol1_s", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519969512, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1003, "depth": 1, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors DATASET_NOT_FOUND HTTP 404 Dataset not found Get Dataset Internal Children by ID Description Return all internal datasets of a dataset by its id API Endpoint GET api/rest/datasets/{parent_id}/internal_datasets URL Parameters parent_id long The id of the parent dataset Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--7d94d77f-eb10-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 0, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": null, "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": null, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": null, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": true, "reducible_host_written_data": null, "nguid": null, "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "internal-auto-volume--c476f284-138e", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 0, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": null, "family_id": null, "depth": 0, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": null } ], "error": null } Errors See general list of error codes. Update Multiple Datasets Description Update multiple datasets Approval required This is a dangerous operation This action will add the selected datasets to the SSA Express queue API Endpoint PUT api/rest/datasets/bulk URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "data": { "write_protected": true }, "ids": [ 1001 ] } Returns { "metadata": { "ready": true }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--83249ac5-9d52-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520445560, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "qos_shared_policy_name": null, "ssa_express_enabled": true, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": "STATUS_LOADING", "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, ... TRUNCATED ... Errors NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 The action could not be performed for the selected entities and was canceled: This resource does not support updating multiple fields in one request MALFORMED_PARAMETER HTTP 400 The action could not be performed for the selected entities and was canceled: A parameter ('ssa_express_enabled') could not be translated to an expected type SET_MISSING_ATTRIBUTE HTTP 400 The action could not be performed for the selected entities and was canceled: Attribute not found: 'illegal_attribute' MALFORMED_CONTENT HTTP 400 The action could not be performed for the selected entities and was canceled: The request content is malformed APPROVAL_REQUIRED HTTP 403 This action will add the selected datasets to the SSA Express queue OPERATION_NOT_SUPPORTED HTTP 409 The action could not be performed for the selected entities and was canceled: Multiple updates of attribute 'write_protected' is not supported DATASET_SSA_EXPRESS_ALREADY_DISABLED HTTP 409 The action could not be performed for the selected entities and was canceled: Dataset 'auto-volume--497c5978-c2e2' was not in SSA Express cache Enclosure Get all of the Drives Per Enclosure Description Get information about all of the drives of an enclosure. API Endpoint GET api/rest/components/enclosures/{enclosure_index}/drives URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get all of the Enclosures Description Get information about all of the enclosures. API Endpoint GET api/rest/components/enclosures URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 8, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 1 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 2 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 3 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 4 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 5 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 6 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 7 }, { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 8 } ], "error": null } Errors See general list of error codes. Get an Enclosure Description Get information about a specific enclosure by its ID. API Endpoint GET api/rest/components/enclosures/{encIdx} URL Parameters encIdx int ID of the enclosure JSON Data none Returns Errors See general list of error codes. No request examples available Get Drive HW Details Description Return Hardware information for specific drive API Endpoint GET api/rest/components/enclosures/{enclosure_index}/drives/{drive_index}/hw URL Parameters drive_index int The drive id Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "pending_reallocations": 0, "state": "UNKNOWN", "reallocations": 0, "temperature": 0, "power_on_hours": 0 }, "error": null } Errors See general list of error codes. Get Enclosure by ID Description Return enclosure API Endpoint GET api/rest/components/enclosures/{enclosure_index}/ URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "vendor": null, "last_probe_timestamp": 0, "firmware": null, "drives": [], "probe_ttl": 60000, "drives_number": 0, "state": "UNKNOWN", "power_supplies": [], "model": null, "id": 1 }, "error": null } Errors See general list of error codes. Get Enclosure Drive by ID Description Get information about a specific drive by the enclosure ID and drive ID. API Endpoint GET api/rest/components/enclosures/{enclosure_index}/drives/{drive_index} URL Parameters drive_index int ID of the drive Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "drive_index": 1, "vendor": null, "product_id": "", "encryption_state": null, "enclosure_index": 1, "firmware": "n/a", "hw": { "pending_reallocations": 0, "state": "UNKNOWN", "reallocations": 0, "temperature": 0, "power_on_hours": 0 }, "probe_ttl": 86400000, "failure_reason": "", "state": "UNKNOWN", "product_rev": "", "bytes_capacity": 0, "serial_number": null, "model": null, "last_probe_timestamp": 0, "nodes_access": [ false, false, false ], "id": 1 }, "error": null } Errors DRIVE_NOT_FOUND HTTP 404 Drive not found MALFORMED_ID_TYPE HTTP 404 Object Not Found. Invalid drive_index type (expect to get Number) Phase In Drive Description Phase in drive by id API Endpoint POST api/rest/components/enclosures/{enclosure_index}/drives/{drive_index}/phase_in URL Parameters drive_index int The drive id Roles INFINIDAT, TECHNICIAN System States ACTIVE, STANDBY JSON Data none Returns Errors OPERATION_NOT_SUPPORTED HTTP 409 Enclosure drive phase in is not supported Phase Out Drive Description Phase out drive by id API Endpoint POST api/rest/components/enclosures/{enclosure_index}/drives/{drive_index}/phase_out URL Parameters drive_index int The drive id Roles INFINIDAT, TECHNICIAN System States ACTIVE, STANDBY JSON Data none Returns { "metadata": { "ready": true }, "result": { "drive_index": 1, "serial_no": "", "product_id": "", "drive_health": null, "vendor_id": "", "path_on": [], "encryption_state": null, "state": "ACTIVE", "product_rev": "", "bytes_capacity": 0, "enclosure_index": 1 }, "error": null } Errors RETRY_DRIVE_IN_METADATA_SAVE HTTP 409 The drive cannot be activated or deactivated at this time because it is saving metadata RETRY_RAIDGROUP_IN_RECOVERY HTTP 409 The drive cannot be deactivated at this time because it has a temporary error MULTIPLE_DRIVE_MISSING HTTP 409 Drive deactivation failed due to multiple drive loss RETRY_RAIDGROUP_IN_REBUILD HTTP 409 The drive cannot be deactivated at this time because it is needed for a rebuild NOT_SUPPORTED_IN_SYSTEM_STATE HTTP 409 Operation is not supported in system state N/A RETRY_DATA_REDISTRIBUTION HTTP 409 The drive cannot be deactivated at this time because the system is undergoing redistribution Test Drive Description test drive by id API Endpoint POST api/rest/components/enclosures/{enclosure_index}/drives/{drive_index}/test URL Parameters drive_index int The drive id JSON Data none Returns Errors See general list of error codes. No request examples available Eth Switch Get all Ethernet Switches Description Return Racks' ethernet switches API Endpoint GET api/rest/components/eth_switches URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Get Switch by ID Description Return ethernet switch by index API Endpoint GET api/rest/components/eth_switches/{swIdx} URL Parameters swIdx int The switch id Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "vendor": "NETGEAR", "last_probe_timestamp": 1412508793000, "firmware": "n/a", "probe_ttl": 60000, "state": "ERROR", "model": "GS116E", "id": 1 }, "error": null } Errors See general list of error codes. Event The Events API provides access to the events generated in the system, and defines rules that control which events are sent by mail. An Event object looks like this: { "timestamp": 1351623383906, "uuid": "97eb9c8c-bae0-4a82-96cb-6f9e9799eb29", "reporter": "MGMT", "id": 2517, "level": "INFO", "visibility": "CUSTOMER", "source_node_id": 1, "description": "Created snapshot 'volume_1a' id '590' from parent 'volume_1', "data": [ { "name": "parent_id", "type": "VolumeID", "value": "102" }, { "name": "parent_name", "type": "VolumeName", "value": "volume_1" }, { "name": "vol_name", "type": "VolumeName", "value": "volume_1a" }, { "name": "vol_id", "type": "VolumeID", "value": "590" } ], "code": "SNAP_CREATE", "description_template": "Created snapshot '{vol_name}' id '{vol_id}' from parent '{parent_name}' id '{parent_id}'", "system_version": "(TBD-unknown)" } Create a Custom Event Description Create a custom event API Endpoint POST api/rest/events/custom URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL SHUTDOWN EMERGENCY_SHUTDOWN ALL JSON Data { "description_template": "Some description with bad placeholder {specialCharacters)", "data": null, "visibility": "CUSTOMER", "level": "INFO" } Returns { "metadata": { "ready": true }, "result": { "affected_entity_id": 0, "username": "infinidat", "code": "CUSTOM_INFO_EVENT", "description": "Some description", "timestamp": 1774519819162, "level": "INFO", "seq_num": 223, "tenant_id": 1, "reporter": "CUSTOM", "visibility": "CUSTOMER", "system_version": "8.4.6.20-dev", "source_node_id": 1, "description_template": "Some description", "data": [ { "type": "int", "name": "one", "value": "1" }, { "type": "string", "name": "two", "value": "abc" } ], "id": 223 }, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed MISSING_FIELD HTTP 400 A field ('level') is missing in an object passed ILLEGAL_EVENT_DATA HTTP 400 Illegal event data: (type) is missing or specified as 'null' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('something') WRONG_PARAMETER HTTP 400 The value (Some description with bad placeholder {specialCharacters)) of parameter 'description_template' does not meet a condition: 'field contains illegal placeholder '{dataParam}' format' ILLEGAL_EVENT_LEVEL HTTP 409 Illegal event level: DUMMY_FIRST. Allowed values: INFO, WARNING, ERROR, CRITICAL Create External Event Description Create external event API Endpoint POST api/rest/events URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL SHUTDOWN EMERGENCY_SHUTDOWN ALL JSON Data { "code": "ECOSYSTEM_TOOLS_HEARTBEAT", "data": [ { "type": "String", "name": "event_desc", "value": "Test external event with parameter" } ] } Returns { "metadata": { "ready": true }, "result": { "affected_entity_id": 0, "username": "infinidat", "code": "ECOSYSTEM_TOOLS_HEARTBEAT", "description": "Test external event with parameter", "timestamp": 1774519834894, "level": "INFO", "seq_num": 240, "tenant_id": 1, "reporter": "EXTERNAL", "visibility": "INFINIDAT", "system_version": "8.4.6.20-dev", "source_node_id": 1, "description_template": "{event_desc}", "data": [ { "type": "String", "name": "event_desc", "value": "Test external event with parameter" } ], "id": 240 }, "error": null } Errors UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (null) for field ('data') UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('description') EVENT_NOT_FOUND HTTP 404 Event not found Delete Events Description Deletes events older than a given timestamp API Endpoint DELETE api/rest/events URL Parameters filter RestFilter Timestamp of the event Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": null, "error": null } Errors RELATION_NOT_SUPPORTED_FOR_FIELD HTTP 400 Relation 'EQ' is not supported for field 'timestamp' MALFORMED_PARAMETER HTTP 400 A parameter ('[(id LE 1742984181277)]') could not be translated to an expected type CANNOT_SET_EVENTS_RETENTION_TIME HTTP 409 Cannot delete events that occurred after 2025-03-26 12:16:22 Get a Filtered List of Events Description Get a sorted and filtered list of events. API Endpoint GET api/rest/events URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "id": 643 } ], "error": null } Errors WRONG_PARAMETER HTTP 400 The value (-10) of parameter 'page_size' does not meet a condition: 'int >= 1' MAX_PAGE_SIZE_VIOLATION HTTP 400 Requested page size 1001 exceeds range 1..1000 for command 'GetAllEventsFiltered' ACTION_NOT_ALLOWED_FOR_ROLE HTTP 403 User with role [ADMIN] is not allowed to perform this action Get all Event Types Description Return a list of the available events in the system. API Endpoint GET api/rest/events/types URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "codes": [ { "code": "REPLICATION_GROUP_CREATED", "description": "Created replication group '{rg_name}'", "parameters": [ "rg_name", "rg_id" ], "level": "INFO", "reporter": "MGMT", "visibility": "CUSTOMER" }, { "code": "IP_ADDRESS_ENABLED", "description": "IP Address {IP_Address_ID} on Network Space '{Network_Space_Name}' was enabled", "parameters": [ "network_space_name", "ip_address_id" ], "level": "INFO", "reporter": "MGMT", "visibility": "CUSTOMER" }, { "code": "SCSI_CONNECTION_OVERLOAD", "description": "Node {node_id} has detected danger of SCSI starvation; slowing down initiator(s) {initiator_ports} by sending SCSI BUSY", "parameters": [ "initiator_ports", "node_id" ], "level": "WARNING", "reporter": "BLOCK", "visibility": "INFINIDAT" }, { "code": "UNCOMMITTED_DATA_SESSION_INFO", "description": "An uncommitted data read session (data set:{dataset_id}, session:{session_id}) has ended:'{details}", "parameters": [ "dataset_id", "session_id", "details" ], "level": "INFO", "reporter": "BLOCK", "visibility": "INFINIDAT" }, { "code": "WITNESS_ADDRESS_ADDED", ... TRUNCATED ... Errors See general list of error codes. Get an Event by ID Description Get an event by its ID. API Endpoint GET api/rest/events/{id} URL Parameters id long ID of the event JSON Data none Returns Errors See general list of error codes. No request examples available Export Create an Export Description Create a new export. API Endpoint POST api/rest/exports URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "inner_path": "/", "pref_write": 16384, "pref_read": 16384, "max_read": 32768, "pref_readdir": 16384, "transport_protocols": "TCP", "filesystem_id": 1001, "max_write": 32768, "privileged_port": true, "nfs_version": "NFSv3", "export_path": "/" } Returns { "metadata": { "ready": true }, "result": { "pref_readdir": 16384, "updated_at": 1774519187639, "id": 820, "pref_write": 16384, "anonymous_uid": 65534, "max_write": 32768, "export_path": "/", "32bit_file_id": false, "snapdir_visible": true, "make_all_users_anonymous": false, "nfsv4_auth": null, "filesystem_id": 1001, "nfs_version": "NFSv3", "permissions": [ { "access": "RW", "no_root_squash": true, "client": "*" } ], "inner_path": "/", "pref_read": 16384, "max_read": 32768, "tenant_id": 1, "created_at": 1774519187639, "enabled": true, "character_encoding": "UTF-8", "transport_protocols": "TCP", "anonymous_gid": 65534, "privileged_port": true }, "error": null } Errors ILLEGAL_PATH_VALUE HTTP 400 The value '"illegal"' of 'inner_path' is illegal UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') EXPORT_PERMISSION_CLIENTS_COUNT_LIMIT HTTP 400 The number of export rules exceeds the system limit of 1000 MISSING_FIELD HTTP 400 A field ('filesystem_id') is missing in an object passed MALFORMED_PARAMETER HTTP 400 A parameter ('TCCP') could not be translated to an expected type EXPORT_ILLEGAL_VALUE HTTP 400 The value 'null' of 'filesystem_id' is illegal WRONG_PARAMETER HTTP 400 The value (-1) of parameter 'anonymous_gid' does not meet a condition: 'must be greater than or equal to 0' USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-b1761c87-d' is forbidden to modify filesystem 'auto-filesystem--45387905-' FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found INVALID_NFSV4_EXPORT_PATH HTTP 409 The export path '/' is invalid for NFSv4 exports EXPORT_FILESYSTEM_COUNT_LIMIT HTTP 409 A new export cannot be created. The filesystem has reached the maximum number of exports NFSV4_AUTH_SCHEME_NOT_SUPPORTED HTTP 409 The NFSv4 authentication scheme 'nfsv4_auth' is not supported SUSPICIOUS_FILESYSTEM_EXPORT HTTP 409 A Windows security-style filesystem can only have NFS exports if it already has SMB shares. Either create an SMB share on this filesystem, or create the NFS exports on a UNIX security-style filesystem EXPORTING_SNAPSHOT_DIRECTORY_NOT_ALLOWED HTTP 409 Exporting an export through its parent filesystem is not allowed. Please export the snapshot directly NFS_PROTOCOL_VERSION_MISMATCH HTTP 409 The protocol version NFSv4 specified does not match the system settings INTERNAL_PATH_NOT_DIR HTTP 409 Internal path '/test' is not a directory within filesystem 'auto-filesystem--d633c1d9-' NFSV4_EXPORT_AND_SMB_SHARE_CONFLICT HTTP 409 A filesystem cannot have both SMB shares and NFSv4 exports EXPORT_PATH_CONFLICT HTTP 409 An export with this path already exists NFSV4_EXPORT_AND_WINDOWS_FILESYSTEM_CONFLICT HTTP 409 A WINDOWS security-style filesystem cannot have NFSv4 exports FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--ce53aa61-') EXPORT_COUNT_LIMIT HTTP 409 A new export cannot be created. The system has reached the maximum number of exports EXPORT_ROOT_ACCESS_CONFLICT HTTP 409 Root permissions cannot be granted on an export with 'squash all users and groups'. Remove one of the two and try again CANNOT_CREATE_EXPORT_FOR_UNESTABLISHED_SNAPSHOT HTTP 409 Cannot create an export for an unestablished snapshot 'auto-reclaim-rc-15180.0001-15181-1774521501479' INTERNAL_PATH_DOES_NOT_EXIST HTTP 409 Internal path '/test' does not exist within filesystem 'auto-filesystem--89de4fce-'. FS_ID 1001, export ID 1 Delete an Export Description Delete an export. Approval required This is a dangerous operation Deleting export 'export_path' will cause all the clients mounted on this export to disconnect API Endpoint DELETE api/rest/exports/{id} URL Parameters id long ID of the export Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "pref_readdir": 16384, "updated_at": 1774519357030, "id": 471, "pref_write": 16384, "anonymous_uid": 65534, "max_write": 32768, "export_path": "/vol//vol1/", "32bit_file_id": false, "snapdir_visible": false, "make_all_users_anonymous": false, "nfsv4_auth": null, "filesystem_id": 1001, "nfs_version": "NFSv3", "permissions": [ { "access": "RW", "no_root_squash": true, "client": "*" } ], "inner_path": "/", "pref_read": 16384, "max_read": 32768, "tenant_id": 1, "created_at": 1774519355065, "enabled": true, "character_encoding": "UTF-8", "transport_protocols": "TCP", "anonymous_gid": 65534, "privileged_port": true }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting export '/vol//vol1/' will cause all the clients mounted on this export to disconnect ACTION_NOT_ALLOWED_FOR_ROLE HTTP 403 User with role [ADMIN] is not allowed to perform this action FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--9be2d893-') Get all Exports Description Get all of the exports. Filterable and Sortable fields:anonymous_gid,anonymous_uid,make_all_users_anonymous,character_encoding,created_at,enabled,export_path,32bit_file_id,id,inner_path,snapdir_visible,max_read,max_write,nfs_version,nfsv4_auth,pref_read,pref_readdir,pref_write,privileged_port,transport_protocols,updated_at. API Endpoint GET api/rest/exports URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "pref_readdir": 16384, "updated_at": 1774519355065, "id": 471, "pref_write": 16384, "anonymous_uid": 65534, "max_write": 32768, "export_path": "/vol//vol1/", "32bit_file_id": false, "snapdir_visible": false, "make_all_users_anonymous": false, "nfsv4_auth": null, "filesystem_id": 1001, "nfs_version": "NFSv3", "permissions": [ { "access": "RW", "no_root_squash": true, "client": "*" } ], "inner_path": "/", "pref_read": 16384, "max_read": 32768, "tenant_id": 1, "created_at": 1774519355065, "enabled": true, "character_encoding": "UTF-8", "transport_protocols": "TCP", "anonymous_gid": 65534, "privileged_port": true } ], "error": null } Errors See general list of error codes. Get an Export Description Get an export. API Endpoint GET api/rest/exports/{id} URL Parameters id long ID of the export Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "pref_readdir": 16384, "updated_at": 1774519355065, "id": 471, "pref_write": 16384, "anonymous_uid": 65534, "max_write": 32768, "export_path": "/vol//vol1/", "32bit_file_id": false, "snapdir_visible": false, "make_all_users_anonymous": false, "nfsv4_auth": null, "filesystem_id": 1001, "nfs_version": "NFSv3", "permissions": [ { "access": "RW", "no_root_squash": true, "client": "*" } ], "inner_path": "/", "pref_read": 16384, "max_read": 32768, "tenant_id": 1, "created_at": 1774519355065, "enabled": true, "character_encoding": "UTF-8", "transport_protocols": "TCP", "anonymous_gid": 65534, "privileged_port": true }, "error": null } Errors EXPORT_NOT_FOUND HTTP 404 Export not found Update an Export Description Update export attributes. Approval required This is a dangerous operation Disabling export 'export_path' will cause all clients mounted on this export to disconnect API Endpoint PUT api/rest/exports/{id} URL Parameters id long ID of the export Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "enabled": false } Returns { "metadata": { "ready": true }, "result": { "pref_readdir": 16384, "updated_at": 1774519356027, "id": 471, "pref_write": 16384, "anonymous_uid": 65534, "max_write": 32768, "export_path": "/vol//vol1/", "32bit_file_id": false, "snapdir_visible": false, "make_all_users_anonymous": false, "nfsv4_auth": null, "filesystem_id": 1001, "nfs_version": "NFSv3", "permissions": [ { "access": "RW", "no_root_squash": true, "client": "*" } ], "inner_path": "/", "pref_read": 16384, "max_read": 32768, "tenant_id": 1, "created_at": 1774519355065, "enabled": true, "character_encoding": "UTF-8", "transport_protocols": "TCP", "anonymous_gid": 65534, "privileged_port": true }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('a') could not be translated to an expected type EXPORT_ILLEGAL_VALUE HTTP 400 The value '100000000' of 'max_write' is illegal. The value must be between 16384 and 16777216 MALFORMED_CONTENT HTTP 400 The request content is malformed NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 This resource does not support updating multiple fields in one request UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('export_path') WRONG_PARAMETER HTTP 400 The value (127.0.0.1,192.168.0.3) of parameter 'permissions' does not meet a condition: '*, valid IP or IP range' APPROVAL_REQUIRED HTTP 403 Disabling export '/vol//vol1/' will cause all clients mounted on this export to disconnect INVALID_NFSV4_EXPORT_PATH HTTP 409 The export path '/' is invalid for NFSv4 exports NFSV4_AUTH_SCHEME_NOT_SUPPORTED HTTP 409 The NFSv4 authentication scheme 'nfsv4_auth' is not supported FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--27e923f2-') EXPORT_ROOT_ACCESS_CONFLICT HTTP 409 Root permissions cannot be granted on an export with 'squash all users and groups'. Remove one of the two and try again TARGET_REPLICA_EXPORT_NOT_ALLOWED HTTP 409 A replica target cannot be exported INTERNAL_PATH_NOT_DIR HTTP 409 Internal path '/' is not a directory within filesystem 'auto-filesystem--d633c1d9-' NFS_PROTOCOL_VERSION_MISMATCH HTTP 409 The protocol version NFSv4 specified does not match the system settings OPERATION_NOT_SUPPORTED HTTP 409 Updating an export of an S3 filesystem is not supported EXPORT_IS_ENABLED HTTP 409 The operation is prohibited on an enabled export NFSV4_EXPORT_AND_WINDOWS_FILESYSTEM_CONFLICT HTTP 409 A WINDOWS security-style filesystem cannot have NFSv4 exports External Services Get Service State Description Return a specific external service status API Endpoint GET api/rest/external_services/{service} URL Parameters service String Service name Roles ALL System States ALL JSON Data none Returns Errors NO_SUCH_SERVICE HTTP 404 No such service ('non-existing') List External Services Description List the external services API Endpoint GET api/rest/external_services URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "node_states": null, "health": null, "name": "elastic", "cluster_state": "RED" }, { "node_states": [ { "part_of_cluster": false, "state": "failed", "node_id": 1, "role": "UNAVAILABLE" }, { "part_of_cluster": false, "state": "failed", "node_id": 2, "role": "UNAVAILABLE" }, { "part_of_cluster": false, "state": "failed", "node_id": 3, "role": "UNAVAILABLE" } ], "name": "postgresql", "cluster_state": "RED" } ], "error": null } Errors See general list of error codes. Start Service Description Start en external service API Endpoint POST api/rest/external_services/{service}/start URL Parameters service String Service name JSON Data none Returns Errors See general list of error codes. No request examples available Stop Service Description Stop en external service API Endpoint POST api/rest/external_services/{service}/stop URL Parameters service String Service name Roles INFINIDAT, TECHNICIAN System States ACTIVE JSON Data { "kind": null, "node_id": 5 } Returns Errors ILLEGAL_NODE_ID HTTP 404 Illegal node ID 5. Legal values 1 FC Port Disable FC Port Description disable fc port Approval required This is a dangerous operation Disabling this FC port may lead to a degraded host connectivity or a complete host disconnection API Endpoint POST api/rest/components/nodes/{id}/fc_ports/{fc}/disable URL Parameters id String The node id fc int The port id Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "connection_speed": null, "state_description": "", "hba_port_number": 1, "sfp_type": null, "SFP_Laser_Bias_Current_mA": null, "link_state": null, "TX_power_low_Warning_THLD_mW": null, "soft_target_addresses": [], "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "wwnn": "57:42:b0:f0:00:00:13:00", "qla_errs": 0, "hardware_revision": null, "firmware": null, "state": "OK", "role": "HARD_PORT", "TX_power_high_Warning_THLD_mW": null, "switch_vendor": "", "laser_power_level_state": null, "vendor": "QLogic", "last_probe_timestamp": 1390254043000, "RX_power_low_Warning_THLD_mW": null, "laser_RX_power_mW": null, "max_speed": null, "laser_TX_power_mW": null, "laser_power_level_state_description": null, "probe_ttl": 10000, "enabled": false, "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "wwpn": "57:42:b0:f0:00:00:13:11", "RX_power_high_Warning_THLD_mW": null, "model": "unknown", "switch_wwnn": "" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Disabling this FC port may lead to a degraded host connectivity or a complete host disconnection PORT_ALREADY_DISABLED HTTP 409 Cannot disable a disabled port Enable FC Port With Role Description enable fc port and set role API Endpoint POST api/rest/components/nodes/{id}/fc_ports/{fc}/enable URL Parameters id String The node id fc int The port id Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "role": "SOFT_PORT" } Returns { "metadata": { "ready": true }, "result": { "connection_speed": 8000000000, "state_description": "", "hba_port_number": 1, "sfp_type": null, "SFP_Laser_Bias_Current_mA": null, "link_state": "UP", "TX_power_low_Warning_THLD_mW": null, "soft_target_addresses": [], "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "wwnn": "57:42:b0:f0:00:00:13:00", "qla_errs": 0, "hardware_revision": null, "firmware": "5.3.13", "state": "OK", "role": "HARD_PORT", "TX_power_high_Warning_THLD_mW": null, "switch_vendor": "skynet", "laser_power_level_state": null, "vendor": "QLogic", "last_probe_timestamp": 1390254043000, "RX_power_low_Warning_THLD_mW": null, "laser_RX_power_mW": null, "max_speed": 8000000000, "laser_TX_power_mW": null, "laser_power_level_state_description": null, "probe_ttl": 10000, "enabled": true, "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "wwpn": "57:42:b0:f0:00:00:13:11", "RX_power_high_Warning_THLD_mW": null, "model": "ISP2532", "switch_wwnn": "ca:11:f0:49:1a:ac:e3:ff" }, "error": null } Errors PORT_ALREADY_ENABLED HTTP 409 Cannot enable an enabled port PORT_OPERATION_FAILED HTTP 409 Operation 'enable and set port role' on port system.racks[1].nodes[1].fc_ports[1] failed. Requested role is illegal Get FC Port Description Return fc port by id API Endpoint GET api/rest/components/nodes/{id}/fc_ports/{fc} URL Parameters id String The node id fc int The port id Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "connection_speed": null, "state_description": "", "hba_port_number": 1, "sfp_type": null, "SFP_Laser_Bias_Current_mA": null, "link_state": "DOWN", "TX_power_low_Warning_THLD_mW": null, "soft_target_addresses": [], "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "wwnn": null, "qla_errs": 0, "hardware_revision": null, "firmware": null, "state": "MISSING", "role": "HARD_PORT", "TX_power_high_Warning_THLD_mW": null, "switch_vendor": "", "laser_power_level_state": null, "vendor": "", "last_probe_timestamp": 0, "RX_power_low_Warning_THLD_mW": null, "laser_RX_power_mW": null, "max_speed": null, "laser_TX_power_mW": null, "laser_power_level_state_description": null, "probe_ttl": 10000, "enabled": true, "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "wwpn": null, "RX_power_high_Warning_THLD_mW": null, "model": "", "switch_wwnn": "" }, "error": null } Errors PORT_NOT_FOUND HTTP 404 Port not found Get FC Ports Description Return fc ports for specific node API Endpoint GET api/rest/components/nodes/{id}/fc_ports/ URL Parameters id String The node id Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 8, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "connection_speed": null, "state_description": "", "hba_port_number": 1, "sfp_type": null, "SFP_Laser_Bias_Current_mA": null, "link_state": "DOWN", "TX_power_low_Warning_THLD_mW": null, "soft_target_addresses": [], "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "wwnn": null, "qla_errs": 0, "hardware_revision": null, "firmware": null, "state": "MISSING", "role": "HARD_PORT", "TX_power_high_Warning_THLD_mW": null, "switch_vendor": "", "laser_power_level_state": null, "vendor": "", "last_probe_timestamp": 0, "RX_power_low_Warning_THLD_mW": null, "laser_RX_power_mW": null, "max_speed": null, "laser_TX_power_mW": null, "laser_power_level_state_description": null, "probe_ttl": 10000, "enabled": true, "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "wwpn": null, "RX_power_high_Warning_THLD_mW": null, "model": "", "switch_wwnn": "" }, { "connection_speed": null, "state_description": "", "hba_port_number": 2, "sfp_type": null, "SFP_Laser_Bias_Current_mA": null, "link_state": "DOWN", "TX_power_low_Warning_THLD_mW": null, "soft_target_addresses": [], "id": 2, "sfp_model": null, "SFP_Voltage_Volt": null, "wwnn": null, ... TRUNCATED ... Errors See general list of error codes. FC Switch Delete FC Switch Description Delete fc switch from the system API Endpoint DELETE api/rest/fc/switches/{id} URL Parameters id long The id of the fc switch to delete Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "wwnn": "wwnn", "vendor": "skynet2", "resiliency_state": "N/A", "resiliency_bitmap": null, "id": 1278, "name": "2" }, "error": null } Errors FC_SWITCH_NOT_FOUND HTTP 404 FC switch not found FC_SWITCH_NOT_DISCONNECTED HTTP 409 FC switch '2' is not disconnected - Please disconnect it first Get all FC Switches Description Return fc switches according to filter and sort params Filterable and Sortable fields:id,name,vendor,wwnn. API Endpoint GET api/rest/fc/switches URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "wwnn": "auto-wwnn--4fddc6b2-a385-4", "vendor": "auto-vendor--b388194c-f560", "resiliency_state": "DISCONNECTED", "resiliency_bitmap": [ false ], "id": 1297, "name": "auto-fcSwitch--867ba9a5-ee" }, { "wwnn": "wwnn", "vendor": "skynet", "resiliency_state": "OK", "resiliency_bitmap": [ true ], "id": 1299, "name": "2" } ], "error": null } Errors See general list of error codes. Get FC Switch by ID Description Get information for single fc switch API Endpoint GET api/rest/fc/switches/{id} URL Parameters id long The id of the fc switch to get data for Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "wwnn": "wwnn", "vendor": "skynet", "resiliency_state": "N/A", "resiliency_bitmap": null, "id": 1234, "name": "1" }, "error": null } Errors FC_SWITCH_NOT_FOUND HTTP 404 FC switch not found Rename FC Switch by ID Description Rename a single fc switch by id API Endpoint PUT api/rest/fc/switches/{id} URL Parameters id long The id of the fc switch to rename Roles ADMIN, INFINIDAT System States ALL JSON Data { "name": "1" } Returns { "metadata": { "ready": true }, "result": { "wwnn": "wwnn", "vendor": "skynet", "resiliency_state": "OK", "resiliency_bitmap": [ true ], "id": 1234, "name": "5" }, "error": null } Errors FC_SWITCH_NAME_CONFLICT HTTP 409 A FC switch with this name already exists Filesystem Create Filesystem Description Create a filesystem Approval required This is a dangerous operation Dataset 'datasetName' will be added to SSA Express cache API Endpoint POST api/rest/filesystems URL Parameters replicate_to_async_target boolean Replicate the created snapshot/s to the remote side Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "used_capacity_critical": 100, "name": "auto-filesystem--c5bc6fd4-", "pool_id": 1000, "used_capacity_warning": 100, "atime_mode": "NOATIME", "security_style": "WINDOWS", "provtype": "THIN", "size": 1000000000 } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": false, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--c5bc6fd4-", "family_id": 1001, "mapped": false, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": null, "security_style": "WINDOWS", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": 382, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": 0, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 4, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774519084484, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "ssd_enabled": true, "snapshot_policy_name": "Default Policy", "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--bd89dbd2-ab5f-4", "used": 0, "mobility_source": null, "tree_allocated": 0, "data": 1001, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774519084484, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('size') is missing in an object passed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') MALFORMED_PARAMETER HTTP 400 A parameter ('security_style') could not be translated to an expected type ILLEGAL_THRESHOLD_VALUE HTTP 400 Illegal threshold value: 0 WRONG_PARAMETER HTTP 400 The value (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) of parameter 'snapdir_name' does not meet a condition: 'size must be between 1 and 255' INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name '..' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for [POOL_ADMIN] INVALID_SSA_EXPRESS_DATASET_TYPE HTTP 403 SSA Express does not support snapshots, consistency groups, snapshot groups and vVols USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-b1761c87-d' is forbidden to modify pool 'auto-pool--10442010-bd21-4' APPROVAL_REQUIRED HTTP 403 Dataset 'auto-filesystem--73a76baa-' will be added to SSA Express cache SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found SSA_EXPRESS_DATASET_MUST_BE_SSD_ENABLED HTTP 409 Datasets in SSA Express cache must be SSD enabled DATASET_MIN_CAPACITY HTTP 409 The requested filesystem size is less than the minimum filesystem size: 1GB FILESYSTEM_FAMILY_COUNT_LIMIT HTTP 409 A new filesystem family cannot be created. The system has reached the maximum number of filesystem families ATIME_GRANULARITY_BELOW_MIN_LIMIT HTTP 409 Cannot set the atime_granularity to less than 3600 seconds CANNOT_TAKE_SNAPSHOT HTTP 409 Cannot take a snapshot due to a background process. Please retry later INSUFFICIENT_SSA_EXPRESS_CAPACITY HTTP 409 Not enough free capacity in SSA Express cache for this action INVALID_FILESYSTEM_ROOT_MODE HTTP 409 Invalid filesystem root mode 'bad value' FILESYSTEM_COUNT_LIMIT HTTP 409 A new filesystem cannot be created. The system has reached the maximum number of filesystems REPLICA_ALREADY_RECLAIMED HTTP 409 The entity requested is a replication staging area and has already been reclaimed with name auto-filesystem--bc03cc3a- ILLEGAL_POOL_TYPE HTTP 409 Cannot create a FILESYSTEM 'fs1' in vVol pool 'storage container' because it is dedicated for VMware vVols UNSUPPORTED_WORM_DEFAULT_RETENTION HTTP 409 worm_default_retention field cannot be set for non-WORM filesystems UNSUPPORTED_SNAPSHOT_WORM_FILESYSTEM HTTP 409 Cannot create A WORM filesystem snapshot WORM_FS_NOT_SUPPORTED HTTP 409 WORM filesystems are not supported MAX_TREE_DEPTH HTTP 409 Tree depth limit reached NAS_DISABLED HTTP 409 The NAS service is currently disabled. The requested filesystem operation cannot be performed INVALID_LOCK_DURATION HTTP 409 Lock expiry cannot exceed 365 days WRITABLE_LOCKED_SNAPSHOT HTTP 409 A snapshot cannot be both writable and locked UNSUPPORTED_FILESYSTEM_SECURITY_STYLE HTTP 409 Setting Posix File Ownership is not supported on a unix filesystem INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--c1ec82c8-') FILESYSTEM_NAME_EQUALS_TO_SNAPDIR HTTP 409 Filesystem name '.MySnapDir' cannot be identical to the name of the filesystem's snapshot directory or to the default snapshot directory name INTERNAL_PATH_NOT_DIR HTTP 409 Internal path '/i/am/internal/path' is not a directory within filesystem 'auto-filesystem--553161f1-' MAX_FAMILY_SIZE HTTP 409 The filesystem family whose root is 'auto-filesystem--6748a856-' now has 10 snapshots, which is the maximum allowed. New snapshots for this family can only be created after other snapshots are deleted DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit REPLICA_INCONSISTENT_DATASETS HTTP 409 Taking a snapshot cannot be completed because at least one dataset has not reached a consistent state ILLEGAL_WARNING_OR_CRITICAL_VALUE HTTP 409 Illegal value 90. Critical value (75) must be greater than warning value (90) CANNOT_CREATE_WRITABLE_SNAPSHOT HTTP 409 A snapshot of a replica target cannot be write-enabled when created FILESYSTEM_NAME_CONFLICT HTTP 409 An entity with this name already exists INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking filesystem is not allowed ILLEGAL_WORM_DEFAULT_RETENTION HTTP 409 The filesystem's 'WORM default retention' value must be at least 86400 seconds and no more than 157680000 seconds Create Filesystem Snapshot Description Create a filesystem API Endpoint POST api/rest/filesystems URL Parameters replicate_to_async_target boolean Replicate the created snapshot/s to the remote side Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "parent_id": 1003, "name": "auto-rmr-test-snap-2a2d923" } Returns Errors REPLICA_INCONSISTENT_DATASETS HTTP 409 Taking a snapshot cannot be completed because at least one dataset has not reached a consistent state Delete Filesystem Description Delete a filesystem Approval required This is a dangerous operation The entity 'volume_name' will be deleted. The data that is stored on the entity will be lost with no way to recover it API Endpoint DELETE api/rest/filesystems/{id} URL Parameters id long ID of the filesystem to delete Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-fs--eed6a722-3581-4ac", "family_id": 1001, "mapped": false, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": null, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": null, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": 0, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 32, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774520015991, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "ssd_enabled": true, "snapshot_policy_name": null, "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--5139e76c-5119-4", "used": 0, "mobility_source": null, "tree_allocated": 0, "data": 1001, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774520015991, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express APPROVAL_REQUIRED HTTP 403 The snapshot 'auto-filesystem--71273fa8-' will be deleted. The data that is stored on the snapshot will be lost with no way to recover it FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found FILESYSTEM_HAS_EXPORT HTTP 409 The filesystem cannot be deleted. Filesystem 'auto-filesystem--fc99088b-' has active export(s) FILESYSTEM_HAS_SHARES HTTP 409 The filesystem 'auto-filesystem--202ab516-' cannot be deleted because it has active shares FILESYSTEM_WORM_SUSPENDED HTTP 409 Cannot delete a suspended WORM filesystem FILESYSTEM_WORM_LEGAL_HOLD_ENABLED HTTP 409 Cannot delete a WORM filesystem under legal hold FILESYSTEM_WORM_LOCKED_FILES HTTP 409 Cannot delete a WORM filesystem that has locked files REPLICATED_DATASET_DELETE_NOT_ALLOWED HTTP 409 A replicated filesystem cannot be deleted. Remove the replication, then delete the filesystem CHILD_FILESYSTEMS_HAVE_EXPORTS HTTP 409 The filesystem 'auto-filesystem--11e967c5-' cannot be deleted. One or more of its children have active export(s) DELETE_LOCKED_SNAPSHOT HTTP 409 Snapshot 'snap' is locked, and can only be deleted after '2026-03-31 13:29:41' UTC CHILD_FILESYSTEMS_HAVE_SHARES HTTP 409 The filesystem 'auto-filesystem--aa8005f1-' cannot be deleted because one or more of its children have active shares DELETE_SNAPSHOT_WITH_LOCKED_DESCENDANTS HTTP 409 Snapshot 'auto-filesystem--2295a88a-' has locked descendants, and can only be deleted after they expire, on: '2026-03-31 13:29:49' UTC Delete Simulation Description Return an estimate of the reclaimed space in case of filesystem deletion API Endpoint POST api/rest/filesystems/delete_simulation URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "entities": [ 1001, 1002 ] } Returns { "metadata": { "ready": true }, "result": { "valid": true, "space_reclaimable": 0 }, "error": null } Errors See general list of error codes. Get all Filesystems Description Return a filtered and sorted list of filesystems. Filterable and Sortable fields:atime_granularity,atime_mode,_cg_guid,_cg_snapshot_guid,compression_enabled,is_consistent,created_at,data_snapshot_guid,dataset_type,depth,_is_established,family_id,nfs_filesystem_id,id,lock_expires_at,mapped,mgmt_snapshot_guid,mobility_source,name,posix_file_ownership,provtype,_reclaimed_snapshot_remote_system_serial,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_active_active_peer,rmr_snapshot_guid,rmr_source,rmr_target,security_style,serial,size,snapdir_accessible,snapdir_name,snapshot_retention,ssa_express_enabled,ssd_enabled,suspend_state,type,updated_at,used_capacity_critical,used_capacity_warning,worm_default_retention,worm_legal_hold,worm_level,write_protected. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/filesystems URL Parameters show_worm_max_retention boolean Determines if the worm_max_retention property (used by WORM filesystems) is shown include_data_reduction_hist boolean Show the effective capacity histogram and reserve fields Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--40a66814-", "family_id": 1001, "mapped": false, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": null, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": 1903, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": 0, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 73, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774519585094, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "ssd_enabled": true, "snapshot_policy_name": "Default Policy", "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--7c24f751-cc9d-4", "used": 0, "mobility_source": null, "tree_allocated": 0, "data": 1001, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774519585094, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 } ], "error": null } Errors NOT_SORTABLE_FIELD HTTP 400 The request contains a field that cannot be sortable: ('root_mode') NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('root_mode') Get Filesystem by ID Description Return a filesystem by ID API Endpoint GET api/rest/filesystems/{id} URL Parameters id long Filesystem ID Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--fe5995a8-", "family_id": 1001, "mapped": false, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": null, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": 468, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": 0, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 1, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774519353694, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "ssd_enabled": true, "snapshot_policy_name": "Default Policy", "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--55654847-6d02-4", "used": 0, "mobility_source": null, "tree_allocated": 0, "data": 1001, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774519353694, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found Get Replication Pairs by Filesystem ID Description Returns filesystem replication pairs API Endpoint GET api/rest/filesystems/{id}/replication_pairs URL Parameters id long ID of the filesystem Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "local_base_action": "CREATE", "local_entity": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [ 15180 ], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-replica-fs--8829339d-", "family_id": 1003, "mapped": false, "rmr_active_active_peer": false, "_is_established": false, "has_internal_children": null, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": null, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, ... TRUNCATED ... Errors See general list of error codes. Move a Filesystem Between Pools Description Move a filesystem from one pool to another API Endpoint POST api/rest/filesystems/{id}/move URL Parameters id long The ID of the filesystem to move Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "pool_id": 1000, "with_capacity": false } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--656c7034-", "family_id": 1002, "mapped": false, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": false, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": 5195, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1001, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": null, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 187, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774520199644, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "ssd_enabled": true, "snapshot_policy_name": "Default Policy", "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--acca634d-62b1-4", "used": null, "mobility_source": null, "tree_allocated": null, "data": 1002, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774520199438, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found POOL_PHYSICAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough physical capacity S3_POOL_MOVE_ENTITIES_NOT_ALLOWED HTTP 409 Entities cannot be moved to or from an S3 pool Refresh a Filesystem Snapshot Description Refresh a filesystem snapshot Approval required This is a dangerous operation The filesystem 'filesystemName' has active export(s), refreshing or restoring it may cause data corruption for clients currently mounted API Endpoint POST api/rest/filesystems/{id}/refresh URL Parameters id long ID of the target snapshot Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1001 } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "NONE", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": null, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--396f7664-", "family_id": 1001, "mapped": true, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": null, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": null, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": true, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": 0, "snapshot_retention": null, "size": 1000013824, "parent_id": 1001, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "SNAPSHOT", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": false, "compression_enabled": true, "nfs_filesystem_id": 189, "write_protected": true, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774520202617, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "ssd_enabled": true, "snapshot_policy_name": null, "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--82a5d547-6f45-4", "used": 0, "mobility_source": null, "tree_allocated": 0, "data": 1002, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774520202308, "worm_max_retention": null, "depth": 1, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 The filesystem 'auto-filesystem--396f7664-' has active export(s), refreshing or restoring it may cause data corruption for clients currently mounted OPERATION_PARTIAL_FAILURE HTTP 409 Operation Refreshing a target snaphot failed, status is unknown. User intervention is required. Please try again latter ILLEGAL_POOL_STATE HTTP 409 Illegal pool state TARGET_REPLICATED_SNAPSHOT_REFRESH_NOT_ALLOWED HTTP 409 A target replicated snapshot cannot be refreshed REPLICATED_FILESYSTEM_SNAPSHOT_REFRESH_NOT_ALLOWED HTTP 409 A filesystem replication target snapshot cannot be refreshed CANNOT_REFRESH_UNESTABLISHED_SNAPSHOT HTTP 409 Cannot refresh an unestablished snapshot, please write enable the snapshot first REFRESH_TARGET_IS_RMR_SNAPSHOT HTTP 409 The target is a replication snapshot REFRESH_TARGET_HAS_CHILDREN HTTP 409 The target that is provided for this operation has children REFRESH_TARGET_NOT_SNAPSHOT HTTP 409 The target that is provided for this operation is not a snapshot FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--4c7d2135-') INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires REFRESH_TARGET_NOT_DIRECT_SNAPSHOT HTTP 409 The target that is provided for this operation is not a direct snapshot of the source Restore a Filesystem Description Restore a filesystem from one of its snapshots Approval required This is a dangerous operation Restoring datasets will overwrite their data API Endpoint POST api/rest/filesystems/{id}/restore URL Parameters id long ID of the target filesystem Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1002 } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express APPROVAL_REQUIRED HTTP 403 Restoring datasets will overwrite their data ILLEGAL_FS_RESTORE_REQUEST HTTP 409 Filesystem cannot be restored. auto-filesystem--0314656a- is not a direct snapshot of auto-filesystem--ac0c934e- CANNOT_RESTORE_WORM_FILESYSTEM HTTP 409 WORM filesystems cannot be restored from snapshots PROTECTED_DATASET_CANNOT_BE_RESTORED HTTP 409 A dataset (auto-filesystem--d63ec230-) that is write-protected cannot be restored ILLEGAL_RESTORE_REQUEST HTTP 409 Dataset cannot be restored. auto-filesystem--ac0c934e- is not a descendant of auto-filesystem--fad15ddc- REPLICATED_DATASET_RESTORE_NOT_ALLOWED HTTP 409 Replicated filesystem cannot be restored FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--5909f674-') INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires Update a Filesystem Attribute Description Update an attribute of a filesystem. For example: set the filesystem capacity to be compressed by setting the value of compression_enabled to yes Approval required This is a dangerous operation Dataset 'datasetName' is now in the SSA Express queue and will load to SSA Express cache after all previously queued datasets have been loaded. You may remove it from the SSA Express queue at any time before it begins loading API Endpoint PUT api/rest/filesystems/{id} URL Parameters id long ID of filesystem to update force_resize boolean Allow force resize Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "suspend_state": "DROP" } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "suspend_state": "DROP", "atime_granularity": 0, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "posix_file_ownership": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "is_consistent": true, "qos_shared_policy_id": null, "promote_source_id": null, "data_reduction_ratio": 1.0, "is_internal": false, "reducible_data_disk_usage_capacity": null, "has_children": false, "replica_ids": [], "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "name": "auto-filesystem--9be2d893-", "family_id": 1001, "mapped": true, "rmr_active_active_peer": false, "_is_established": true, "has_internal_children": false, "security_style": "UNIX", "reducible_data_percents": null, "used_capacity_critical": 100, "snapshot_policy_id": 961, "non_reducible_data_percents": null, "snapdir_name": ".snapshot", "lock_state": "UNLOCKED", "visible_in_snapdir": false, "created_by_snapshot_policy_id": null, "worm_legal_hold": null, "cg_id": null, "created_by_schedule_name": null, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "non_reducible_host_written_data": null, "rmr_target": false, "used_capacity_warning": 100, "cg_name": null, "qos_policy_name": null, "allocated": null, "snapshot_retention": null, "size": 1000013824, "parent_id": 0, "remote_snapshot_retention_lock": null, "worm_level": "NONE", "_reclaimed_snapshot_remote_system_serial": null, "type": "MASTER", "_cg_guid": null, "compression_suppressed": null, "replication_types": [ "NONE" ], "zeros_capacity": null, "atime_mode": "NOATIME", "rmr_snapshot_guid": null, "reducible_host_written_data": null, "capacity_savings_per_entity": null, "qos_shared_policy_name": null, "modified": true, "compression_enabled": true, "nfs_filesystem_id": 27, "write_protected": false, "rmr_source": false, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_name": null, "_cg_snapshot_guid": null, "updated_at": 1774519438382, "worm_default_retention": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "ssd_enabled": true, "snapshot_policy_name": "Default Policy", "snapdir_accessible": true, "created_by_schedule_id": null, "reducible_data_reduction_ratio": null, "pool_name": "auto-pool--e4735f04-f35d-4", "used": null, "mobility_source": null, "tree_allocated": null, "data": 1001, "lock_expires_at": null, "capacity_savings": null, "data_snapshot_guid": null, "tenant_id": 1, "created_at": 1774519437587, "worm_max_retention": null, "depth": 0, "dataset_type": "FILESYSTEM", "num_blocks": 1953152 }, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (null) for field ('write_protected') ILLEGAL_THRESHOLD_VALUE HTTP 400 Illegal threshold value: 110 MALFORMED_PARAMETER HTTP 400 A parameter ('suspend_state') could not be translated to an expected type INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name '..' SSA_EXPRESS_QUEUE_FULL HTTP 403 The SSA Express queue has reached its limit of 100 datasets. You cannot add more datasets at this time INVALID_SSA_EXPRESS_DATASET_TYPE HTTP 403 SSA Express does not support snapshots, consistency groups, snapshot groups and vVols APPROVAL_REQUIRED HTTP 403 Dataset 'auto-filesystem--da4dfc1c-' is now in the SSA Express queue and will load to SSA Express cache after all previously queued datasets have been loaded. You may remove it from the SSA Express queue at any time before it begins loading UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for [POOL_ADMIN] SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found SNAPSHOT_LOCK_FORBIDDEN HTTP 409 Snapshot 'snap' cannot be further locked as it is write-enabled INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future SNAPSHOT_RETENTION_INVALID HTTP 409 The new snapshot retention must be longer than the current one DATASET_SHRINKING_NOT_ALLOWED HTTP 409 filesystem size cannot be reduced REPLICATED_DATASET_WP_REMOVAL_NOT_ALLOWED HTTP 409 Replicated filesystem write-protect attribute cannot be changed REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica DATASET_SSA_EXPRESS_ALREADY_DISABLED HTTP 409 Dataset 'auto-filesystem--da4dfc1c-' was not in SSA Express cache UNLOCK_FORBIDDEN HTTP 409 Snapshot 'snap' is locked until '2026-03-31 13:29:10' UTC, the lock cannot be removed INSUFFICIENT_SSA_EXPRESS_CAPACITY HTTP 409 Not enough free capacity in SSA Express cache for this action ILLEGAL_WORM_LEGAL_HOLD HTTP 409 The filesystem's 'WORM legal hold' value cannot be null DATASET_SSA_EXPRESS_ALREADY_ENABLED HTTP 409 Dataset 'auto-filesystem--da4dfc1c-' is already in SSA Express cache ILLEGAL_WORM_DEFAULT_RETENTION HTTP 409 The filesystem's 'WORM default retention' value must be at least 86400 seconds and no more than 157680000 seconds FILESYSTEM_SUSPEND_NOT_ALLOWED HTTP 409 Filesystem 'auto-filesystem--da700845-' cannot be suspended. The filesystem has active SMB shares and/or NFSv4 exports. Disable them and try again. FILESYSTEM_RESIZE_NOT_ALLOWED HTTP 409 A write-protected filesystem cannot be resized NON_SNAPSHOT_RETENTION_CANNOT_BE_MODIFIED HTTP 409 Only snapshots and snap groups can have a retention time UNSUPPORTED_WORM_DEFAULT_RETENTION HTTP 409 worm_default_retention field cannot be set for non-WORM filesystems INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--51a4fc77-') ATIME_GRANULARITY_BELOW_MIN_LIMIT HTTP 409 Cannot set the atime_granularity to less than 3600 seconds ILLEGAL_WARNING_OR_CRITICAL_VALUE HTTP 409 Illegal value 80. Critical value (80) must be greater than warning value (90) UNSUPPORTED_WORM_LEGAL_HOLD HTTP 409 worm_legal_hold field cannot be set for non-WORM filesystems SNAPSHOT_RETENTION_FIELD_NOT_SUPPORTED HTTP 409 The retention cannot be changed because snapshot 'auto-snap--862baa86-9921-4' is not a replicated snapshot, and it was not created by a snapshot policy FILESYSTEM_NAME_CONFLICT HTTP 409 An entity with this name already exists INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking filesystem is not allowed SNAP_RESIZE_NOT_ALLOWED HTTP 409 A write-protected snapshot cannot be resized LOCK_EXPIRY_TOO_SHORT HTTP 409 The lock expiry of snapshot 'snap' cannot be lowered. Current expiry time is '2026-03-31 13:28:59' UTC WRITE_ENABLE_LOCKED_SNAPSHOT HTTP 409 Snapshot 'snap' is locked, and can only be write-enabled after '2026-04-02 13:29:00' UTC FILESYSTEM_NAME_EQUALS_TO_SNAPDIR HTTP 409 Filesystem name '.MySnapDir' cannot be identical to the name of the filesystem's snapshot directory or to the default snapshot directory name SSA_EXPRESS_DATASET_MUST_BE_SSD_ENABLED HTTP 409 Datasets in SSA Express cache must be SSD enabled Host Cluster Add a Host to a Cluster Description Add a host to a cluster. Approval required This is a dangerous operation This operation will provide access to the same volume via SCSI and NVMe-oF hosts and/or clusters at the same time. Some capabilities such as reservations are not supported across protocols, and will silently fail API Endpoint POST api/rest/clusters/{id}/hosts URL Parameters id long ID of the cluster Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "id": 1000 } Returns { "metadata": { "ready": true }, "result": { "luns": [], "path_health": "NOT_OK", "hosts_count": 1, "name": "auto-Cluster4Test-923f4c81", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519028640, "host_type": "DEFAULT", "updated_at": 1774519028640, "san_client_type": "CLUSTER", "hosts": [ { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519028138, "port_type": [ "FC" ], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 1001, "name": "auto-Host4Test-66caefb9-19", "tenant_id": 1, "created_at": 1774519028138, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0001" } ], "security_chap_has_outbound_secret": false } ], "port_type": [ "FC" ], "ports_disconnected": 0, "luns_count": 0, "id": 1001 }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('foo') MALFORMED_CONTENT HTTP 400 The request content is malformed APPROVAL_REQUIRED HTTP 403 This operation will provide access to the same volume via SCSI and NVMe-oF hosts and/or clusters at the same time. Some capabilities such as reservations are not supported across protocols, and will silently fail HOST_CLUSTER_NOT_FOUND HTTP 404 Cluster not found NVME_OF_HOST_CANNOT_JOIN_ACTIVE_ACTIVE_CLUSTER HTTP 409 Adding host 'auto-nvmeHost-afad04d3-210' to cluster 'auto-Cluster4Test-b6a11070' failed because hosts containing NVMe-oF ports cannot be added to clusters to which active-active replication volumes are mapped HOST_EXISTS HTTP 409 Host already exists PORT_COUNT_CLUSTER_LIMIT HTTP 409 Port count limit reached for cluster CANT_MIX_NVME_OF_SCSI_ADD_SCSI_HOST_TO_NVME_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-scsiHost-e7b3b6b8-e7c' has FC/iSCSI ports while hosts in cluster 'scsciCluster' have NVMe-oF ports CANT_MIX_NVME_OF_SCSI_ADD_SCSI_PORT_MAPPED_NVME_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the cluster 'hostCluster' is mapped to a volume which is already mapped to host 'auto-nvmeHost-b97de21d-97e' which has NVMe-oF ports CANT_ADD_NVME_OF_HOST_TO_CLUSTER_WITH_VOLUMES_MAPPED_USING_NSID_0 HTTP 409 Adding NVME-oF host 'auto-NvmeHost-a8d8566b-4b1' to cluster 'auto-Cluster4Test-d5d22322' failed because the cluster or its hosts has volumes mapped using NSID 0, which is not a legal NSID value OPENVMS_CLUSTER_UDID_EXISTS HTTP 409 UDID is not unique among cluster 'auto-Cluster4Test-a11f1564' mapped volumes CANT_MIX_NVME_OF_SCSI_ADD_NVME_HOST_TO_SCSI_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-nvmeHost-e5a3db9f-3c5' has NVMe-oF ports while hosts in cluster 'scsciCluster' have FC/iSCSI ports CANT_ADD_HOST_WITH_VOLUMES_MAPPED_USING_NSID_0_TO_NVME_OF_CLUSTER HTTP 409 Adding host 'auto-NeutralHost-498c102f-' to NVMe-oF cluster 'auto-Cluster4Test-6fcf7833' failed because the host has volumes mapped using NSID 0, which is not a legal NSID value HOST_COUNT_CLUSTER_LIMIT HTTP 409 Host count limit reached for cluster CLUSTER_PROHIBITED_HOST_TYPE HTTP 409 The cluster cannot contain hosts of type DEFAULT HOST_ASSIGNED_TO_CLUSTER HTTP 409 Host is already assigned to a cluster CANT_MIX_NVME_OF_SCSI_ADD_NVME_PORT_MAPPED_SCSI_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the cluster 'hostCluster' is mapped to a volume which is already mapped to host 'auto-Host4Test-d30421c6-61' which has FC/iSCSI ports PRIVATE_LUNS_CONFLICT HTTP 409 Both cluster and host are mapped to the same volume MAPPINGS_COUNT_LIMIT HTTP 409 Total mappings count limit reached: 4 Add a LUN to a Cluster Description Add a LUN to a cluster. Approval required This is a dangerous operation Mapping a volume to more than one host or cluster may result in a host corrupting the other host's data. If the hosts belong to the same cluster, it is recommended to define them as a cluster in the system API Endpoint POST api/rest/clusters/{id}/luns URL Parameters id long ID of the cluster Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "volume_id": 1003 } Returns { "metadata": { "ready": true }, "result": { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 0, "id": 98, "lun": 11 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 'auto-volume--0bcc6ca3-6d59' is located in a pool on which the current user has read-only permissions APPROVAL_REQUIRED HTTP 403 Mapping a volume to more than one host or cluster may result in a host corrupting the other host's data. If the hosts belong to the same cluster, it is recommended to define them as a cluster in the system MAPPING_NOT_ALLOWED HTTP 409 Volume 'auto-volume--32eec3ac-5f91' is already mapped to a specific host 'auto-Host4Test-2a5546f8-6b' that is a member of cluster 'auto-Cluster4Test-20f583f7' VVOL_ALREADY_ENABLED_ON_CLUSTER HTTP 409 vVols is already enabled on cluster 'auto-Cluster4Test-d5c2b97e' OPENVMS_CLUSTER_UDID_EXISTS HTTP 409 UDID is not unique among cluster 'auto-Cluster4Test-7a96da98' mapped volumes OPENVMS_LUN_CONTROLLER HTTP 409 Mapping to LUN=0 is prohibited MAPPING_ALREADY_EXISTS HTTP 409 Volume 'auto-volume--42f1677c-1a7d' is already mapped to 'auto-Cluster4Test-44f89945' VOLUME_CANNOT_BE_MAPPED_TO_NVME_OF_CLUSTER_WITH_NSID_0 HTTP 409 Mapping of volume 'auto-volume--16fa0f70-af57' to NVMe-oF cluster 'auto-Cluster4Test-00ccd54a' failed because 0 is not a valid NSID value OPERATION_NOT_SUPPORTED HTTP 409 Mapping a protocol endpoint to LUN=0 is not supported ACTIVE_ACTIVE_VOLUME_CANNOT_BE_MAPPED_TO_NVME_OF_HOST HTTP 409 Mapping of volume 'auto-volume--eba5d479-cbea' failed because active-active replication volumes cannot be mapped to hosts or clusters that contain NVMe-oF ports CANT_MIX_NVME_OF_SCSI_ADD_NVME_PORT_MAPPED_SCSI_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-host2-7507ff9e-3c34-4' is mapped to a volume which is already mapped to host 'auto-scsciHost-8a30b42d-eb' which has FC/iSCSI ports ILLEGAL_LUN HTTP 409 The LUN number passed is not in range ENABLE_VVOL_NOT_ALLOWED HTTP 409 vVols is already enabled on host 'auto-Host4Test-2222a5aa-a5' which is a member of the cluster 'auto-Cluster4Test-b71951e5' OPENVMS_MISSING_UDID HTTP 409 Mapping a volume without an assigned UDID is prohibited LUN_AUTO_ASSIGNMENT_FAILURE HTTP 409 Failed auto-assigning LUN CANT_MIX_NVME_OF_SCSI_ADD_SCSI_PORT_MAPPED_NVME_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-host2-f89e0205-9ea8-4' is mapped to a volume which is already mapped to host 'auto-nvmeHost-e0cc0966-d5a' which has NVMe-oF ports OPENVMS_HOST_UDID_EXISTS HTTP 409 UDID is not unique among host 'auto-Host4Test-f533215a-22' mapped volumes CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_ACCESSED_NVME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-c33bd725-' is already mapped to host 'auto-nvmeHost-5ece1b1e-744' which has NVMe-oF ports while cluster 'hostCluster' has FC/iSCSI ports CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_ACCESSED_SCSI HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-9ab3a083-' is already mapped to host 'auto-Host4Test-557cecea-70' which has FC/iSCSI ports while cluster 'hostCluster' has NVMe-oF ports Create a Cluster Description Create a cluster in the system. API Endpoint POST api/rest/clusters URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "name": "auto-Cluster4Test-923f4c81" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "path_health": "NONE", "hosts_count": 0, "name": "auto-Cluster4Test-923f4c81", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519028640, "host_type": "DEFAULT", "updated_at": 1774519028640, "san_client_type": "CLUSTER", "hosts": [], "port_type": [], "ports_disconnected": 0, "luns_count": 0, "id": 1001 }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') MALFORMED_PARAMETER HTTP 400 A parameter ('host_type') could not be translated to an expected type TENANT_NOT_FOUND HTTP 404 Tenant not found HOST_CLUSTER_NAME_CONFLICT HTTP 409 An entity with this name already exists CLUSTER_COUNT_LIMIT HTTP 409 Cluster count limit reached Delete a Cluster Description Remove a cluster from the system. API Endpoint DELETE api/rest/clusters/{id} URL Parameters id long ID of the cluster Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "luns": [], "path_health": "NOT_OK", "hosts_count": 1, "name": "auto-Cluster4Test-634cbc45", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519423399, "host_type": "DEFAULT", "updated_at": 1774519423399, "san_client_type": "CLUSTER", "hosts": [ { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519422482, "security_chap_has_outbound_secret": false, "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-c71f0e62-d3", "tenant_id": 1, "created_at": 1774519422482, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0003" } ], "port_type": [ "FC" ] } ], "port_type": [ "FC" ], "ports_disconnected": 0, "luns_count": 0, "id": 1001 }, "error": null } Errors HOST_CLUSTER_NOT_FOUND HTTP 404 Cluster not found CLUSTER_HAS_LUNS HTTP 409 Cluster has LUN mappings Get a Cluster Description Get a cluster by its ID. API Endpoint GET api/rest/clusters/{id} URL Parameters id long ID of the cluster Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "luns": [ { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 0, "id": 98, "lun": 11 } ], "path_health": "NOT_OK", "hosts_count": 1, "name": "auto-Cluster4Test-923f4c81", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519028640, "host_type": "DEFAULT", "updated_at": 1774519028640, "san_client_type": "CLUSTER", "hosts": [ { "luns": [ { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 1000, "id": 99, "lun": 11 } ], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519028138, "port_type": [ "FC" ], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 1001, "name": "auto-Host4Test-66caefb9-19", "tenant_id": 1, "created_at": 1774519028138, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 1, "ports": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0001" } ], "security_chap_has_outbound_secret": false } ], "port_type": [ "FC" ], "ports_disconnected": 0, "luns_count": 1, "id": 1001 }, "error": null } Errors HOST_CLUSTER_NOT_FOUND HTTP 404 Cluster not found Get all Clusters Description Get all of the clusters in the system. Filterable and Sortable fields:created_at,id,name,host_type,updated_at. API Endpoint GET api/rest/clusters URL Parameters Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "luns": [], "path_health": "NONE", "hosts_count": 0, "name": "auto-Cluster4Test-923f4c81", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519028640, "host_type": "DEFAULT", "updated_at": 1774519028640, "san_client_type": "CLUSTER", "hosts": [], "port_type": [], "ports_disconnected": 0, "luns_count": 0, "id": 1001 } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('hosts') NOT_SORTABLE_FIELD HTTP 400 The request contains a field that cannot be sortable: ('hosts') Get an Attribute of a Cluster Description Get an attribute of a cluster. API Endpoint GET api/rest/clusters/{id}/{attribute} URL Parameters id long ID of the cluster attribute String The name of the cluster’s attribute JSON Data none Returns Errors See general list of error codes. No request examples available Get LUN by ID Description Get a LUN that belongs to a cluster. API Endpoint GET api/rest/clusters/{id}/luns/{lun} URL Parameters id long ID of the cluster lun int ID of the LUN JSON Data none Returns Errors See general list of error codes. No request examples available Get LUNs Description Get a list of LUNs that belong to a cluster. API Endpoint GET api/rest/clusters/{host_cluster_id}/luns URL Parameters host_cluster_id long ID of the cluster Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "udid": null, "host_cluster_id": 1000, "volume_id": 1002, "clustered": true, "host_id": 0, "id": 213, "lun": 11 } ], "error": null } Errors See general list of error codes. Get the Cluster Hosts Description Get a list of hosts that belong to a cluster. API Endpoint GET api/rest/clusters/{id}/hosts URL Parameters id long ID of the cluster Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "luns": [ { "udid": null, "host_cluster_id": 1103, "volume_id": 1003, "clustered": true, "host_id": 1000, "id": 728, "lun": 11 }, { "udid": null, "host_cluster_id": 1103, "volume_id": 1004, "clustered": true, "host_id": 1000, "id": 729, "lun": 12 }, { "udid": null, "host_cluster_id": 1103, "volume_id": 1005, "clustered": true, "host_id": 1000, "id": 730, "lun": 13 }, { "udid": null, "host_cluster_id": 1103, "volume_id": 1006, "clustered": true, "host_id": 1000, "id": 731, "lun": 14 }, { "udid": null, "host_cluster_id": 1103, "volume_id": 1007, "clustered": true, "host_id": 1000, "id": 732, "lun": 15 }, { "udid": null, "host_cluster_id": 1103, "volume_id": 1008, "clustered": true, "host_id": 1000, "id": 733, "lun": 16 }, ... TRUNCATED ... Errors See general list of error codes. Remove a Host from a Cluster Description Remove a host from a cluster. Approval required This is a dangerous operation Removing a host from a cluster causes the host to lose access to all of the volumes that are mapped to this cluster API Endpoint DELETE api/rest/clusters/{id}/hosts/{host_id} URL Parameters id long ID of the cluster host_id long ID of the host Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "luns": [ { "udid": null, "host_cluster_id": 1003, "volume_id": 1008, "clustered": true, "host_id": 0, "id": 192, "lun": 12 } ], "path_health": "NOT_OK", "hosts_count": 1, "name": "auto-Cluster4Test-0d5380ba", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519427488, "host_type": "DEFAULT", "updated_at": 1774519427488, "san_client_type": "CLUSTER", "hosts": [ { "luns": [ { "udid": null, "host_cluster_id": 1003, "volume_id": 1008, "clustered": true, "host_id": 1005, "id": 194, "lun": 12 } ], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519428159, "security_chap_has_outbound_secret": false, "id": 1005, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 1003, "name": "auto-Host4Test-fd6533f6-94", "tenant_id": 1, "created_at": 1774519428159, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 1, "ports": [ { "host_id": 1005, "type": "FC", "address": "aaaaaaaaaaaa0005" } ], "port_type": [ "FC" ] } ], "port_type": [ "FC" ], "ports_disconnected": 0, "luns_count": 1, "id": 1003 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Removing a host from a cluster causes the host to lose access to all of the volumes that are mapped to this cluster HOST_NOT_FOUND HTTP 404 Host not found Unmapping a Volume from a Cluster by LUN Description Unmap a volume from the cluster by pointing at the LUN ID. Approval required This is a dangerous operation Unmapping entity 'volume_name' may cause loss of access to the entity data API Endpoint DELETE api/rest/clusters/{id}/luns/lun/{lun_number} URL Parameters id long ID of the cluster lun_number int ID of the LUN Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "udid": 1234, "host_cluster_id": 1001, "volume_id": 1002, "clustered": true, "host_id": 0, "id": 390, "lun": 1 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Unmapping volume 'auto-volume--57538115-54b8' may cause loss of access to the volume data USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-de1ea6cf-b' is forbidden to modify protocolEndpoint 'protocol_endpoint' Unmapping a Volume from a Cluster by Volume Description Unmap a volume from the cluster by pointing at the volume ID. Approval required This is a dangerous operation Unmapping entity 'volume_name' may cause loss of access to the entity data API Endpoint DELETE api/rest/clusters/{id}/luns/volume_id/{volume_id} URL Parameters id long ID of the cluster volume_id long ID of the volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "udid": null, "host_cluster_id": 1003, "volume_id": 1002, "clustered": true, "host_id": 0, "id": 188, "lun": 11 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Unmapping volume 'auto-volume--0cbc5d3b-42b5' may cause loss of access to the volume data USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-d8ba7643-3' is forbidden to modify protocolEndpoint 'protocol_endpoint' VVOL_ALREADY_DISABLED_ON_CLUSTER HTTP 409 vVols is already disabled on cluster 'auto-Cluster4Test-6f2d6609' Update Attribute Description Update an attribute of a cluster. API Endpoint PUT api/rest/clusters/{id} URL Parameters id long ID of the cluster Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "luns": null, "path_health": "NONE", "hosts_count": 0, "name": "cluster_d5a8029ab39211e3a067005056934c4b", "resiliency": "DISCONNECTED", "ports_disconnected": 0, "created_at": 1395692898282, "host_type": "DEFAULT", "updated_at": 0, "san_client_type": "CLUSTER", "hosts": null, "port_type": [], "tenant_id": 1, "luns_count": 0, "id": 1000 } Returns Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('san_client_type') OPENVMS_HOST_TYPE_NO_MODIFICATION HTTP 409 OpenVMS host type is set on creation only Host Add a Port to a Host Description Add a port to a host. Approval required This is a dangerous operation This operation will provide access to the same volume via SCSI and NVMe-oF hosts and/or clusters at the same time. Some capabilities such as reservations are not supported across protocols, and will silently fail API Endpoint POST api/rest/hosts/{id}/ports URL Parameters id long ID of the host Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "type": "fc", "address": "aaaaaaaaaaaa0001" } Returns { "metadata": { "ready": true }, "result": { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0001" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('') could not be translated to an expected type INVALID_IQN HTTP 400 The IQN value ' ' is not in the correct form, or contains invalid characters MISSING_FIELD HTTP 400 A field ('address') is missing in an object passed INVALID_NQN HTTP 400 The NQN value ' ' is not in the correct form, or contains invalid characters APPROVAL_REQUIRED HTTP 403 This operation will provide access to the same volume via SCSI and NVMe-oF hosts and/or clusters at the same time. Some capabilities such as reservations are not supported across protocols, and will silently fail CHAP_SECURITY_CONDITION_NOT_MET HTTP 409 Host auto-Host4Test-7339dc95-66 does not meet the security condition of MUTUAL_CHAP. Inbound and outbound CHAP secrets are missing NVME_OF_PORT_NOT_ALLOWED_FOR_ACTIVE_ACTIVE_VOLUME HTTP 409 Adding an NVMe-oF port to host 'auto-nvmeHost-85689cfc-c80' failed because the host has, directly or via a cluster, active-active replication volumes mapped to it CANT_MIX_NVME_OF_SCSI_ADD_SCSI_PORT_TO_HOST_IN_NVME_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-Host4test-b1a09011-7d' is in cluster 'hostCluster' which has hosts with NVMe-oF ports, which cannot be mixed with FC/iSCSI ports NVME_PORT_COUNT_LIMIT HTTP 409 NVMe port count limit reached CANT_MIX_NVME_OF_SCSI_ADD_NVME_PORT_MAPPED_SCSI_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-host2-e719547c-c0df-4' is mapped to a volume which is already mapped to host 'auto-scsciHost-ada51700-ea' which has FC/iSCSI ports CANT_ADD_NVME_OF_PORT_TO_HOST_WITH_VOLUMES_MAPPED_USING_NSID_0 HTTP 409 Adding an NVMe-oF port to host 'auto-host-87e40510-4da1-4a' failed because the host or its cluster has volumes mapped using NSID 0, which is not a legal NSID value ISCSI_PORT_COUNT_LIMIT HTTP 409 iSCSI port count limit reached CANT_MIX_NVME_OF_SCSI_ADD_NVME_PORT_TO_HOST_IN_SCSI_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-Host4test-e01590ea-0c' is in cluster 'hostCluster' which has hosts with FC/iSCSI ports, which cannot be mixed with NVMe-oF ports CANT_MIX_NVME_OF_SCSI_ADD_SCSI_PORT_MAPPED_NVME_VOLUME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-host2-83468acf-8379-4' is mapped to a volume which is already mapped to host 'auto-nvmeHost-6ea40c5e-313' which has NVMe-oF ports PORT_COUNT_CLUSTER_MEMBER_LIMIT HTTP 409 The host cannot be added to the cluster as the cluster's port count limit will be exceeded CANT_MIX_NVME_OF_SCSI_ADD_SCSI_PORT_TO_NVME_OF_HOST HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-nvmeHost-23b54c83-cee' has initiators with NVMe-oF ports, and cannot be mixed with initiators with FC or iSCSI ports CANT_MIX_NVME_OF_SCSI_ADD_NVME_OF_PORT_TO_SCSI_HOST HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the host 'auto-scsciHost-c6646655-18' has initiators with FC or iSCSI ports, and cannot be mixed with initiators with NVMe-oF ports PORT_COUNT_HOST_LIMIT HTTP 409 Port count limit reached for host ISCSI_DISABLED HTTP 409 iSCSI is disabled, please contact INFINIDAT support to enable it PORT_ALREADY_BELONGS_TO_HOST HTTP 409 The port 'iqn.2011-08.com.example:storage' already belongs to host 'auto-Host4Test-1a1600e8-80' Add an iSCSI Port to a Host Description Add an iSCSI port to a host. API Endpoint POST api/rest/hosts/{id}/ports URL Parameters id long ID of the host Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "type": "ISCSI", "address": "iqn.2011-08.com.example:storage" } Returns { "metadata": { "ready": true }, "result": { "host_id": 1000, "type": "ISCSI", "address": "iqn.2011-08.com.example:storage" }, "error": null } Errors See general list of error codes. Create a Host Description Create a host in the system. API Endpoint POST api/rest/hosts URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "name": "auto-Host4Test-66caefb9-19" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519028138, "port_type": [], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-66caefb9-19", "tenant_id": 1, "created_at": 1774519028138, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('created_at or updated_at') WRONG_PARAMETER HTTP 400 The value (null) of parameter 'min_expected_paths' does not meet a condition: 'non-negative, non-null value or -1 for calculated field' INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'aሴ' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MALFORMED_PARAMETER HTTP 400 A parameter ('host_type') could not be translated to an expected type MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed TENANT_NOT_FOUND HTTP 404 Tenant not found HOST_NAME_CONFLICT HTTP 409 An entity with this name already exists HOST_COUNT_LIMIT HTTP 409 Host count limit reached Create a Host With No Security Description Create a host with no CHAP security method. API Endpoint POST api/rest/hosts URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_method": "NONE", "name": "auto-HostTestName-c664edc0" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519458463, "port_type": [], "id": 1001, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-HostTestName-c664edc0", "tenant_id": 1, "created_at": 1774519458463, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false }, "error": null } Errors See general list of error codes. Create a LUN for a Host Description Create a LUN for a host. Approval required This is a dangerous operation Mapping a volume to more than one host or cluster may result in a host corrupting the other host's data. If the hosts belong to the same cluster, it is recommended to define them as a cluster in the system API Endpoint POST api/rest/hosts/{id}/luns URL Parameters id long ID of the host Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "volume_id": 1002 } Returns { "metadata": { "ready": true }, "result": { "udid": null, "host_cluster_id": 0, "volume_id": 1002, "clustered": false, "host_id": 1000, "id": 119, "lun": 1 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 'auto-volume--512c1f9f-cc26' is located in a pool on which the current user has read-only permissions APPROVAL_REQUIRED HTTP 403 Mapping a volume to more than one host or cluster may result in a host corrupting the other host's data. If the hosts belong to the same cluster, it is recommended to define them as a cluster in the system VOLUME_CANNOT_BE_MAPPED_TO_NVME_OF_HOST_WITH_NSID_0 HTTP 409 Mapping of volume 'auto-volume--abe30b27-9334' to NVMe-oF host 'auto-NvmeHost-ef503b6e-a46' failed because 0 is not a valid NSID value MAPPING_ALREADY_EXISTS HTTP 409 Volume 'auto-volume--7ec1aea0-4314' is already mapped to 'auto-Host4Test-9468d91c-68' CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_TO_NVME_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-02ffae68-' is already mapped to cluster 'auto-hostCluster-4c81285e-' which has hosts that have NVMe-oF ports CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_ACCESSED_SCSI HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-518790ba-' is already mapped to host 'auto-scsciHost-f24de5b3-ff' which has FC/iSCSI ports while host 'auto-nvmeHost-8009a366-8d6' has NVMe-oF ports LUN_EXISTS HTTP 409 LUN already exists OPENVMS_LUN_CONTROLLER HTTP 409 Mapping to LUN=0 is prohibited MAPPINGS_COUNT_LIMIT HTTP 409 Total mappings count limit reached: 4 OPENVMS_HOST_UDID_EXISTS HTTP 409 UDID is not unique among host 'auto-Host4Test-a7067567-0e' mapped volumes VOLUME_CANNOT_BE_MAPPED_TO_HOST_IN_NVME_OF_CLUSTER_WITH_NSID_0 HTTP 409 Mapping of volume 'auto-volume--b0bce75a-2caf' to host 'auto-neutralHost-834815db-' failed because the host is part of an NVMe-oF cluster, and 0 is not a valid NSID value VVOL_ALREADY_INHERITED HTTP 409 The host 'auto-Host4Test-84c17c1f-65' inherits access to vVols from cluster 'auto-Cluster4Test-d5fb6f1d' to which it belongs MAPPING_ALREADY_INHERITED HTTP 409 Volume 'auto-volume--9d07db11-9b4e' is already mapped to Cluster 'auto-Cluster4Test-37f572c3'. (Host 'auto-Host4Test-55b2dfe6-99' is a member of this cluster) ACTIVE_ACTIVE_VOLUME_CANNOT_BE_MAPPED_TO_NVME_OF_HOST HTTP 409 Mapping of volume 'auto-volume--eba5d479-cbea' failed because active-active replication volumes cannot be mapped to hosts or clusters that contain NVMe-oF ports CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_TO_SCSI_CLUSTER HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-e03cce9b-' is already mapped to cluster 'hostCluster' which has hosts that have FC/iSCSI ports OPENVMS_MISSING_UDID HTTP 409 Mapping a volume without an assigned UDID is prohibited LUN_AUTO_ASSIGNMENT_FAILURE HTTP 409 Failed auto-assigning LUN OPERATION_NOT_SUPPORTED HTTP 409 Mapping a protocol endpoint to LUN=0 is not supported ILLEGAL_LUN HTTP 409 The LUN number passed is not in range CANT_MIX_NVME_OF_SCSI_VOLUME_MAPPED_ACCESSED_NVME HTTP 409 Cannot mix access to volumes with SCSI and NVMe-oF: the volume 'auto-Volume4Test-6fc44958-' is already mapped to host 'auto-nvmeHost-116108d0-85f' which has NVMe-oF ports while host 'auto-scsciHost-72f81411-94' has FC/iSCSI ports Create an iSCSI Host With Mutual Security Description Create an iSCSI host with mutual CHAP security. API Endpoint POST api/rest/hosts URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_method": "MUTUAL_CHAP", "security_chap_inbound_username": "hostuser987", "name": "auto-HostTestName-0c21746d", "security_chap_outbound_username": "infiniuser987" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519431319, "port_type": [], "id": 1001, "paths": 0, "security_chap_inbound_username": "hostuser987", "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": "infiniuser987", "security_method": "MUTUAL_CHAP", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-HostTestName-0c21746d", "tenant_id": 1, "created_at": 1774519431319, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false }, "error": null } Errors See general list of error codes. Create an iSCSI Host With Security Description Create an iSCSI host with CHAP security. API Endpoint POST api/rest/hosts URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_method": "CHAP", "security_chap_inbound_username": "hostuser987", "security_chap_inbound_secret": "hostsecret987654321", "name": "auto-HostTestName-d2c1ba07" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519430810, "port_type": [], "id": 1000, "paths": 0, "security_chap_inbound_username": "hostuser987", "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "CHAP", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-HostTestName-d2c1ba07", "tenant_id": 1, "created_at": 1774519430810, "ports_disconnected": 0, "security_chap_has_inbound_secret": true, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false }, "error": null } Errors See general list of error codes. Delete a Host Description Remove a host from the system. API Endpoint DELETE api/rest/hosts/{id} URL Parameters id long ID of the host Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519435620, "port_type": [ "FC" ], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-ddfe3e6f-a7", "tenant_id": 1, "created_at": 1774519435620, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaaaabb" } ], "security_chap_has_outbound_secret": false }, "error": null } Errors HOST_NOT_FOUND HTTP 404 Host not found CANNOT_DELETE_CLUSTERED_HOST HTTP 409 Cannot remove a host while it is assigned to a cluster HOST_NOT_EMPTY HTTP 409 Host has LUN mappings Delete a Port from a Host Description Delete a port from a host. Approval required This is a dangerous operation Removing the last port from a host causes the host to lose access to all of the volumes that are mapped to it API Endpoint DELETE api/rest/hosts/{id}/ports/{type}/{address} URL Parameters id long ID of the host type PortType The port type address String The port address Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "host_id": 1000, "type": "FC", "address": "aaaaaffaaa22aabb" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Removing the last port from a host causes the host to lose access to all of the volumes that are mapped to it PORT_NOT_FOUND HTTP 404 Port not found Delete LUN by Volume Description Unmap a volume from the host by pointing at the volume ID. Approval required This is a dangerous operation Unmapping entity 'volume_name' may cause loss of access to the entity data API Endpoint DELETE api/rest/hosts/{id}/luns/volume_id/{volume_id} URL Parameters id long ID of the host volume_id long ID of the volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "udid": 1234, "host_cluster_id": 0, "volume_id": 1003, "clustered": false, "host_id": 1002, "id": 464, "lun": 1 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-c7e9fdb5-8' is forbidden to modify Default_Protocol_Endpoint 'protocol_endpoint' APPROVAL_REQUIRED HTTP 403 Unmapping snapshot 'auto-volume--3be88708-be6d' may cause loss of access to the snapshot data VVOL_ALREADY_DISABLED_ON_HOST HTTP 409 vVols is already disabled on host 'auto-Host4Test-12dc6a6e-45' Get a Host Description Get a host. API Endpoint GET api/rest/hosts/{id} URL Parameters id long ID of the host Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "luns": [ { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 1000, "id": 99, "lun": 11 } ], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519028138, "port_type": [ "FC" ], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 1001, "name": "auto-Host4Test-66caefb9-19", "tenant_id": 1, "created_at": 1774519028138, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 1, "ports": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0001" } ], "security_chap_has_outbound_secret": false }, "error": null } Errors HOST_NOT_FOUND HTTP 404 Host not found MALFORMED_ID_TYPE HTTP 404 Object Not Found. Invalid id type (expect to get Number) Get a Host Attribute Description Get an attribute of a host. API Endpoint GET api/rest/hosts/{id}/{attribute} URL Parameters id long ID of the host attribute String The name of the host’s attribute Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": "auto-Host4Test-9468d91c-68", "error": null } Errors See general list of error codes. Get a LUN of a Host Description Get a LUN of a host API Endpoint GET api/rest/hosts/{id}/luns/{lun} URL Parameters id long ID of the host lun int ID of the LUN JSON Data none Returns Errors See general list of error codes. No request examples available Get all Hosts Description Get all of the hosts in the system. Filterable and Sortable fields:security_method,security_chap_inbound_username,security_chap_outbound_username,created_at,id,is_min_expected_paths_user_set,name,optimized,host_type,updated_at. Filterable only fields:min_expected_paths,path_health,paths,ports_disconnected,resiliency. API Endpoint GET api/rest/hosts URL Parameters Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519424541, "port_type": [], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-a2184f0a-22", "tenant_id": 1, "created_at": 1774519424541, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false } ], "error": null } Errors NOT_SORTABLE_FIELD HTTP 400 The request contains a field that cannot be sortable: ('luns') NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('luns') MAX_PAGE_SIZE_VIOLATION HTTP 400 Requested page size 1000000 exceeds range 1..1000 for command 'GetAllHostsFiltered' WRONG_PARAMETER HTTP 400 The value (0) of parameter 'page' does not meet a condition: 'int >= 1' UNKNOWN_PARAMETER HTTP 400 An unknown parameter was passed: 'host_cluster_id' UNSUPPORTED_SORTABLE_FIELDS_MIX HTTP 400 The request contains a combination of sortable fields that cannot be processed together. Please adjust your sorting criteria Get all LUNs for a Host Description Get all LUNs for a host. API Endpoint GET api/rest/hosts/{host_id}/luns URL Parameters host_id long ID of the host Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 10, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "udid": null, "host_cluster_id": 0, "volume_id": 1002, "clustered": false, "host_id": 1001, "id": 543, "lun": 1 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1004, "clustered": false, "host_id": 1001, "id": 544, "lun": 2 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1006, "clustered": false, "host_id": 1001, "id": 545, "lun": 3 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1008, "clustered": false, "host_id": 1001, "id": 546, "lun": 4 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1010, "clustered": false, "host_id": 1001, "id": 547, "lun": 5 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1012, "clustered": false, "host_id": 1001, "id": 548, "lun": 6 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1014, "clustered": false, "host_id": 1001, "id": 549, "lun": 7 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1016, "clustered": false, "host_id": 1001, "id": 550, "lun": 8 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1018, "clustered": false, "host_id": 1001, "id": 551, "lun": 9 }, { "udid": null, "host_cluster_id": 0, "volume_id": 1020, "clustered": false, "host_id": 1001, "id": 552, "lun": 10 } ], "error": null } Errors HOST_NOT_FOUND HTTP 404 Host not found Get Port Address from Port Key Description API Endpoint GET api/rest/hosts/ports/{portKey} URL Parameters portKey Long Port key of the port Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "host_id": 1000, "type": "NVME", "address": "nqn.2014-08.com.example:nvme.host.sys.test1" }, "error": null } Errors See general list of error codes. Get the Host ID by Port Description Get a host ID by providing a port address API Endpoint GET api/rest/hosts/host_id_by_initiator_address/{wwn} URL Parameters wwn String The address of the port Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true }, "result": 1000, "error": null } Errors HOST_NOT_FOUND HTTP 404 Host not found Get the Host Ports Description Get all of the ports for a host. API Endpoint GET api/rest/hosts/{host_id}/ports URL Parameters host_id long ID of the host Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "host_id": 1000, "type": "FC", "address": "aaaaaaaaaaaa0002" } ], "error": null } Errors HOST_NOT_FOUND HTTP 404 Host not found Remove the CHAP Security from a Host Description Remove the CHAP security attribute from a host. API Endpoint PUT api/rest/hosts/{id} URL Parameters id long The id of the host to update Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_method": "NONE" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519428577, "port_type": [], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-0580a702-c8", "tenant_id": 1, "created_at": 1774519428228, "ports_disconnected": 0, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": false }, "error": null } Errors See general list of error codes. Set a Mutual CHAP Secret to an Existing Host Description Set a mutual CHAP secret to an existing host. API Endpoint PUT api/rest/hosts/{id} URL Parameters id long The id of the host to update Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_chap_inbound_secret": "12s32112s3d234", "security_chap_inbound_username": "hostuser987", "security_chap_outbound_secret": "12s3d2312s3d23", "security_chap_outbound_username": "infiniuser987", "security_method": "MUTUAL_CHAP" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519413813, "port_type": [ "ISCSI" ], "id": 1000, "paths": 0, "security_chap_inbound_username": "hostuser987", "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": "infiniuser987", "security_method": "MUTUAL_CHAP", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-c47bea9f-5e", "tenant_id": 1, "created_at": 1774519413339, "ports_disconnected": 0, "security_chap_has_inbound_secret": true, "luns_count": 0, "ports": [ { "host_id": 1000, "type": "ISCSI", "address": "iqn.2011-08.com.example:storage" } ], "security_chap_has_outbound_secret": true }, "error": null } Errors See general list of error codes. Set CHAP Secret to an Existing Host Description Set CHAP secret to an existing host. API Endpoint PUT api/rest/hosts/{id} URL Parameters id long The id of the host to update Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_method": "CHAP", "security_chap_inbound_username": "hostuser987", "security_chap_inbound_secret": "12s32112s3d234" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519422419, "port_type": [ "ISCSI" ], "id": 1000, "paths": 0, "security_chap_inbound_username": "hostuser987", "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "CHAP", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-cb2bbb3f-85", "tenant_id": 1, "created_at": 1774519422065, "ports_disconnected": 0, "security_chap_has_inbound_secret": true, "luns_count": 0, "ports": [ { "host_id": 1000, "type": "ISCSI", "address": "iqn.2011-08.com.example:storage" } ], "security_chap_has_outbound_secret": false }, "error": null } Errors See general list of error codes. Unmapping a Volume from a Host Using the LUN ID Description Unmap a volume from the host by pointing at the LUN ID. Approval required This is a dangerous operation Unmapping entity 'volume_name' may cause loss of access to the entity data API Endpoint DELETE api/rest/hosts/{id}/luns/lun/{lun_number} URL Parameters id long ID of the host lun_number int ID of the LUN Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "udid": null, "host_cluster_id": 0, "volume_id": 1006, "clustered": false, "host_id": 1000, "id": 1871, "lun": 3 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-bf2a6fed-7' is forbidden to modify Default_Protocol_Endpoint 'protocol_endpoint' APPROVAL_REQUIRED HTTP 403 Unmapping snapshot 'auto-volume--3be88708-be6d' may cause loss of access to the snapshot data LUN_NOT_FOUND HTTP 404 LUN not found LUN_IS_CLUSTERED HTTP 409 A clustered LUN can be removed only from a Cluster Update Host Description Update a host attribute. For the "min_expected_paths" attribute: to override the default value, provide a non-negative number. To revert to the default behavior, set the value to -1. Approval required This is a dangerous operation Modifying the host path optimized state may change the host's multipathing load-balancing behavior API Endpoint PUT api/rest/hosts/{id} URL Parameters id long The id of the host to update Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "security_chap_inbound_secret": "12s32112s3d234", "security_chap_outbound_secret": "12s3d2312s3d23", "security_method": "CHAP" } Returns { "metadata": { "ready": true }, "result": { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 0, "host_type": "DEFAULT", "updated_at": 1774519416113, "port_type": [], "id": 1000, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "CHAP", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 0, "name": "auto-Host4Test-ddd3075b-03", "tenant_id": 1, "created_at": 1774519415857, "ports_disconnected": 0, "security_chap_has_inbound_secret": true, "luns_count": 0, "ports": [], "security_chap_has_outbound_secret": true }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('security_method') could not be translated to an expected type MALFORMED_CONTENT HTTP 400 The request content is malformed WRONG_PARAMETER HTTP 400 The value (-2) of parameter 'min_expected_paths' does not meet a condition: 'non-negative, non-null value or -1 for calculated field' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('host_cluster_id') NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 This resource does not support updating multiple fields in one request APPROVAL_REQUIRED HTTP 403 Modifying the host path optimized state may change the host's multipathing load-balancing behavior CHAP_SECURITY_CONDITION_NOT_MET HTTP 409 Host auto-Host4Test-cb2bbb3f-85 does not meet the security condition of MUTUAL_CHAP. Outbound CHAP secret is missing OPENVMS_HOST_TYPE_NO_MODIFICATION HTTP 409 OpenVMS host type is set on creation only INVALID_CHAP_USERNAME HTTP 409 CHAP username cannot be accepted: CHAP username length has to be between 0 and 20 characters long INVALID_CHAP_SECRET HTTP 409 CHAP secrets cannot be accepted: Must contain ASCII characters only Initiator Get all Initiators Description Return list of initiator ports zoned to infinibox Filterable and Sortable fields: API Endpoint GET api/rest/initiators URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 907, "pages_total": 1, "page": 1, "page_size": 1000 }, "result": [ { "paths": 6, "connectivity_status": "FULLY_CONNECTED", "port_key": -1, "address": "iqn.1991-05.com.microsoft:host632.infinidat.com", "host_id": 0, "type": "ISCSI", "targets": [ { "initiator_ip": "172.20.86.105", "session_id": 1, "node_id": 1, "netspace_name": "nwsp1", "address": "iqn.2009-11.com.infinidat:storage:infinibox-sn-ibox3001-01", "target_ip": "192.158.1.38" }, { "initiator_ip": "172.20.86.105", "session_id": 2, "node_id": 2, "netspace_name": "nwsp1", "address": "iqn.2009-11.com.infinidat:storage:infinibox-sn-ibox3001-01", "target_ip": "192.158.1.38" }, { "initiator_ip": "172.20.86.105", "session_id": 3, "node_id": 3, "netspace_name": "nwsp1", "address": "iqn.2009-11.com.infinidat:storage:infinibox-sn-ibox3001-01", "target_ip": "192.158.1.38" }, { "initiator_ip": "172.20.86.105", "session_id": 4, "node_id": 1, "netspace_name": "nwsp1", "address": "iqn.2009-11.com.infinidat:storage:infinibox-sn-ibox3001-01", "target_ip": "192.158.1.38" }, { "initiator_ip": "172.20.86.105", "session_id": 5, ... TRUNCATED ... Errors MALFORMED_PARAMETER HTTP 400 A parameter ('host_id') could not be translated to an expected type UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'NE' is not supported by this resource Get Initiator by Address Description Return initiator by address API Endpoint GET api/rest/initiators/{address} URL Parameters address String The address of the initiator Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "paths": 6, "connectivity_status": "FULLY_CONNECTED", "port_key": 783758374666666593, "address": "nqn.2014-08.com.example:nvme.host.sys.test1", "host_id": 2, "type": "NVME", "targets": [ { "target_ip": "192.158.1.38", "node_id": 1, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" }, { "target_ip": "192.158.1.38", "node_id": 2, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" }, { "target_ip": "192.158.1.38", "node_id": 3, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" }, { "target_ip": "192.158.1.38", "node_id": 1, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" }, { "target_ip": "192.158.1.38", "node_id": 2, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" }, { "target_ip": "192.158.1.38", "node_id": 3, "netspace_name": "nwsp1", "initiator_ip": "172.20.86.105", "address": "nqn.2020-01.com.infinidat:19-subsystem-1000" } ] }, "error": null } Errors INITIATOR_NOT_FOUND HTTP 404 Initiator not found Interface Add Port Description Add port described in the input json to interface Approval required This is a dangerous operation The possible maximum speed of the ports in the Port Group is not identical. To ensure the system is configured according to the best practices, make sure that all ports in the Port Group will run at the same speed or select other ports API Endpoint POST api/rest/{id}/ports URL Parameters id long The id of the interface to add port to Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "port_number": null, "name": "eth-kuku" } Returns { "metadata": { "ready": true }, "result": { "name": "mltpl-eth", "operational_state_description": "All ports in this interface are disconnected. The disconnected ports are: N/A, N/A.", "rate_limit": null, "id": 7643, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [ { "port_number": null, "name": "eth0" }, { "port_number": null, "name": "eth-kuku" } ] }, "error": null } Errors WRONG_PORT_ROLE HTTP 400 The port 'eth0' on node 1 is of the wrong role: Management ILLEGAL_INTERFACE_NAME HTTP 400 Illegal interface name 'eth-interface-name-too-long' NO_SUCH_PORT HTTP 400 Node 1 does not have a port 'eth-none' APPROVAL_REQUIRED HTTP 403 The possible maximum speed of the ports in the Port Group is not identical. To ensure the system is configured according to the best practices, make sure that all ports in the Port Group will run at the same speed or select other ports PORT_BELONGS_TO_PORTGROUP HTTP 409 The port 'eth-kuku' on node 1 is already part of a port group INTERFACE_OPERATION_FAILED HTTP 409 The operation on interface failed. Please retry Create Interface Description Create interface Approval required This is a dangerous operation The possible maximum speed of the ports in the Port Group is not identical. To ensure the system is configured according to the best practices, make sure that all ports in the Port Group will run at the same speed or select other ports API Endpoint POST api/rest URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "name": "i0f3f7e99d-bf7a-40d1-9c5f-b17ffe5ba7cf-f3f7e99d-bf7a-40d1-9c5f-b1", "rate_limit": null, "id": 0, "node_id": 1, "type": "PORT_GROUP", "ports": [ { "port_number": null, "name": "eth-6612e3b5-36" } ] } Returns { "metadata": { "ready": true }, "result": { "name": "i0f3f7e99d-bf7a-40d1-9c5f-b17ffe5ba7cf-f3f7e99d-bf7a-40d1-9c5f-b1", "operational_state_description": "All ports in this interface are disconnected. The disconnected ports are: N/A.", "rate_limit": null, "id": 1771, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [ { "port_number": null, "name": "eth-6612e3b5-36" } ] }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (0) of parameter 'vlan' does not meet a condition: 'must be greater than or equal to 1' NO_SUCH_PORT HTTP 400 Node 1 does not have a port 'eth-none' MISSING_FIELD HTTP 400 A field ('type') is missing in an object passed PORT_SPECIFIED_MULTIPLE_TIMES HTTP 400 A port (myPortName) can be used only once in a port group INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name '$' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('node_id') INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters APPROVAL_REQUIRED HTTP 403 The possible maximum speed of the ports in the Port Group is not identical. To ensure the system is configured according to the best practices, make sure that all ports in the Port Group will run at the same speed or select other ports UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for READ_ONLY INTERFACE_NOT_FOUND HTTP 404 Invalid interface ID ILLEGAL_UNDERLYING_INTERFACE_TYPE HTTP 409 VLAN must be created on top of a port group PORT_BELONGS_TO_PORTGROUP HTTP 409 The port 'eth0' on node 1 is already part of a port group NO_ACTIVE_PORTS_FOR_VLAN HTTP 409 Creating a VLAN on top of a port group requires at least one active port VLAN_INTERFACES_PER_NODE_COUNT_LIMIT HTTP 409 A new VLAN interface cannot be created on node 1. The system has reached the maximum number of VLAN interfaces per node: 1 VLAN_ID_ALREADY_DEFINED_ON_INTERFACE HTTP 409 VLAN 1 is already defined on interface 'i-eth1' INTERFACES_PER_NODE_COUNT_LIMIT HTTP 409 A new interface cannot be created on node 1. The system has reached the maximum number of interfaces per node: 1 INTERFACE_NAME_CONFLICT HTTP 409 An interface with this name already exists Delete Interface Description Delete single interface API Endpoint DELETE api/rest/{id} URL Parameters id long The id of the interface to delete Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "v1", "vlan": 1, "rate_limit": null, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1.1", "network_space_ids": [], "underlying_interface_id": 7681, "type": "VLAN", "id": 7682 }, "error": null } Errors INTERFACE_NOT_FOUND HTTP 404 Invalid interface ID CANNOT_DELETE_INTERFACE_WITH_VLANS HTTP 409 Interface 'i-eth1' has VLANs, please delete them first INTERFACE_IS_ENABLED HTTP 409 Enabled interface cannot be deleted. Please disable first INTERFACE_IN_USE HTTP 409 The interface is in use by network space(s) Delete Port Description Remove port from interface API Endpoint DELETE api/rest/{id}/ports/{name} URL Parameters id long The id of the interface name String The name of the port to remove from interface Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "sngl-prt", "operational_state_description": "All ports in the interface are connected and run at the same speed", "rate_limit": null, "id": 7662, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "CONNECTED", "type": "PORT_GROUP", "ports": [ { "port_number": 1, "name": "eth0" } ] }, "error": null } Errors PORT_NOT_IN_PORTGROUP HTTP 404 Port 'eth9' not found in the port group CANNOT_DELETE_LAST_PORT_IN_PORTGROUP HTTP 409 Cannot delete last port in port group Disable Interface Description Disable interface Approval required This is a dangerous operation Interface 'interfaceName' has VLANs. Disabling the interface will also disable these VLANs, and may cause any network space using them to become temporarily unavailable API Endpoint POST api/rest/{id}/disable URL Parameters id long The id of the interface to disable Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "i-eth1", "operational_state_description": "The interface was disabled by an administrator", "rate_limit": null, "id": 7916, "state": "DISABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "ADMINISTRATIVELY_DISABLED", "type": "PORT_GROUP", "ports": [ { "port_number": 2, "name": "eth1" }, { "port_number": 1, "name": "eth0" } ] }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Interface 'i-eth1' has VLANs. Disabling the interface will also disable these VLANs, and may cause any network space using them to become temporarily unavailable INTERFACE_IN_USE HTTP 409 The interface is in use by network space(s) OPERATION_NOT_SUPPORTED HTTP 409 Disabling a VLAN interface is not supported INTERFACE_ALREADY_DISABLED HTTP 409 Interface is already disabled Enable Interface Description Enable interface API Endpoint POST api/rest/{id}/enable URL Parameters id long The id of the interface to enable Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "i-eth1", "operational_state_description": "All ports in the interface are connected and run at the same speed", "rate_limit": null, "id": 8089, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "CONNECTED", "type": "PORT_GROUP", "ports": [ { "port_number": 2, "name": "eth1" }, { "port_number": 1, "name": "eth0" } ] }, "error": null } Errors INTERFACE_ALREADY_ENABLED HTTP 409 Interface is already enabled OPERATION_NOT_SUPPORTED HTTP 409 Enabling a VLAN interface is not supported Get Interface by ID Description Get information for single interface API Endpoint GET api/rest/{id} URL Parameters id long The id of the interface to get data for Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "i0e58ed101-1da5-43b1-a1f4-0d061235c3d1-e58ed101-1da5-43b1-a1f4-0d", "operational_state_description": "All ports in this interface are disconnected. The disconnected ports are: N/A.", "rate_limit": null, "id": 618, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [ 1000 ], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [ { "port_number": null, "name": "eth-706c8f36-e2" } ] }, "error": null } Errors INTERFACE_NOT_FOUND HTTP 404 Invalid interface ID Get Interfaces Description Get information for interface configured in the system according to fiter and sort params Filterable and Sortable fields:id,internal_name,name,node_id,rate_limit,type. API Endpoint GET api/rest URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "name": "syslg-rl1", "operational_state_description": "N/A", "rate_limit": null, "id": 1827, "state": "ENABLED", "node_id": 1, "internal_name": "N1L2", "network_space_ids": [], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [] }, { "name": "syslg-rl2", "operational_state_description": "N/A", "rate_limit": null, "id": 1828, "state": "ENABLED", "node_id": 1, "internal_name": "N1L3", "network_space_ids": [], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [] } ], "error": null } Errors See general list of error codes. Update Interface Description Update interface API Endpoint PUT api/rest/{id} URL Parameters id long The id of the interface Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "name": "new_name" } Returns { "metadata": { "ready": true }, "result": { "name": "new_name", "operational_state_description": "N/A", "rate_limit": null, "id": 7720, "state": "ENABLED", "node_id": 1, "internal_name": "N1L1", "network_space_ids": [], "operational_state": "DISCONNECTED", "type": "PORT_GROUP", "ports": [] }, "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name '#' WRONG_PARAMETER HTTP 400 The value (1000001) of parameter 'rate_limit' does not meet a condition: 'must be less than or equal to 1000000' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('underlying_interface_id') INTERFACE_IN_USE_BY_ASSOCIATED_NET_SPACE HTTP 409 The interface is in use by network space(s) associated with a service OPERATION_NOT_SUPPORTED HTTP 409 updating attributes of a single port interface is not supported CANNOT_RENAME_INTERFACE_WITH_VLANS HTTP 409 Interface 'i-eth1' has VLANs. Renaming the interface is not allowed INTERFACE_NAME_CONFLICT HTTP 409 An interface with this name already exists Kms Get Kms Configuration Description Get KMS configuration Filterable and Sortable fields:id,ignore_kms_certificate,infinibox_kmip_certificate,kms_ca_certificate,kms_username. API Endpoint GET api/rest/system/kms URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "kms_ca_certificate": null, "kms_servers": null, "infinibox_kmip_certificate": "-----BEGIN CERTIFICATE-----\nMIIFcTCCA1mgAwIBAgIDATZcMA0GCSqGSIb3DQEBCwUAMIG/MQswCQYDVQQGEwJV\nUzEaMBgGA1UECBYRSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAcWEUlORklOSURB\nVF9URVNUX0NBMRowGAYDVQQKFhFJTkZJTklEQVRfVEVTVF9DQTEaMBgGA1UECxYR\nSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAMUEUlORklOSURBVF9URVNUX0NBMSQw\nIgYJKoZIhvcNAQkBFhVleGFtcGxlQGluZmluaWRhdC5jb20wHhcNMTkwOTEwMDgy\nMDAwWhcNMzkwOTA1MDgyMDAwWjAUMRIwEAYDVQQDDAl0ZXN0X3VzZXIwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVXRWuGQk1T8I28+EMlEotMFVwb8J7\noEPBSm10Osu33bPHmKlw87SCAKYPCeAXEXnSOOZgNdzsxIQmYE9MaoK43PrHaHG5\nNmJ7HfiAVoVp1hRJkiz0qfv7rSx1Airl3pj14mg8R5pnSZToexw9fH1bc35VnRwn\nxbyGpbXMdS/e69EiMjM68t10KVNI5jxfwcnXhbqdth+4mteKHP/Vqzs7Qv/JAG5e\nmaiNIyC0XdII9cFbcvMXXdtXDisV7ze8xkMM6Tq/s6m5hsl615gFFcoWq3Be/UZB\nv4ax2aFK0Xe6dDrzVlRQXs+ogFzpCdUC/c5hLXQhlcMRB9o/rZNj1KkDseKCUs6c\nSPpJrYON7PNaOGn69NceYK4C67l/nequN9GZH5gXKoKH75s9rXbMNWx82ZMZ8aIo\nrOczJiVqTbLLXfSaa09WX2NDga30lvRV5mApqYadweHIa3e3cV8J8TZ1Z3pSaoZN\noTnS1ul5Q9TbAKKYmVplExd7BDCeaR0hejdwDit0L9FdhjVf0CrtBV1w8d7oLpy4\nP2DFatihkcztyVLwh5pGYNJQLQOfFOukuXvkzcRbNgp7jOLMDDoTT5iqPY4sWVqP\nuMmPsB/sgqgB3QulejNJfRrmgoEGdKQ6iR2xyoy/1bMkkIF3bSkC+nnJ1DbtWO5x\n0KdgNdxBXZ+Y1wIDAQABoyAwHjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIH\ngDANBgkqhkiG9w0BAQsFAAOCAgEAphcBKMaQ4c0nAjhPDJ+OSdv/FE18Qa9xI/Ak\nA7gpW6UwG0iL/Rz2PIFPAnJIf3tu/WO71MFY5A924prWZsn7U4iTFhttWzLobHB9\nolPTzMK9Q87XuCREs6+IoYlVcdgmH5sBhfyWpCG8pwVmplbkLWc6QeE2qGjxtR31\nUBeXqPIEFYPG6ZaO7PYp4Qv9DmtPJq8KMzk8TbaMiH4psH00xEoccmNWVmmEUqov\nwjEJStlGNQKxJJ6zrFTD2eBJOYvJs4sF3eoOqDinJc4BxKuJhWUFgtE4w7vc+4Sj\nt2gjl01aKXWZnwq0YisboasGKWwMexgYcjXJXBFG9/BzuFUdTCoEvcY6XXlQCHkG\nFTR2fLRc8IAmhRzY6JuSOmsfuWnpxefZ8AEFngAkUxzTj+s6PeTNTcfd//2CY/wl\nP96+HRSWjcKOeQKJ3kKHhza+LItPy3p0eCBYGnoXYx2XyEVYU5VpBvNEYxRRJYmI\ncVL/uFqtW0QoNJxnfs0QDBTXN9A5L8F7NF1/GKSL7bZnVkperYr38lm5nfzi4TKv\nXKna6fyql8t6Vj9jXNUK9BRcMpQ/KYlYFP3xCbxDMjMcMvL9PXO6yOOHJ0ygojHJ\nmyV5lJoMZYr5ip3CqS5RNtMLVkoPYDDqM1pdrAlmEw8AV8KZqEJUcOP+I/DdNc0X\n80wByLY=\n-----END CERTIFICATE-----\n", "kms_username": null, "ignore_kms_certificate": false }, "error": null } Errors See general list of error codes. Set Kms Configuration Description Update KMS configuration Approval required This is a dangerous operation The given address address does not look valid API Endpoint PUT api/rest/system/kms/set_configuration URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data { "kms_ca_certificate": "abcd" } Returns { "metadata": { "ready": true }, "result": { "kms_ca_certificate": "123456", "kms_servers": [ { "port": 8080, "address": "a.infinidat.com" } ], "infinibox_kmip_certificate": "123456", "kms_username": null, "ignore_kms_certificate": false }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('kms_ca_certificate') APPROVAL_REQUIRED HTTP 403 The given address abcd.12 does not look valid KMS_EMPTY_CREDENTIALS HTTP 409 The username or password provided cannot be an empty string KMS_ILLEGAL_EMPTY_CREDENTIALS HTTP 409 Both credentials should be null or hold a value KMS_INCONSISTENT_PORT HTTP 409 The given KMS servers must have the same port KMS_INVALID_PORT HTTP 409 The given KMS port -1 is not valid KMS_MAX_KMS_SERVER_NODES_REACHED HTTP 409 Cannot configure more than 1 KMS server nodes KMS_INCOMPLETE_CREDENTIALS HTTP 409 The given credentials are incomplete. Either the user name or password is missing Upload Ca Certificate Description Upload CA certificate API Endpoint POST api/rest/system/kms/upload_kms_ca_certificate URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data "--Boundary_2_1608794709_1774519799574\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; filename=\"ca_certificate.pem\"; modification-date=\"Thu, 26 Mar 2026 09:48:07 GMT\"; size=2529; name=\"file\"\r\n\r\n-----BEGIN CERTIFICATE-----\nMIIHHTCCBQWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBvzELMAkGA1UEBhMCVVMx\nGjAYBgNVBAgWEUlORklOSURBVF9URVNUX0NBMRowGAYDVQQHFhFJTkZJTklEQVRf\nVEVTVF9DQTEaMBgGA1UEChYRSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAsWEUlO\nRklOSURBVF9URVNUX0NBMRowGAYDVQQDFBFJTkZJTklEQVRfVEVTVF9DQTEkMCIG\nCSqGSIb3DQEJARYVZXhhbXBsZUBpbmZpbmlkYXQuY29tMB4XDTE5MDkxMDA4MDcw\nOFoXDTM5MDkwNjA4MDcwOFowgb8xCzAJBgNVBAYTAlVTMRowGAYDVQQIFhFJTkZJ\nTklEQVRfVEVTVF9DQTEaMBgGA1UEBxYRSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNV\nBAoWEUlORklOSURBVF9URVNUX0NBMRowGAYDVQQLFhFJTkZJTklEQVRfVEVTVF9D\nQTEaMBgGA1UEAxQRSU5GSU5JREFUX1RFU1RfQ0ExJDAiBgkqhkiG9w0BCQEWFWV4\nYW1wbGVAaW5maW5pZGF0LmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC\nggIBALA+/PIWhWgpcGb7ldWuc7cCIE02DfqMfGcIHN5pL2a0D+fkgfvEwI5i8KJT\n0iiXj0CUM0kztRppARkhY2ZFUCYymZgPPc5aPuR6xa+COMHJlvLXvm9D+ZqEv96k\nAXu9pV/+4zCqQKcCrqQgun8xXaVtlmUGYmWVepHq+KW4//uxhJqcFPMdLxabiGMT\nfbEcVm8UqBIXen7+ifXoMu3Dk2ILpv0jqMu9qvk0zdn4kexhE2jbwHos2AIx4qEt\nnJ3MN+nKo93oa/2HBHN8k2KIHtJFpZEqiaq9JV5Nsxmkq8jQ2k6APMj9TcGOuh/i\nG/XwnfDW4o+eyqbFbjan1UFpbsBqy0RkX1ZDHL/Amk8/MwcpY+gFs35inJ5pOYjn\nXSOm3TcwLytF5F4TioCYWKCsp4KXrYf/DTrtPtVYrPgfwMT2bYbfw/UFoz22v43A\ng7IpeJAB6JO8IXrbd07C023rkqNpyWg3PV17K4BWmIbxyGD/Nkp27doCEPB4kY89\nUOCMkKug1RtWrnUsk6SoHzrYcoyWoy88jALDm4rc6IodkKSYceUr6Fy8v128OQF+\nfYYV8zHzkB+dw8N3md2cXM9eIYGLI9VujLzCz+E/MikAWkgqG2VLZrRgnBAplaxj\nU80bQFjs3HYIsh4n/4wPBT7weL9yhnMQ+5dzKw3hyWFJ5m37AgMBAAGjggEgMIIB\nHDAdBgNVHQ4EFgQUab+CGJg/37SDQS393GQ7bI70ZDowgewGA1UdIwSB5DCB4YAU\nab+CGJg/37SDQS393GQ7bI70ZDqhgcWkgcIwgb8xCzAJBgNVBAYTAlVTMRowGAYD\nVQQIFhFJTkZJTklEQVRfVEVTVF9DQTEaMBgGA1UEBxYRSU5GSU5JREFUX1RFU1Rf\nQ0ExGjAYBgNVBAoWEUlORklOSURBVF9URVNUX0NBMRowGAYDVQQLFhFJTkZJTklE\nQVRfVEVTVF9DQTEaMBgGA1UEAxQRSU5GSU5JREFUX1RFU1RfQ0ExJDAiBgkqhkiG\n9w0BCQEWFWV4YW1wbGVAaW5maW5pZGF0LmNvbYIBADAMBgNVHRMEBTADAQH/MA0G\nCSqGSIb3DQEBCwUAA4ICAQB6D3mLHsWXmsj5hA4TbHuL5SZY77JXlD6iT1QKHduJ\nxVJJLFUaIUvtcZnljOXqGiu8Q6jrv0BGvBHvZGoflanYvQJ340iY6KQUl+LKPhBv\nrv1BMBD4vgEi6t4NhybXrSDq44wUy/hHjFmz39KwkthBYdmu780Ux3aiq3r9sC27\nxbY08dIFb3Ntm0kuSEuv9fMQ/uAEb/tPU+svtWKyZ7awQHxNnlj57jdTtSAmUQxX\ng31UQ+gvlgA1Eu8PzSQ7Y6Mql8IGIaQtFvmNa09dDl2ocjcuRcDi4t+Isg5YdMVL\nsMdzFOzjc7hhIWQMUDXqJjpUdY5R3szrK85Bs2RaRfwANX45+GfP5sjyU8qclyda\nRY4Gs/3u8hYVJoTfTWzeR0ljcpc4wKFymVVT+Lb3y2+nQVepn8+8Yus86UvW8YgR\n5TQRd9noIpbaGPyqucmUWhNSGW2eA0zakdXAoxKCsIphcTzpyUC9FIbe1TfA30q7\nQbHMcKDNPhAJJ3+XnqYW9V/fa4gH1SBe81bovPfPciG7ioxaTXm9JErNztb3kwhX\nWq6zM1h/8Kqw1fk2QiblGt9DG9mWqDYOKtY7O0g6UouhkerUljj+LBPnrXNbkrW5\naDH25OHmKHNwbpKYGEeWdfDtEgYHHUIlIKX8mvu13Fz9JZfeTR6i2vSvOW7h1Phz\n/w==\n-----END CERTIFICATE-----\n\r\n--Boundary_2_1608794709_1774519799574--\r\n" Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsD788haFaClwZvuV1a5z\ntwIgTTYN+ox8Zwgc3mkvZrQP5+SB+8TAjmLwolPSKJePQJQzSTO1GmkBGSFjZkVQ\nJjKZmA89zlo+5HrFr4I4wcmW8te+b0P5moS/3qQBe72lX/7jMKpApwKupCC6fzFd\npW2WZQZiZZV6ker4pbj/+7GEmpwU8x0vFpuIYxN9sRxWbxSoEhd6fv6J9egy7cOT\nYgum/SOoy72q+TTN2fiR7GETaNvAeizYAjHioS2cncw36cqj3ehr/YcEc3yTYoge\n0kWlkSqJqr0lXk2zGaSryNDaToA8yP1NwY66H+Ib9fCd8Nbij57KpsVuNqfVQWlu\nwGrLRGRfVkMcv8CaTz8zBylj6AWzfmKcnmk5iOddI6bdNzAvK0XkXhOKgJhYoKyn\ngpeth/8NOu0+1Vis+B/AxPZtht/D9QWjPba/jcCDsil4kAHok7whett3TsLTbeuS\no2nJaDc9XXsrgFaYhvHIYP82Snbt2gIQ8HiRjz1Q4IyQq6DVG1audSyTpKgfOthy\njJajLzyMAsObitzoih2QpJhx5SvoXLy/Xbw5AX59hhXzMfOQH53Dw3eZ3Zxcz14h\ngYsj1W6MvMLP4T8yKQBaSCobZUtmtGCcECmVrGNTzRtAWOzcdgiyHif/jA8FPvB4\nv3KGcxD7l3MrDeHJYUnmbfsCAwEAAQ==\n-----END PUBLIC KEY-----\n", "modulus": "B03EFCF2168568297066FB95D5AE73B702204D360DFA8C7C67081CDE692F66B40FE7E481FBC4C08E62F0A253D228978F4094334933B51A6901192163664550263299980F3DCE5A3EE47AC5AF8238C1C996F2D7BE6F43F99A84BFDEA4017BBDA55FFEE330AA40A702AEA420BA7F315DA56D9665066265957A91EAF8A5B8FFFBB1849A9C14F31D2F169B8863137DB11C566F14A812177A7EFE89F5E832EDC393620BA6FD23A8CBBDAAF934CDD9F891EC611368DBC07A2CD80231E2A12D9C9DCC37E9CAA3DDE86BFD8704737C9362881ED245A5912A89AABD255E4DB319A4ABC8D0DA4E803CC8FD4DC18EBA1FE21BF5F09DF0D6E28F9ECAA6C56E36A7D541696EC06ACB44645F56431CBFC09A4F3F33072963E805B37E629C9E693988E75D23A6DD37302F2B45E45E138A809858A0ACA78297AD87FF0D3AED3ED558ACF81FC0C4F66D86DFC3F505A33DB6BF8DC083B229789001E893BC217ADB774EC2D36DEB92A369C968373D5D7B2B80569886F1C860FF364A76EDDA0210F078918F3D50E08C90ABA0D51B56AE752C93A4A81F3AD8728C96A32F3C8C02C39B8ADCE88A1D90A49871E52BE85CBCBF5DBC39017E7D8615F331F3901F9DC3C37799DD9C5CCF5E21818B23D56E8CBCC2CFE13F3229005A482A1B654B66B4609C102995AC6353CD1B4058ECDC7608B21E27FF8C0F053EF078BF72867310FB97732B0DE1C96149E66DFB", ... TRUNCATED ... Errors See general list of error codes. Upload InfiniBox Certificate and Key Description Upload Infinibox certificate + key API Endpoint POST api/rest/system/kms/upload_infinibox_certificate_and_key URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data "--Boundary_1_872358421_1774519781542\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; filename=\"infinibox_certificate.pem\"; modification-date=\"Thu, 26 Mar 2026 09:48:07 GMT\"; size=5220; name=\"file\"\r\n\r\n-----BEGIN CERTIFICATE-----\nMIIFcTCCA1mgAwIBAgIDATZcMA0GCSqGSIb3DQEBCwUAMIG/MQswCQYDVQQGEwJV\nUzEaMBgGA1UECBYRSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAcWEUlORklOSURB\nVF9URVNUX0NBMRowGAYDVQQKFhFJTkZJTklEQVRfVEVTVF9DQTEaMBgGA1UECxYR\nSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAMUEUlORklOSURBVF9URVNUX0NBMSQw\nIgYJKoZIhvcNAQkBFhVleGFtcGxlQGluZmluaWRhdC5jb20wHhcNMTkwOTEwMDgy\nMDAwWhcNMzkwOTA1MDgyMDAwWjAUMRIwEAYDVQQDDAl0ZXN0X3VzZXIwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVXRWuGQk1T8I28+EMlEotMFVwb8J7\noEPBSm10Osu33bPHmKlw87SCAKYPCeAXEXnSOOZgNdzsxIQmYE9MaoK43PrHaHG5\nNmJ7HfiAVoVp1hRJkiz0qfv7rSx1Airl3pj14mg8R5pnSZToexw9fH1bc35VnRwn\nxbyGpbXMdS/e69EiMjM68t10KVNI5jxfwcnXhbqdth+4mteKHP/Vqzs7Qv/JAG5e\nmaiNIyC0XdII9cFbcvMXXdtXDisV7ze8xkMM6Tq/s6m5hsl615gFFcoWq3Be/UZB\nv4ax2aFK0Xe6dDrzVlRQXs+ogFzpCdUC/c5hLXQhlcMRB9o/rZNj1KkDseKCUs6c\nSPpJrYON7PNaOGn69NceYK4C67l/nequN9GZH5gXKoKH75s9rXbMNWx82ZMZ8aIo\nrOczJiVqTbLLXfSaa09WX2NDga30lvRV5mApqYadweHIa3e3cV8J8TZ1Z3pSaoZN\noTnS1ul5Q9TbAKKYmVplExd7BDCeaR0hejdwDit0L9FdhjVf0CrtBV1w8d7oLpy4\nP2DFatihkcztyVLwh5pGYNJQLQOfFOukuXvkzcRbNgp7jOLMDDoTT5iqPY4sWVqP\nuMmPsB/sgqgB3QulejNJfRrmgoEGdKQ6iR2xyoy/1bMkkIF3bSkC+nnJ1DbtWO5x\n0KdgNdxBXZ+Y1wIDAQABoyAwHjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIH\ngDANBgkqhkiG9w0BAQsFAAOCAgEAphcBKMaQ4c0nAjhPDJ+OSdv/FE18Qa9xI/Ak\nA7gpW6UwG0iL/Rz2PIFPAnJIf3tu/WO71MFY5A924prWZsn7U4iTFhttWzLobHB9\nolPTzMK9Q87XuCREs6+IoYlVcdgmH5sBhfyWpCG8pwVmplbkLWc6QeE2qGjxtR31\nUBeXqPIEFYPG6ZaO7PYp4Qv9DmtPJq8KMzk8TbaMiH4psH00xEoccmNWVmmEUqov\nwjEJStlGNQKxJJ6zrFTD2eBJOYvJs4sF3eoOqDinJc4BxKuJhWUFgtE4w7vc+4Sj\nt2gjl01aKXWZnwq0YisboasGKWwMexgYcjXJXBFG9/BzuFUdTCoEvcY6XXlQCHkG\nFTR2fLRc8IAmhRzY6JuSOmsfuWnpxefZ8AEFngAkUxzTj+s6PeTNTcfd//2CY/wl\nP96+HRSWjcKOeQKJ3kKHhza+LItPy3p0eCBYGnoXYx2XyEVYU5VpBvNEYxRRJYmI\ncVL/uFqtW0QoNJxnfs0QDBTXN9A5L8F7NF1/GKSL7bZnVkperYr38lm5nfzi4TKv\nXKna6fyql8t6Vj9jXNUK9BRcMpQ/KYlYFP3xCbxDMjMcMvL9PXO6yOOHJ0ygojHJ\nmyV5lJoMZYr5ip3CqS5RNtMLVkoPYDDqM1pdrAlmEw8AV8KZqEJUcOP+I/DdNc0X\n80wByLY=\n-----END CERTIFICATE-----\n-----BEGIN PRIVATE KEY-----\nMIIJRAIBADANBgkqhkiG9w0BAQEFAASCCS4wggkqAgEAAoICAQDVXRWuGQk1T8I2\n8+EMlEotMFVwb8J7oEPBSm10Osu33bPHmKlw87SCAKYPCeAXEXnSOOZgNdzsxIQm\nYE9MaoK43PrHaHG5NmJ7HfiAVoVp1hRJkiz0qfv7rSx1Airl3pj14mg8R5pnSZTo\nexw9fH1bc35VnRwnxbyGpbXMdS/e69EiMjM68t10KVNI5jxfwcnXhbqdth+4mteK\nHP/Vqzs7Qv/JAG5emaiNIyC0XdII9cFbcvMXXdtXDisV7ze8xkMM6Tq/s6m5hsl6\n15gFFcoWq3Be/UZBv4ax2aFK0Xe6dDrzVlRQXs+ogFzpCdUC/c5hLXQhlcMRB9o/\nrZNj1KkDseKCUs6cSPpJrYON7PNaOGn69NceYK4C67l/nequN9GZH5gXKoKH75s9\nrXbMNWx82ZMZ8aIorOczJiVqTbLLXfSaa09WX2NDga30lvRV5mApqYadweHIa3e3\ncV8J8TZ1Z3pSaoZNoTnS1ul5Q9TbAKKYmVplExd7BDCeaR0hejdwDit0L9FdhjVf\n0CrtBV1w8d7oLpy4P2DFatihkcztyVLwh5pGYNJQLQOfFOukuXvkzcRbNgp7jOLM\nDDoTT5iqPY4sWVqPuMmPsB/sgqgB3QulejNJfRrmgoEGdKQ6iR2xyoy/1bMkkIF3\nbSkC+nnJ1DbtWO5x0KdgNdxBXZ+Y1wIDAQABAoICAQCd+PSTWXAK68nFPB5VXPnq\nqU2pGOYq+EcSNtQBaYLp2JlCX9KckaQFWQuaONqU2diTgJN5iofPOdUKQOaVkorE\n6sA2oisJUa3qsA8MnoLbEKkmq7bjU3QBLH+tBnTSi1Q/QWmhr/YvITjCRFxtXd3G\ntyVDqDZvcCUcoFaRUfamm3zVT8vEiorSdcJ3SBhNYcLa8uVv3adw3BxX4w68mbIa\nN4oAvXP6UNSN4wNU594ZyjNmTR6VH2XF9/SIofxnpXeBeLGJvDEe7x//9t5UbYSZ\n8kcZ3XaGOZM13QdhyONXxrTa9AErHHetr5Sa6i+vrlF+e9PvBd5OnrzFxvNIx+x2\nOLoUsPyflKny1ESvCVhDTozOi+SL8l8aPaxc2/nzX3QwUnhTmdElaPZKv5DGm9/I\niy3hZC7q6sjsKZm10d2kgB2cXjAkvYSqTDpx8AO362ZAHoG/Vg3YdJ43oHzK3jaS\njsw+/GI137DQgcekxc7zUfR0aN07TlNIsAHCxREFGmo395B3dMryjaQ8+tMW8ClS\nby9HvuFRxJpCaZJPcQSwijwa4pG8RmJ4dzeVYOIbpwgN376MULJzaPIq5ztDrIC6\n3DPX6OG3wVP56DpoqcauWm3TyAfnLUnSaVKrfbpnPtAm9JGtq07YSz7NlQPtUolr\nEejvGklpEZgQRRtFdO3m4QKCAQEA7k0BMIA4PntyMvOXG37H4XuFXbufOrTcRjDh\nxv+ZCAHDLhuOybfNK5UTBRcyAFo4CXZlAKmQxn8CNMfKaWq1YdQ7F28LVEpVM08a\n50+ddZvNr1DK6xYGYxTqDLsCUHLRKIKC5csauN10KVC4zdz2uyUDOXlr1XVCBPMm\nEt+3f4DSwzZC6CmS29scB0sRX09RuRKKLD3mOov4sYzEBkxV9tt524r2wdHRn5yV\nc2WVoggTc6lJYIP4zR8SbCvKrbTihWisf8IpSN4fmuVDofQroC4Rytu2tu9LCZtn\nyASl0ggXxcpbzARaLxpORb88nTw6IL8SWhMZ2N9sfTSDL/foxwKCAQEA5TXuI1FI\nw2qci9//RRsML7BqM4fSPPRfgsn8nkyD6gUcx1WTUyD4/8JB52KqrivOli5bVgB+\n/TG5PdsLjDLoHNYMh4+ZcxOyvgu2b4yJTNfG5iWbQPX7r04SfLkH9H6xVrMm4MBm\nRMDMwsXtDMZO/0EezwbpTKqvXqVtM1H2Z4FB/B5VXYbnzQQaA/P532b63QK2z741\np1fTSFeGZDZelbjvq44qEn8zLY5O0j0AXwq9PHlu5LtOOy9I3MZPo9LpTkRczyq7\npa09Vrdx0sMKirxxhkl/C/Q5GRem1CPYuZlPI9NR2MXf3lhY2pa/64Kn6lur+zVf\nxVaFonJDj7BfcQKCAQEAgSxiuay3UD9QTwg13+SgaryvNXkPvh3tzWqP6HQCuxFh\ngKvVgcjNQZOkZL0HEKPW/mIcK/i+jqqoQn4OXYhHXAlUIsbByGYmuxJlTf+dJfRX\n0XGlHTuqKKlcmZwBjCRA9omQdQncqVr5ra+hDY56fEV68vu7lVDjgZVgDRkR+d6V\n4NWX/QsUHXMvRVDO0PBJJ15CYesH0rKvE2dvls5oRtD/xB8W1UdsLu4NISlurA9e\no/Ke4N+IzX/LV7GBQxnrNE/iObrA8Evfq/Ic8DxQLZrrcCAbchxSe5mu7wB99lUG\nteOUUQoG7MOArFQWglD0XW3Vf9gcya+Kum/tsOHcXwKCAQEAy770wFAw7gSGw4+J\nylQQsROQU94X9DcF76y88bnySMPioQ5gtzRIIpD7JEOAlPI74SOz7O7j8w2QLHvZ\n9/YIfhmHabksHi8UY/rlYKL8KWJlW49yQnxmDZ7IsDWJ7Lvxx6/Yj1B3mAYJ/dkS\nrphZAG1ShZUPLSdMXEWQnF3vOnKbxRDxsQGKa6OJvJnTM9LGjE8tUd0ytF5NYbDr\ntYje6xhJc6Ybn/WR+JzXU+sFuXZCYM9Q0+Hr2JBfpGBjyqxg10HNfhnuU4d7Tuoi\nM8dMR6bbAxOx615cowFzOn/i1piA0Me3qYm7RloiIax/TUoHGTwD1HnNeA1BHPWV\nONT/AQKCAQBzezs4gBn6EQIfq9dBlSgOUtSdGieYxIaFqBZg9PJ1esJjOIsj7bKo\nwkvszRvTfwS5uQTcGbxm4UtIz2EwPxfMoRSeYEAIJb47dId81joFyOafwC4kJubP\nskbDMf96YdpHkLeDqw+5qsRgn4GsprmGIiEvNa7DhNxMII6PjuqHqERJbBwsjDrH\nls7RSRQ08IBzEwX1GpSC+EOPjTVAiRFSdm+nDuas1raCLM1ScByBPc9H1yPurxxb\nTnzLiOyywwW/UmuWIFOachAlWDPf+S7M9fttfGqsPVydtJjKZqVnt80cjtXSf7Ql\n4MZ6e7cjtdlTfW7kZPg4CKRfF82t7bT/\n-----END PRIVATE KEY-----\n\r\n--Boundary_1_872358421_1774519781542--\r\n" Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1V0VrhkJNU/CNvPhDJRK\nLTBVcG/Ce6BDwUptdDrLt92zx5ipcPO0ggCmDwngFxF50jjmYDXc7MSEJmBPTGqC\nuNz6x2hxuTZiex34gFaFadYUSZIs9Kn7+60sdQIq5d6Y9eJoPEeaZ0mU6HscPXx9\nW3N+VZ0cJ8W8hqW1zHUv3uvRIjIzOvLddClTSOY8X8HJ14W6nbYfuJrXihz/1as7\nO0L/yQBuXpmojSMgtF3SCPXBW3LzF13bVw4rFe83vMZDDOk6v7OpuYbJeteYBRXK\nFqtwXv1GQb+GsdmhStF3unQ681ZUUF7PqIBc6QnVAv3OYS10IZXDEQfaP62TY9Sp\nA7HiglLOnEj6Sa2DjezzWjhp+vTXHmCuAuu5f53qrjfRmR+YFyqCh++bPa12zDVs\nfNmTGfGiKKznMyYlak2yy130mmtPVl9jQ4Gt9Jb0VeZgKamGncHhyGt3t3FfCfE2\ndWd6UmqGTaE50tbpeUPU2wCimJlaZRMXewQwnmkdIXo3cA4rdC/RXYY1X9Aq7QVd\ncPHe6C6cuD9gxWrYoZHM7clS8IeaRmDSUC0DnxTrpLl75M3EWzYKe4zizAw6E0+Y\nqj2OLFlaj7jJj7Af7IKoAd0LpXozSX0a5oKBBnSkOokdscqMv9WzJJCBd20pAvp5\nydQ27VjucdCnYDXcQV2fmNcCAwEAAQ==\n-----END PUBLIC KEY-----\n", "modulus": "D55D15AE1909354FC236F3E10C944A2D3055706FC27BA043C14A6D743ACBB7DDB3C798A970F3B48200A60F09E0171179D238E66035DCECC48426604F4C6A82B8DCFAC76871B936627B1DF880568569D61449922CF4A9FBFBAD2C75022AE5DE98F5E2683C479A674994E87B1C3D7C7D5B737E559D1C27C5BC86A5B5CC752FDEEBD12232333AF2DD74295348E63C5FC1C9D785BA9DB61FB89AD78A1CFFD5AB3B3B42FFC9006E5E99A88D2320B45DD208F5C15B72F3175DDB570E2B15EF37BCC6430CE93ABFB3A9B986C97AD7980515CA16AB705EFD4641BF86B1D9A14AD177BA743AF35654505ECFA8805CE909D502FDCE612D742195C31107DA3FAD9363D4A903B1E28252CE9C48FA49AD838DECF35A3869FAF4D71E60AE02EBB97F9DEAAE37D1991F98172A8287EF9B3DAD76CC356C7CD99319F1A228ACE73326256A4DB2CB5DF49A6B4F565F634381ADF496F455E66029A9869DC1E1C86B77B7715F09F13675677A526A864DA139D2D6E97943D4DB00A298995A6513177B04309E691D217A37700E2B742FD15D86355FD02AED055D70F1DEE82E9CB83F60C56AD8A191CCEDC952F0879A4660D2502D039F14EBA4B97BE4CDC45B360A7B8CE2CC0C3A134F98AA3D8E2C595A8FB8C98FB01FEC82A801DD0BA57A33497D1AE682810674A43A891DB1CA8CBFD5B3249081776D2902FA79C9D436ED58EE71D0A76035DC415D9F98D7", "algorithm": "RSA" }, "id": "httpd", "certificate": { "issued_to": { "CN": "test_user" }, "issued_on": 1568103600000, "issued_by": { "C": "US", "1.2.840.113549.1.9.1": "FhVleGFtcGxlQGluZmluaWRhdC5jb20=", "CN": "INFINIDAT_TEST_CA", "L": "INFINIDAT_TEST_CA", "O": "INFINIDAT_TEST_CA", "ST": "INFINIDAT_TEST_CA", "OU": "INFINIDAT_TEST_CA" }, "raw": "-----BEGIN CERTIFICATE-----\nMIIFcTCCA1mgAwIBAgIDATZcMA0GCSqGSIb3DQEBCwUAMIG/MQswCQYDVQQGEwJV\nUzEaMBgGA1UECBYRSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAcWEUlORklOSURB\nVF9URVNUX0NBMRowGAYDVQQKFhFJTkZJTklEQVRfVEVTVF9DQTEaMBgGA1UECxYR\nSU5GSU5JREFUX1RFU1RfQ0ExGjAYBgNVBAMUEUlORklOSURBVF9URVNUX0NBMSQw\nIgYJKoZIhvcNAQkBFhVleGFtcGxlQGluZmluaWRhdC5jb20wHhcNMTkwOTEwMDgy\nMDAwWhcNMzkwOTA1MDgyMDAwWjAUMRIwEAYDVQQDDAl0ZXN0X3VzZXIwggIiMA0G\nCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDVXRWuGQk1T8I28+EMlEotMFVwb8J7\noEPBSm10Osu33bPHmKlw87SCAKYPCeAXEXnSOOZgNdzsxIQmYE9MaoK43PrHaHG5\nNmJ7HfiAVoVp1hRJkiz0qfv7rSx1Airl3pj14mg8R5pnSZToexw9fH1bc35VnRwn\nxbyGpbXMdS/e69EiMjM68t10KVNI5jxfwcnXhbqdth+4mteKHP/Vqzs7Qv/JAG5e\nmaiNIyC0XdII9cFbcvMXXdtXDisV7ze8xkMM6Tq/s6m5hsl615gFFcoWq3Be/UZB\nv4ax2aFK0Xe6dDrzVlRQXs+ogFzpCdUC/c5hLXQhlcMRB9o/rZNj1KkDseKCUs6c\nSPpJrYON7PNaOGn69NceYK4C67l/nequN9GZH5gXKoKH75s9rXbMNWx82ZMZ8aIo\nrOczJiVqTbLLXfSaa09WX2NDga30lvRV5mApqYadweHIa3e3cV8J8TZ1Z3pSaoZN\noTnS1ul5Q9TbAKKYmVplExd7BDCeaR0hejdwDit0L9FdhjVf0CrtBV1w8d7oLpy4\nP2DFatihkcztyVLwh5pGYNJQLQOfFOukuXvkzcRbNgp7jOLMDDoTT5iqPY4sWVqP\nuMmPsB/sgqgB3QulejNJfRrmgoEGdKQ6iR2xyoy/1bMkkIF3bSkC+nnJ1DbtWO5x\n0KdgNdxBXZ+Y1wIDAQABoyAwHjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIH\ngDANBgkqhkiG9w0BAQsFAAOCAgEAphcBKMaQ4c0nAjhPDJ+OSdv/FE18Qa9xI/Ak\nA7gpW6UwG0iL/Rz2PIFPAnJIf3tu/WO71MFY5A924prWZsn7U4iTFhttWzLobHB9\nolPTzMK9Q87XuCREs6+IoYlVcdgmH5sBhfyWpCG8pwVmplbkLWc6QeE2qGjxtR31\nUBeXqPIEFYPG6ZaO7PYp4Qv9DmtPJq8KMzk8TbaMiH4psH00xEoccmNWVmmEUqov\nwjEJStlGNQKxJJ6zrFTD2eBJOYvJs4sF3eoOqDinJc4BxKuJhWUFgtE4w7vc+4Sj\nt2gjl01aKXWZnwq0YisboasGKWwMexgYcjXJXBFG9/BzuFUdTCoEvcY6XXlQCHkG\nFTR2fLRc8IAmhRzY6JuSOmsfuWnpxefZ8AEFngAkUxzTj+s6PeTNTcfd//2CY/wl\nP96+HRSWjcKOeQKJ3kKHhza+LItPy3p0eCBYGnoXYx2XyEVYU5VpBvNEYxRRJYmI\ncVL/uFqtW0QoNJxnfs0QDBTXN9A5L8F7NF1/GKSL7bZnVkperYr38lm5nfzi4TKv\nXKna6fyql8t6Vj9jXNUK9BRcMpQ/KYlYFP3xCbxDMjMcMvL9PXO6yOOHJ0ygojHJ\nmyV5lJoMZYr5ip3CqS5RNtMLVkoPYDDqM1pdrAlmEw8AV8KZqEJUcOP+I/DdNc0X\n80wByLY=\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "1365C", "expired": false, "expires_on": 2198823600000 } }, "error": null } Errors See general list of error codes. Link Create a Link Description Creates a new link to a remote machine. API Endpoint POST api/rest/links URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "local_replication_network_space_id": 1000, "remote_host": "1.1.1.1", "name": "auto-link--8e7b91f3-35f0-4" } Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": 1000, "last_connection_timestamp": null, "link_state": "UP", "local_witness_state": null, "_local_host": null, "id": 642, "remote_system_serial_number": 5889, "async_only": false, "link_mode": "ACTIVE", "local_link_replication_type": [ "SYNC", "ASYNC" ], "_link_configuration_guid": "42bbcac4-a9bc-4324-b374-b90a7d60941e", "connect_timeout": 10000, "is_local_link_ready_for_sync": true, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": null, "remote_system_name": "fred", "retry_wait": 500, "name": "auto-link--8e7b91f3-35f0-4", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [ "SYNC", "ASYNC" ], "remote_host": "1.1.1.1", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 642, "type": "MANAGEMENT", "local": false, "id": 643 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 642, "type": "ASYNC", "local": false, "id": 644 }, { "management": false, "ip_address": "2.2.2.3", "link_id": 642, "type": "ASYNC", "local": false, "id": 645 }, { "management": false, "ip_address": "2.2.2.4", "link_id": 642, "type": "ASYNC", "local": false, "id": 646 }, { "management": false, "ip_address": "2.2.2.5", "link_id": 642, "type": "SYNC", "local": false, "id": 647 }, { "management": false, "ip_address": "2.2.2.6", "link_id": 642, "type": "SYNC", "local": false, "id": 648 }, { "management": false, "ip_address": "2.2.2.7", "link_id": 642, "type": "SYNC", "local": false, "id": 649 } ] }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('remote_host') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('async_only') VERSION_MISMATCH HTTP 403 The remote system has an older InfiniBox software version LINK_INVALID_NET_SPACE HTTP 409 The network space specified was invalid LINK_TOO_MANY_NET_SPACES HTTP 409 No network space was specified for the link, and there are more than one defined. Please choose one LINK_NO_NET_SPACES HTTP 409 No network spaces were found for the link LINK_NAME_CONFLICT HTTP 409 An entity with this name already exists LINK_TO_HOST_ALREADY_EXISTS HTTP 409 A link to a remote system '1.1.1.1' already exists LINK_TYPE_NOT_SUPPORTED HTTP 409 Cannot define a witness on a local 'async only' link type CANNOT_LINK_SYSTEM_TO_ITSELF HTTP 409 Cannot create a loop-back link to the same system. '192.168.2.3' is actually the local system LINK_NET_SPACE_INSUFFICIENT_IPS HTTP 409 Invalid IP assignments are defined for local network space 'auto-ipd--62fec523-75dc-44'. At least seven enabled IPs are needed for sync replication. One reserved for management interface, at least three ASYNC IPs and three SYNC IPs. REMOTE_API_FAILURE HTTP 409 Error on '1.1.1.1': null Delete a Link Description Delete a link. Approval required This is a dangerous operation Deleting the link will prevent the system from replicating data to or from the remote system API Endpoint DELETE api/rest/links/{id} URL Parameters id long The ID of the link to delete force_if_no_remote_credentials Boolean Allow this operation even if a login error is returned by the remote system force_if_remote_error Boolean Allow this operation even if an error is returned by the remote system Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": 1001, "last_connection_timestamp": null, "link_state": null, "local_witness_state": null, "_local_host": null, "id": 9467, "remote_system_serial_number": 5522, "async_only": false, "link_mode": "ACTIVE", "local_link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "_link_configuration_guid": "a0f1d6b5-dcfc-4ed8-8598-50d88e732759", "connect_timeout": 10000, "is_local_link_ready_for_sync": true, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": "172.168.10.10", "remote_system_name": "fred", "retry_wait": 500, "name": "auto-link--a2cd3842-ffc0-4", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "remote_host": "1.1.1.1", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 9467, "type": "MANAGEMENT", "local": false, "id": 9468 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 9467, "type": "ASYNC", "local": false, "id": 9469 }, { "management": false, "ip_address": "2.2.2.3", "link_id": 9467, "type": "ASYNC", "local": false, "id": 9470 }, { "management": false, "ip_address": "2.2.2.4", "link_id": 9467, "type": "ASYNC", "local": false, "id": 9471 }, { "management": false, "ip_address": "2.2.2.5", "link_id": 9467, "type": "SYNC", "local": false, "id": 9472 }, { "management": false, "ip_address": "2.2.2.6", "link_id": 9467, "type": "SYNC", "local": false, "id": 9473 }, { "management": false, "ip_address": "2.2.2.7", "link_id": 9467, "type": "SYNC", "local": false, "id": 9474 } ] }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting the link will prevent the system from replicating data to or from the remote system REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system REMOTE_API_FAILURE HTTP 409 Error on 'fred': Service Unavailable LOW_PHYSICAL_SPACE HTTP 409 Error on 'fred': Not enough free space to unlock the pool LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' REPLICA_INVALID_LINK HTTP 409 Error on 'ibox012-mock-no-bbu': The link is detached LINK_ERROR HTTP 409 Cannot delete link to fred because it has replicas defined with it Get all Links Description Get all of the links. Filterable and Sortable fields:connect_timeout,id,keep_alive_time,_link_configuration_guid,link_mode,name,remote_host,remote_link_id,_remote_management_ip,remote_system_name,remote_system_serial_number,remote_replication_network_space_id,remote_version,retry_count,retry_wait,witness_address. API Endpoint GET api/rest/links URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, READ_ONLY, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get Link by ID Description Get link by ID API Endpoint GET api/rest/links/{id} URL Parameters id long The ID of the link Roles INFINIDAT, ADMIN, POOL_ADMIN, READ_ONLY, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": 1000, "last_connection_timestamp": null, "link_state": "UP", "local_witness_state": null, "_local_host": null, "id": 3983, "remote_system_serial_number": 1637, "async_only": false, "link_mode": "ACTIVE", "local_link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "_link_configuration_guid": "02550b28-aac1-4c7f-99ab-58020c626904", "connect_timeout": 10000, "is_local_link_ready_for_sync": true, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": "172.168.10.10", "remote_system_name": "fred", "retry_wait": 500, "name": "auto-link--96107934-0d19-4", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "remote_host": "1.1.1.1", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 3983, "type": "MANAGEMENT", "local": false, "id": 3984 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 3983, "type": "ASYNC", "local": false, "id": 3985 }, { "management": false, "ip_address": "2.2.2.3", "link_id": 3983, "type": "ASYNC", "local": false, "id": 3986 }, { "management": false, "ip_address": "2.2.2.4", "link_id": 3983, "type": "ASYNC", "local": false, "id": 3987 }, { "management": false, "ip_address": "2.2.2.5", "link_id": 3983, "type": "SYNC", "local": false, "id": 3988 }, { "management": false, "ip_address": "2.2.2.6", "link_id": 3983, "type": "SYNC", "local": false, "id": 3989 }, { "management": false, "ip_address": "2.2.2.7", "link_id": 3983, "type": "SYNC", "local": false, "id": 3990 } ] }, "error": null } Errors LINK_NOT_FOUND HTTP 404 Link 12285 to remote system was not found Refresh Link Description Refresh a link. API Endpoint POST api/rest/links/{id}/refresh URL Parameters id long The id of the link to update Roles INFINIDAT, ADMIN System States ALL JSON Data { "remote_host": "http://box-bla" } Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": 1000, "last_connection_timestamp": null, "link_state": "UP", "local_witness_state": null, "_local_host": null, "id": 12321, "remote_system_serial_number": 51432, "async_only": false, "link_mode": "ACTIVE", "local_link_replication_type": [ "SYNC", "ASYNC" ], "_link_configuration_guid": "8a4f9b49-85ae-415c-9c56-8b7dd659fbe2", "connect_timeout": 10000, "is_local_link_ready_for_sync": true, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": null, "remote_system_name": "fred", "retry_wait": 500, "name": "auto-link--a55c80c2-6b54-4", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [ "SYNC", "ASYNC" ], "remote_host": "http://box-bla", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 12321, "type": "MANAGEMENT", "local": false, "id": 12322 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 12321, "type": "ASYNC", "local": false, "id": 12323 }, { "management": false, "ip_address": "3.3.3.3", "link_id": 12321, "type": "ASYNC", "local": false, "id": 12329 }, { "management": false, "ip_address": "4.4.4.4", "link_id": 12321, "type": "ASYNC", "local": false, "id": 12330 }, { "management": false, "ip_address": "5.5.5.5", "link_id": 12321, "type": "SYNC", "local": false, "id": 12331 }, { "management": false, "ip_address": "6.6.6.6", "link_id": 12321, "type": "SYNC", "local": false, "id": 12332 }, { "management": false, "ip_address": "7.7.7.7", "link_id": 12321, "type": "SYNC", "local": false, "id": 12333 } ] }, "error": null } Errors LINK_NO_NET_SPACES HTTP 409 Error on '1.1.1.1': No network spaces were found for the link LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '1.1.1.1' Set Witness Address Description API Endpoint POST api/rest/links/{id}/set_witness_address URL Parameters id long The ID of the link to update Roles INFINIDAT, ADMIN System States ALL JSON Data { "witness_address": "1.2.3.4" } Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": 1000, "last_connection_timestamp": null, "link_state": "UP", "local_witness_state": null, "_local_host": null, "id": 13744, "remote_system_serial_number": 123, "async_only": false, "link_mode": "ACTIVE", "local_link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "_link_configuration_guid": "9d6f9315-b9fe-4b33-abb6-ce5d744f8e99", "connect_timeout": 10000, "is_local_link_ready_for_sync": true, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": "1.2.3.4", "remote_system_name": "fred", "retry_wait": 500, "name": "link-", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [ "ACTIVE_ACTIVE", "SYNC", "ASYNC" ], "remote_host": "1.1.1.1", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 13744, "type": "MANAGEMENT", "local": false, "id": 13745 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 13744, "type": "ASYNC", "local": false, "id": 13746 }, { "management": false, "ip_address": "2.2.2.3", "link_id": 13744, "type": "ASYNC", "local": false, "id": 13747 }, { "management": false, "ip_address": "2.2.2.4", "link_id": 13744, "type": "ASYNC", "local": false, "id": 13748 }, { "management": false, "ip_address": "2.2.2.5", "link_id": 13744, "type": "SYNC", "local": false, "id": 13749 }, { "management": false, "ip_address": "2.2.2.6", "link_id": 13744, "type": "SYNC", "local": false, "id": 13750 }, { "management": false, "ip_address": "2.2.2.7", "link_id": 13744, "type": "SYNC", "local": false, "id": 13751 } ] }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value ( ) of parameter 'witness_address' does not meet a condition: 'must not be empty' MALFORMED_CONTENT HTTP 400 The request content is malformed LINK_TYPE_NOT_SUPPORTED HTTP 409 Cannot define a witness on a local 'async only' link type LINK_PARTIAL_FAILURE HTTP 409 Link set witness address failed, link status is unknown. User intervention is required. REPLICA_INVALID_LINK HTTP 409 The link is detached WITNESS_CANNOT_BE_REMOVED HTTP 409 Witness address on the link between ibox012-mock-no-bbu and fred cannot be removed if there are active-active replicas defined on link Update Link Description Update a link. For example, detach the link from a network space. API Endpoint PUT api/rest/links/{id} URL Parameters id long The ID of the link to update Roles INFINIDAT, ADMIN System States ALL JSON Data { "local_replication_network_space_id": null } Returns { "metadata": { "ready": true }, "result": { "remote_replication_network_space_id": 34, "remote_link_id": 44, "state_description": null, "local_replication_network_space_id": null, "last_connection_timestamp": null, "link_state": null, "local_witness_state": null, "_local_host": null, "id": 7669, "remote_system_serial_number": 873, "async_only": null, "link_mode": "DETACHED", "local_link_replication_type": [], "_link_configuration_guid": "c1a926d8-0b84-4364-8cf5-43b2448e636d", "connect_timeout": 10000, "is_local_link_ready_for_sync": false, "keep_alive_time": 10000, "local_witness_state_description": null, "remote_witness_state": null, "resiliency_mode": null, "witness_address": null, "remote_system_name": "fred", "retry_wait": 500, "name": "auto-link--148babda-b18e-4", "_version": 1, "retry_count": 4, "_remote_management_ip": null, "remote_version": "8.4.6.20-dev", "link_replication_type": [], "remote_host": "1.1.1.1", "remote_replication_ip_addresses": [ { "management": true, "ip_address": "1.1.1.1", "link_id": 7669, "type": "MANAGEMENT", "local": false, "id": 7670 }, { "management": false, "ip_address": "2.2.2.2", "link_id": 7669, "type": "ASYNC", "local": false, "id": 7671 }, { "management": false, "ip_address": "2.2.2.3", "link_id": 7669, "type": "ASYNC", "local": false, "id": 7672 }, { "management": false, "ip_address": "2.2.2.4", "link_id": 7669, "type": "ASYNC", "local": false, "id": 7673 }, { "management": false, "ip_address": "2.2.2.5", "link_id": 7669, "type": "SYNC", "local": false, "id": 7674 }, { "management": false, "ip_address": "2.2.2.6", "link_id": 7669, "type": "SYNC", "local": false, "id": 7675 }, { "management": false, "ip_address": "2.2.2.7", "link_id": 7669, "type": "SYNC", "local": false, "id": 7676 } ] }, "error": null } Errors INVALID_IP_ADDRESS HTTP 400 IP address '192.168.0191' is invalid. UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('async_only') LINK_NET_SPACE_INSUFFICIENT_IPS HTTP 409 Invalid IP assignments are defined for local network space 'rmrEmpty'. At least seven enabled IPs are needed for sync replication. One reserved for management interface, at least three ASYNC IPs and three SYNC IPs. LINK_INVALID_NET_SPACE HTTP 409 The network space specified was invalid Live Counters Metrics This resource sets and reports on InfiniBox performance counters. A performance counter is a combination of filters and collectors. A filter is a pair of the metered entity and metered value. Metered entity - for example, pool, filesystem Value - the collected metrics (for example: read, write, io_size) A collector is a set of filter, type and collected metrics Type - the way the collected metrics is returned (either of the following: COUNTER, TOP, HISTOGRAM, AGGREGATOR) Collected metrics - for example: throughput, IOPs, latency In order to create a counter: Create a filter Add an operation type to the filter Add an entity to the filter Create a collector Collect the performance counter Add an Operation Type to a Filter Description Add an operation type to a filter. API Endpoint PUT api/rest/metrics/filters/{filter_id} URL Parameters filter_id long filter handle id Roles ALL System States ALL JSON Data { "blah": "halb" } Returns { "metadata": { "ready": true }, "result": { "id": 30002 }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (null) of parameter 'file' does not meet a condition: 'must be valid value of file' NOT_SUPPORTED_MULTIPLE_FIELDS_IN_FILTER HTTP 400 Filter cannot be updated with multiple fields in one request LC_INVALID_FIELD_VALUE HTTP 409 The value 'value' is invalid for field 'name' and filter ID 30032 LC_INVALID_FIELD_NAME HTTP 409 The field 'blah' is invalid for filter ID 30001 FILESYSTEM_IS_UNESTABLISHED HTTP 409 The operation cannot be performed as the filesystem is unestablished ('auto-filesystem--1e247ee4-') Collect the Monitored Entity Performance Description Return results by monitor. Results for several monitors can be returned together. API Endpoint GET api/rest/metrics/collectors/data URL Parameters collector_id String The ID of the collector Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "collectors": [ { "fields": [ "throughput", "iops" ], "id": 12, "collector_type": "COUNTER", "interval_milliseconds": 1000, "data": [ [ 100, 200 ], [ 200, 300 ] ], "end_timestamp_milliseconds": 234875628437562 }, { "grouping_field": "user_id", "fields": [ "user_id", "throughput", "ops", "latency" ], "id": 216172782113784740, "sorting_field": "throughput", "collector_type": "TOP", "interval_milliseconds": 1000, "data": [ [ [ "0", 1017995776, 25982, 266 ] ], [ [ "0", 919279616, 24868, 264 ] ], [ [ "0", 1013081600, 26051, 257 ] ], [ [ "0", 955897344, 24070, 289 ] ], [ [ "0", 967550464, 25329, 277 ] ], [ [ "0", 1025179136, 27075, 275 ] ], [ [ "0", 1019835392, 25350, 284 ] ], [ [ "0", 948393984, 25008, 279 ] ], [ [ "0", 963479552, 27091, 273 ] ], [ [ "0", 1008824832, 24937, 269 ] ] ], "end_timestamp_milliseconds": 1453630430299 } ] }, "error": null } Errors MISSING_CONTENT HTTP 400 The request is empty Create New Filter Description Create a new filter and state the protocol (service). API Endpoint POST api/rest/metrics/filters URL Parameters none Roles ALL System States ALL JSON Data { "protocol": "NFSV3" } Returns { "metadata": { "ready": true }, "result": { "id": 30001 }, "error": null } Errors NOT_SUPPORTED_MULTIPLE_FIELDS_IN_FILTER HTTP 400 Filter cannot be created with multiple fields in one request MISSING_CONTENT HTTP 400 The request is empty AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication FM_DETERMINATION_FAILED HTTP 409 Failed to determine the correct FM Creating a Collector Description Creating a collector. Available collector types are: COUNTER, TOP, HISTOGRAM, AGGREGATOR. API Endpoint POST api/rest/metrics/collectors URL Parameters none Roles ALL System States ALL JSON Data { "collected_fields": null, "type": "COUNTER", "filters": { "protocol_type": "SAN", "io_size": ">4K" } } Returns { "metadata": { "ready": true }, "result": { "collected_fields": [ "throughput" ], "type": "COUNTER", "id": 30003, "filter_id": 30002 }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (null) of parameter 'collected_fields' does not meet a condition: 'may not be null' MALFORMED_PARAMETER HTTP 400 A parameter ('sort_ascending') could not be translated to an expected type MALFORMED_CONTENT HTTP 400 The request content is malformed FILESYSTEM_IS_UNESTABLISHED HTTP 409 The operation cannot be performed as the filesystem is unestablished ('auto-filesystem--bd507426-') FM_DETERMINATION_FAILED HTTP 409 Failed to determine the correct FM Deleting a Collector Description Deleting a collector. API Endpoint DELETE api/rest/metrics/collectors/{collector_id} URL Parameters collector_id long The ID of the collector JSON Data none Returns Errors See general list of error codes. No request examples available Deleting a Filter Description Delete a filter. API Endpoint DELETE api/rest/metrics/filters/{filter_id} URL Parameters filter_id long filter id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "id": 30020 }, "error": null } Errors See general list of error codes. Get Available Fields Description Get available filter fields for starting new filter API Endpoint GET api/rest/metrics/available_fields URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "available_filter_fields": [ { "values": [ "NFS", "NFSV3", "FC", "iSCSI" ], "type": "enum", "name": "protocol" }, { "values": [ "RMR", "SAN" ], "type": "enum", "name": "protocol_type" }, { "values": [ "read", "write" ], "type": "enum", "name": "operation_type" } ] }, "error": null } Errors See general list of error codes. Get Next Available Fields Description Get next available fields for specific filter API Endpoint GET api/rest/metrics/filters/{filter_id}/available_fields URL Parameters filter_id long filter handle id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "available_filter_fields": [ { "type": "uint", "name": "user_id" }, { "values": [ "1K", "4K", ">4K" ], "type": "histogram", "name": "io_size" }, { "type": "uint", "name": "latency" }, { "type": "string", "name": "file" } ], "id": 30006, "available_collector_fields": [ { "name": "throughput", "unit": "bytes", "description": "counter the throughput" }, { "name": "iops", "unit": "kb", "description": "counter the io per seconds" }, { "name": "latency", "unit": "int", "description": "counter the latency" } ] }, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed WRONG_PARAMETER HTTP 400 The value (BLA) of parameter 'level' does not meet a condition: 'can be BASIC or ADVANCED' Local Users Password Policy Get all Local Users Password Policy Description Get local users password policy API Endpoint GET api/rest/users/password_policy URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "min_length": 8, "lowercase": true, "uppercase": true, "symbol": true, "digit": true, "no_username": true, "updated_at": 1774521804202, "max_length": 128, "tenant_id": 1, "created_at": 1774521804202, "id": -1, "reuse_limit": 1 } ], "error": null } Errors See general list of error codes. Message of the Day Get the Message of the Day Description Returns the message that is displayed on the GUI welcome screen. API Endpoint GET api/rest/motd URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true }, "result": "", "error": null } Errors See general list of error codes. Metadata Add Metadata to a Storage Entity Description Add or update metadata for an object. API Endpoint PUT api/rest/metadata/{object_id} URL Parameters object_id long ID of the object Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "somekey": "somevalue" } Returns { "metadata": { "ready": true }, "result": [ { "key": "myKey", "value": "value2", "object_type": "pool", "id": 3071, "object_id": 1000 } ], "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-537460ba-7' is forbidden to modify cg 'auto-cg_-ac9b9cd9-c745-41c' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges METADATA_IS_NOT_SUPPORTED_FOR_ENTITY HTTP 404 This entity ID -1111 does not exist nor support metadata METADATA_PER_REQUEST_EXCEEDED HTTP 409 Too many metadata per request METADATA_PER_ENTITY_EXCEEDED HTTP 409 Too many metadata per entity METADATA_SIZE_EXCEEDED HTTP 409 Metadata value is too big METADATA_IN_SYSTEM_EXCEEDED HTTP 409 Total size of metadata is exceeded Add Metadata to the System Description Add or update metadata for the system. API Endpoint PUT api/rest/metadata/system URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "test-key": "test-value" } Returns { "metadata": { "ready": true }, "result": [ { "key": "test-key", "value": "test-value", "object_type": "system", "id": 146, "object_id": -4 } ], "error": null } Errors See general list of error codes. Delete Metadata by Object Description Delete all of the object’s metadata. Approval required This is a dangerous operation This operation will remove all of the metadata for the specified object API Endpoint DELETE api/rest/metadata/{object_id} URL Parameters object_id long ID of the object Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": [ { "key": "myKey", "value": "value1", "object_type": "pool", "id": 2965, "object_id": 1000 } ], "error": null } Errors APPROVAL_REQUIRED HTTP 403 This operation will remove all of the metadata for the specified object METADATA_IS_NOT_SUPPORTED_FOR_ENTITY HTTP 404 This entity ID -1111 does not exist nor support metadata Delete Metadata by Object and Key Description Delete a specific key from the object’s metadata. API Endpoint DELETE api/rest/metadata/{object_id}/{key} URL Parameters object_id long ID of the object key String The key Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "key": "myKey", "value": "value1", "object_type": "pool", "id": 2676, "object_id": 1000 }, "error": null } Errors METADATA_NOT_FOUND HTTP 404 Metadata not found Delete System Metadata Description Delete all of the system’s metadata. API Endpoint DELETE api/rest/metadata/system URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": [ { "key": "key1", "value": "value1", "object_type": "system", "id": 3224, "object_id": -4 }, { "key": "key2", "value": "value2", "object_type": "system", "id": 3225, "object_id": -4 } ], "error": null } Errors See general list of error codes. Delete System Metadata by Key Description Delete a specific key from the system’s metadata. API Endpoint DELETE api/rest/metadata/system/{key} URL Parameters key String The key Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "key": "test-key", "value": "test-value", "object_type": "system", "id": 146, "object_id": -4 }, "error": null } Errors See general list of error codes. Get all of the Metadata Description Get all of the metadata for all of the objects. API Endpoint GET api/rest/metadata/ URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "key": "key1", "value": "value1", "object_type": "system", "id": 2908, "object_id": -4 }, { "key": "key2", "value": "value2", "object_type": "system", "id": 2909, "object_id": -4 }, { "key": "key0", "value": "value0", "object_type": "pool", "id": 2907, "object_id": 1000 } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('object_type') Get Metadata by Object Description Get the object’s metadata. API Endpoint GET api/rest/metadata/{object_id} URL Parameters object_id long ID of the object Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "key": "key1", "value": "value1", "object_type": "pool", "id": 2715, "object_id": 1000 }, { "key": "key2", "value": "value2_2", "object_type": "pool", "id": 2716, "object_id": 1000 }, { "key": "key3", "value": "value3", "object_type": "pool", "id": 2717, "object_id": 1000 } ], "error": null } Errors METADATA_IS_NOT_SUPPORTED_FOR_ENTITY HTTP 404 This entity ID 1000 does not exist nor support metadata Get Metadata by Object and Key Description Get the object’s metadata of a specific key. API Endpoint GET api/rest/metadata/{object_id}/{key} URL Parameters object_id long ID of the object key String The key Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "key": "myKey", "value": "value1", "object_type": "pool", "id": 2676, "object_id": 1000 }, "error": null } Errors METADATA_NOT_FOUND HTTP 404 Metadata not found Get System Metadata Description Get the system’s metadata. API Endpoint GET api/rest/metadata/system URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get System Metadata by Key Description Get the system's metadata of a specific key. API Endpoint GET api/rest/metadata/system/{key} URL Parameters key String The key Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "key": "key1", "value": "value1", "object_type": "system", "id": 2908, "object_id": -4 }, "error": null } Errors METADATA_NOT_FOUND HTTP 404 Metadata not found Nlm Lock Break Nlm Locks Description Break NLM Locks Approval required This is a dangerous operation Manually breaking a lock may disrupt the application relying on that lock, and may lead to the application suffering data corruption API Endpoint POST api/rest/nlm_locks/break URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "locks_broken": 1234 }, "error": null } Errors NLM_LOCK_PATH_INVALID HTTP 400 Invalid lock file path INVALID_IP_ADDRESS HTTP 400 IP address '1.2.3' is invalid. NLM_INVALID_LOCK_ID HTTP 400 Invalid Lock ID APPROVAL_REQUIRED HTTP 403 Manually breaking a lock may disrupt the application relying on that lock, and may lead to the application suffering data corruption UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found NLM_LOCK_DOES_NOT_EXIST HTTP 404 NLM Lock 1234 does not exist LOCK_ALREADY_IDENTIFIED HTTP 409 Whenever the Lock ID is specified there is no need to specify other attributes NLM_LOCK_PATH_UNAVAILABLE HTTP 409 The lock file path is unavailable NLM_LOCK_QUERY_FILE_PATH_WITHOUT_FILESYSTEM HTTP 409 Using the file_path option requires specifying the filesystem name as well Get all Nlm Locks Description Return all NLM Locks API Endpoint GET api/rest/nlm_locks URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 10, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "lock_id": "7ffffffffffffffe", "granted_at": 986546581, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some1.local.com", "lock_type": "shared", "owner": "124@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1001, "file_path": "/file1" }, { "lock_id": "7ffffffffffffffd", "granted_at": 986546582, "tenant_id": 1, "offset": 0, "state": "GRANTED", "length": 1024, "client": "some2.local.com", "lock_type": "shared", "owner": "125@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1002, "file_path": "/file2" }, { "lock_id": "7ffffffffffffffc", "granted_at": 986546583, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some3.local.com", "lock_type": "exclusive", "owner": "126@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1003, "file_path": "/file3" }, { "lock_id": "7ffffffffffffffb", "granted_at": 986546584, "tenant_id": 1, "offset": 0, "state": "GRANTED", "length": 1024, "client": "some4.local.com", "lock_type": "shared", "owner": "127@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1004, "file_path": "/file4" }, { "lock_id": "7ffffffffffffffa", "granted_at": 986546585, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some5.local.com", "lock_type": "shared", "owner": "128@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1005, "file_path": "/file5" }, { "lock_id": "7ffffffffffffff9", "granted_at": 986546586, "tenant_id": 1, "offset": 0, "state": "GRANTED", "length": 1024, "client": "some6.local.com", "lock_type": "exclusive", "owner": "129@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1006, "file_path": "/file6" }, { "lock_id": "7ffffffffffffff8", "granted_at": 986546587, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some7.local.com", "lock_type": "shared", "owner": "130@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1007, "file_path": "/file7" }, { "lock_id": "7ffffffffffffff7", "granted_at": 986546588, "tenant_id": 1, "offset": 0, "state": "GRANTED", "length": 1024, "client": "some8.local.com", "lock_type": "shared", "owner": "131@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1008, "file_path": "/file8" }, { "lock_id": "7ffffffffffffff6", "granted_at": 986546589, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some9.local.com", "lock_type": "exclusive", "owner": "132@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1009, "file_path": "/file9" }, { "lock_id": "7ffffffffffffff5", "granted_at": 986546590, "tenant_id": 1, "offset": 0, "state": "GRANTED", "length": 1024, "client": "some10.local.com", "lock_type": "shared", "owner": "133@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1010, "file_path": "/file10" } ], "error": null } Errors NLM_LOCK_PATH_INVALID HTTP 400 Invalid lock file path UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'IN' is not supported by this resource UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('aaaaa') NLM_INVALID_LOCK_ID HTTP 400 Invalid Lock ID NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('granted_at') INVALID_IP_ADDRESS HTTP 400 IP address '1.2.3' is invalid. FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found LOCK_ALREADY_IDENTIFIED HTTP 409 Whenever the Lock ID is specified there is no need to specify other attributes NLM_LOCK_PATH_UNAVAILABLE HTTP 409 The lock file path is unavailable NLM_LOCK_QUERY_FILE_PATH_WITHOUT_FILESYSTEM HTTP 409 Using the file_path option requires specifying the filesystem name as well Get Nlm Lock by Lock ID Description Return NLM Lock by lock id API Endpoint GET api/rest/nlm_locks/{lockId} URL Parameters lockId String NLM Lock ID Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "lock_id": "7ffffffffffffffe", "granted_at": 986546581, "tenant_id": 1, "offset": 0, "state": "WAITING", "length": 1024, "client": "some1.local.com", "lock_type": "shared", "owner": "124@hostname", "file_path_status": "AVAILABLE", "filesystem_id": 1001, "file_path": "/file1" }, "error": null } Errors NLM_LOCK_DOES_NOT_EXIST HTTP 404 NLM Lock 1e1e1e does not exist Remove Orphan Nlm Locks Description Remove orphan NLM Locks Approval required This is a dangerous operation Manually removing locks may disrupt the application relying on that lock, and may lead to the application suffering data corruption API Endpoint POST api/rest/nlm_locks/remove_orphan URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "locks_removed": 1234 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Manually removing locks may disrupt the application relying on that lock, and may lead to the application suffering data corruption UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Network Space Add IP Address to Network Space Description Add IP address to a network space. API Endpoint POST api/rest/{id}/ips URL Parameters id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data "\"192.168.2.3\"" Returns { "metadata": { "ready": true }, "result": { "properties": { "is_async_only": false }, "name": "auto-ipd--c4bb46e1-8369-4e", "service": "RMR_SERVICE", "tenant_id": 1, "interfaces": [ 640 ], "rate_limit": null, "id": 1000, "ips": [ { "reserved": true, "type": "MANAGEMENT", "enabled": true, "interface_id": 640, "tpgt": null, "ip_address": "192.168.2.3", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f6" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f5" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f4" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "RESERVED", "vmac_address": "74:2b:0f:ff:ff:f9" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f3" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f7" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f8" } ], "routes": [], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.2.0", "default_gateway": "192.168.2.1" } }, "error": null } Errors INVALID_IP_ADDRESS HTTP 400 IP address '192.168.10.0' is invalid. IP address can not match a network, broadcast or default gateway addresses IP_ADDRESS_CONFLICT HTTP 409 IP address cannot be added. Already exists on the network IP_ADDRESS_GATEWAY_CONFLICT HTTP 409 IP address and default gateway are in conflict NET_SPACE_ADDRESS_CONFLICT HTTP 409 IP address cannot be added as it already exists NETWORK_SPACE_IP_COUNT_LIMIT HTTP 409 IP address cannot be added. Network space IP count limit reached NET_SPACE_INCOMPATIBLE_NET_MASK HTTP 409 IP address '192.168.10.1' must be compatible with network mask '192.168.11.0/24' to be added IP_ADDRESS_ROUTE_GATEWAY_CONFLICT HTTP 409 IP address and route gateway are in conflict IP_ADDRESS_ISNS_SERVER_CONFLICT HTTP 409 IP address '192.168.11.2' conflicts with the address of one of the iSNS servers configured on this network space Add Route to Network Space Description Add a route to a network space. API Endpoint POST api/rest/{network_space_id}/routes/ URL Parameters network_space_id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "netmask": 27, "destination": "1.2.3.32", "gateway": "192.168.11.1" } Returns { "metadata": { "ready": true }, "result": { "netmask": 27, "destination": "1.2.3.32", "id": 9049, "gateway": "192.168.11.1" }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('routes.netmask') is missing in an object passed ROUTE_SPECIFIED_MULTIPLE_TIMES HTTP 400 A route can be used only once in a routing table NETWORK_SPACE_ROUTE_COUNT_LIMIT HTTP 409 Network space route count limit reached (1) NET_SPACE_INCOMPATIBLE_SUBNET_AND_NET_MASK HTTP 409 The network address provided '1.2.3.32' does not match the network mask '26' NETWORK_SPACE_SERVICE_ROUTE_COUNT_LIMIT HTTP 409 Network space service route count limit reached (2) IP_ADDRESS_ROUTE_GATEWAY_CONFLICT HTTP 409 IP address and route gateway are in conflict Create a Network Space Description Create a network space. API Endpoint POST api/rest URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "name": "nwsp1", "automatic_ip_failback": false, "interfaces": [ 1771 ], "rate_limit": null, "properties": {}, "service": "SAN_SERVICE", "routes": null, "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } } Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "nwsp1", "service": "SAN_SERVICE", "tenant_id": 1, "interfaces": [ 1771 ], "rate_limit": null, "id": 1001, "ips": [], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" } ], "routes": null, "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors ROUTE_SPECIFIED_MULTIPLE_TIMES HTTP 400 A route can be used only once in a routing table UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') NET_SPACE_SERVICE_PROPERTIES HTTP 400 The properties provided do not match the network space service MISSING_FIELD HTTP 400 A field ('service') is missing in an object passed MALFORMED_PARAMETER HTTP 400 A parameter ('properties') could not be translated to an expected type WRONG_PARAMETER HTTP 400 The value (null) of parameter 'service' does not meet a condition: 'may not be null' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for READ_ONLY TENANT_NOT_FOUND HTTP 404 Tenant not found METHOD_NOT_ALLOWED HTTP 405 The resource at this path does not support this method NET_SPACE_MUST_DEFINE_ONE_INTERFACE_PER_NODE HTTP 409 Network space must define one interface per node NET_SPACE_INCOMPATIBLE_SUBNET_AND_GATEWAY HTTP 409 The gateway '192.168.12.0' is not in subnet '192.168.11.0/24' SYSTEM_CANNOT_SUPPORT_ISCSI_AA HTTP 409 Active-Active Replication and ISCSI network space cannot exist on same system. Please contact INFINIDAT support for further information NETWORK_SPACE_INCONSISTENT_VLAN_IDS HTTP 409 All VLAN interfaces in the network space must be consistent NET_SPACE_GATEWAY_CONFLICT HTTP 409 Gateway '192.168.11.0' is illegal - conflicts with the Network address NET_SPACE_INTERFACE_CONFLICT HTTP 409 Two network spaces cannot contain the same interface for the same service NETWORK_SPACE_INCONSISTENT_INTERFACE_TYPE HTTP 409 All interfaces in the network space must be of the same type NET_SPACE_INCOMPATIBLE_SUBNET_AND_NET_MASK HTTP 409 The network address provided '172.16.16.16' does not match the network mask '24' NETWORK_SPACE_INCONSISTENT_VLAN_NAME HTTP 409 A network space using VLANs requires all interfaces to have the same name on all nodes ISCSI_DISABLED HTTP 409 iSCSI is disabled, please contact INFINIDAT support to enable it NO_SUCH_OBJECT HTTP 409 No such object: interface - 111 MTU_TOO_LOW HTTP 409 MTU for this network space must be higher / equal to the MTU of network space 'ns2' as they share the same physical interface NETWORK_SPACE_COUNT_LIMIT HTTP 409 The system reached the maximum number of network spaces (10) OPERATION_NOT_SUPPORTED HTTP 409 Setting a rate limit on a network space, which includes an interface of type port is not supported NET_SPACE_NAME_CONFLICT HTTP 409 An entity with this name already exists NETWORK_SPACE_SERVICE_COUNT_LIMIT HTTP 409 The system reached the maximum number of network spaces with service 'RMR' (10) NET_SPACE_DESTINATION_AND_NETWORK_OVERLAP HTTP 409 The route's destination '192.168.11.0/19' and the network '192.168.11.0/24' overlap MTU_TOO_HIGH HTTP 409 MTU for this network space is limited by the MTU of network space 'ns1' NETWORK_SPACE_SERVICE_ROUTE_COUNT_LIMIT HTTP 409 Network space service route count limit reached (1) NET_SPACE_CANT_USE_EMPTY_PORTGROUP HTTP 409 Port group without ports ('emptyIntf') cannot be part of a network space NETWORK_SPACE_ROUTE_COUNT_LIMIT HTTP 409 Network space route count limit reached (1) Delete a Network Space Description Delete a network space. API Endpoint DELETE api/rest/{id} URL Parameters id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "ipd", "service": "NAS_SERVICE", "tenant_id": 1, "interfaces": [ 7682 ], "rate_limit": null, "id": 1000, "ips": [], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" } ], "routes": [], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors NET_SPACE_NOT_FOUND HTTP 404 Invalid network space ID NET_SPACE_NOT_EMPTY HTTP 409 The network space has to be empty of IP addresses in order to be removed Delete Network Space Route by ID Description Delete network space's route by id. API Endpoint DELETE api/rest/{network_space_id}/routes/{id} URL Parameters network_space_id long ID of the network space id long ID of the route Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "netmask": 27, "destination": "3.2.3.32", "id": 9049, "gateway": "192.168.11.1" }, "error": null } Errors ROUTE_NOT_FOUND HTTP 404 Invalid route ID NET_SPACE_NOT_FOUND HTTP 404 Invalid network space ID Disable IP Address for a Network Space Description Disable IP address for a network space. Approval required This is a dangerous operation Disabling the last network space IP address will make the network space inaccessible, and will degrade the functionality of the service service_name API Endpoint POST api/rest/{id}/ips/{ip}/disable URL Parameters id long ID of the network space ip String IP address Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "ipd1", "service": "NAS_SERVICE", "tenant_id": 1, "interfaces": [ 618 ], "rate_limit": null, "id": 1000, "ips": [ { "reserved": false, "type": "NAS", "enabled": true, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.3", "vlan_id": 1 }, { "reserved": false, "type": "NAS", "enabled": false, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.4", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" } ], "routes": [ { "netmask": 27, "destination": "1.2.3.32", "id": 619, "gateway": "192.168.11.1" }, { "netmask": 27, "destination": "2.2.3.32", "id": 620, "gateway": "192.168.11.2" } ], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Disabling the last network space IP address will make the network space inaccessible, and will degrade the functionality of the service (NAS_SERVICE) NET_SPACE_IN_USE HTTP 403 The network space is in use by another entity of type link NET_SPACE_IP_IN_USE_BY_MANAGEMENT HTTP 409 The IP address cannot be disabled because it is in use by the management interface IP_ADDRESS_ALREADY_DISABLED HTTP 409 IP address is already disabled Enable IP Address for a Network Space Description Enable IP address for a network space. API Endpoint POST api/rest/{id}/ips/{ip}/enable URL Parameters id long ID of the network space ip String IP address Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "ipd1", "service": "NAS_SERVICE", "tenant_id": 1, "interfaces": [ 8328 ], "rate_limit": null, "id": 1000, "ips": [ { "reserved": false, "type": "NAS", "enabled": true, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.1", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" } ], "routes": [], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors IP_ADDRESS_ALREADY_ENABLED HTTP 409 IP address is already enabled Get a Network Space Description Get a network space. API Endpoint GET api/rest/{id} URL Parameters id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "ipd1", "service": "NAS_SERVICE", "tenant_id": 1, "interfaces": [ 618 ], "rate_limit": null, "id": 1000, "ips": [ { "reserved": false, "type": "NAS", "enabled": true, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.3", "vlan_id": 1 }, { "reserved": false, "type": "NAS", "enabled": true, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.4", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" } ], "routes": [ { "netmask": 27, "destination": "1.2.3.32", "id": 619, "gateway": "192.168.11.1" }, { "netmask": 27, "destination": "2.2.3.32", "id": 620, "gateway": "192.168.11.2" } ], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors NET_SPACE_NOT_FOUND HTTP 404 Invalid network space ID Get all Network Space Routes Description Get all routes of a network space. API Endpoint GET api/rest/{network_space_id}/routes URL Parameters network_space_id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "netmask": 27, "destination": "1.2.3.32", "id": 8731, "gateway": "192.168.11.1" }, { "netmask": 27, "destination": "2.2.3.32", "id": 8732, "gateway": "192.168.11.2" } ], "error": null } Errors See general list of error codes. Get all Network Spaces Description Get all network spaces. Filterable and Sortable fields:automatic_ip_failback,id,mtu,name,network_config,rate_limit,service. API Endpoint GET api/rest URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get Network Space Route by ID Description Get network space's route by id. API Endpoint GET api/rest/{network_space_id}/routes/{id} URL Parameters network_space_id long ID of the network space id long ID of the route Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "netmask": 27, "destination": "1.2.3.32", "id": 10261, "gateway": "192.168.11.1" }, "error": null } Errors ROUTE_NOT_FOUND HTTP 404 Invalid route ID NET_SPACE_NOT_FOUND HTTP 404 Invalid network space ID Remove IP Address from Network Space Description Remove an IP address from a network space. Approval required This is a dangerous operation Deleting the last network space IP address will make the network space inaccessible, and will degrade the functionality of the service service_name API Endpoint DELETE api/rest/{id}/ips/{ip} URL Parameters id long ID of the network space ip String IP address Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "properties": { "iscsi_isns_servers": null, "iscsi_iqn": "iqn.2009-11.com.infinidat:storage:infinibox-sn-19", "iscsi_tcp_port": 3260, "is_tpg_per_port": true, "iscsi_default_security_method": "NONE" }, "name": "ipd3", "service": "ISCSI_SERVICE", "tenant_id": 1, "interfaces": [ 8518 ], "rate_limit": null, "id": 1002, "ips": [ { "reserved": false, "type": "ISCSI", "enabled": true, "interface_id": null, "tpgt": 2, "ip_address": "192.168.11.6", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f9" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f7" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f8" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f5" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f6" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:f4" } ], "routes": [], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors NET_SPACE_IP_NOT_EXISTS HTTP 400 IP does not exists in network space APPROVAL_REQUIRED HTTP 403 Deleting the last network space IP address will make the network space inaccessible, and will degrade the functionality of the service (NAS_SERVICE) NET_SPACE_IP_ENABLED HTTP 409 IP address is enabled NET_SPACE_IP_IN_USE_BY_MANAGEMENT HTTP 409 The IP address cannot be deleted because it is in use by the management interface Update a Network Space Description Modify the network space IP address, network mask, default gateway or service's properties. API Endpoint PUT api/rest/{id} URL Parameters id long ID of the network space Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "rate_limit": 1000 } Returns { "metadata": { "ready": true }, "result": { "properties": {}, "name": "ipd1", "service": "NAS_SERVICE", "tenant_id": 1, "interfaces": [ 618 ], "rate_limit": 1000, "id": 1000, "ips": [ { "reserved": false, "type": "NAS", "enabled": true, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.3", "vlan_id": 1 }, { "reserved": false, "type": "NAS", "enabled": false, "interface_id": null, "tpgt": null, "ip_address": "192.168.11.4", "vlan_id": 1 } ], "automatic_ip_failback": false, "vmac_addresses": [ { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fb" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fc" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fd" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fe" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:ff" }, { "role": "DATA", "vmac_address": "74:2b:0f:ff:ff:fa" } ], "routes": [ { "netmask": 27, "destination": "1.2.3.32", "id": 619, "gateway": "192.168.11.1" }, { "netmask": 27, "destination": "2.2.3.32", "id": 620, "gateway": "192.168.11.2" } ], "mtu": 1500, "network_config": { "netmask": 24, "network": "192.168.11.0", "default_gateway": "192.168.11.254" } }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') INVALID_IP_ADDRESS HTTP 400 IP address 'someInValidIp' is invalid. UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (null) for field ('iscsi_isns_servers') MALFORMED_PARAMETER HTTP 400 A parameter ('iscsi_tcp_port') could not be translated to an expected type WRONG_PARAMETER HTTP 400 The value (-1) of parameter 'mtu' does not meet a condition: 'must be greater than or equal to 1280' NET_SPACE_SERVICE_PROPERTIES HTTP 400 The properties provided do not match the network space service NET_SPACE_IN_USE HTTP 403 The network space is in use by another entity of type link METHOD_NOT_ALLOWED HTTP 405 The resource at this path does not support this method OPERATION_NOT_SUPPORTED HTTP 409 Setting a rate limit on a network space, which includes an interface of type port is not supported ISNS_SERVER_UNREACHABLE HTTP 409 iSNS server '172.168.90.12' cannot be added since it is unreachable (not in the network space's netmask / routing table) ISNS_SERVERS_COUNT_LIMIT HTTP 409 The network space reached the maximum number of isns servers (4) ISNS_SERVERS_UNREACHABLE HTTP 409 iSNS servers '[172.168.90.12]' cannot be added since they are unreachable MTU_TOO_LOW HTTP 409 MTU for this network space must be higher / equal to the MTU of network space 'ns2' as they share the same physical interface NETWORK_CONFIG_MODIFY_NOT_ALLOWED_WITH_ROUTES HTTP 409 Modifying the network address or netmask of a network space with routes is not allowed NET_SPACE_INCOMPATIBLE_NETWORK_AND_EXISTING_IPS HTTP 409 The network is incompatible with IP addresses already defined in the network space NET_SPACE_INTERFACE_CONFLICT HTTP 409 At least one of the interfaces that are provided for the network space has to be in Enabled state IP_ADDRESS_GATEWAY_CONFLICT HTTP 409 IP address and default gateway are in conflict ISNS_SERVER_GATEWAY_REQUIRED HTTP 409 The default gateway cannot be removed as long as there is an iSNS server '172.168.90.12' outside the network space LINK_NET_SPACE_INSUFFICIENT_IPS HTTP 409 Invalid IP assignments are defined for local network space 'rmr-ip'. At least seven enabled IPs are needed for sync replication. One reserved for management interface, at least three ASYNC IPs and three SYNC IPs. ISNS_SERVER_IP_CONFLICT HTTP 409 iSNS server '192.168.11.2' cannot be added since its address is defined as a network space IP MTU_TOO_HIGH HTTP 409 MTU for this network space is limited by the MTU of network space 'ns1' Update Network Space Route by ID Description Modify a network space's route by id. API Endpoint PUT api/rest/{network_space_id}/routes/{id} URL Parameters network_space_id long ID of the network space id long ID of the route Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "destination": "3.2.3.32", "gateway": "192.168.11.3" } Returns { "metadata": { "ready": true }, "result": { "netmask": 27, "destination": "3.2.3.32", "id": 8408, "gateway": "192.168.11.3" }, "error": null } Errors ROUTE_SPECIFIED_MULTIPLE_TIMES HTTP 400 A route can be used only once in a routing table NET_SPACE_INCOMPATIBLE_SUBNET_AND_NET_MASK HTTP 409 The network address provided '1.2.3.32' does not match the network mask '26' NET_SPACE_GATEWAY_CONFLICT HTTP 409 Gateway '192.168.11.255' is illegal - conflicts with the Network broadcast address IP_ADDRESS_ROUTE_GATEWAY_CONFLICT HTTP 409 IP address and route gateway are in conflict Network Troubleshooting Execute Ping Description API Endpoint POST api/rest/ping URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN System States ALL JSON Data { "node": "node-1", "service": "MGMT" } Returns { "metadata": { "ready": true }, "result": null, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('service') could not be translated to an expected type MISSING_FIELD HTTP 400 A field ('hostname') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (null) of parameter 'hostname' does not meet a condition: 'must be a valid hostname or ip address' NFS Get NFS Server Capabilities Description Return the NFS server capabilities Filterable and Sortable fields:max_smb_protocol,min_smb_protocol,nfsv4_support,smb_encryption,smb_lease_break_timeout,smb_leases_enable,smb_signing,tenantId. API Endpoint GET api/rest/nfs/server_capabilities URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "nfsv4_support": "DISABLED" } ], "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('min_smb_protocol') Update NFS Server Capabilities Description Update an attribute of NFS server capabilities API Endpoint PUT api/rest/nfs/server_capabilities URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "nfsv4_support": "ENABLED" } Returns { "metadata": { "ready": true }, "result": { "nfsv4_support": "ENABLED", "tenant_id": 1 }, "error": null } Errors FEATURE_CANNOT_BE_DISABLED HTTP 409 Support for this feature cannot be disabled NFS User Create NFS User Description Create a new NFS user API Endpoint POST api/rest/nfs_users URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "primary_gid": 122222, "uid": 172866716, "supplementary_gsids": [ "S-1-5-67890-211", "S-1-5-67890-212", "S-1-5-67890-213" ], "supplementary_gids": [ 111, 222, 333 ], "primary_gsid": "S-1-5-67890-400", "sid": "S-1-5-6694-37" } Returns { "metadata": { "ready": true }, "result": { "primary_gid": 122222, "uid": 172866716, "supplementary_gsids": [ "S-1-5-67890-211", "S-1-5-67890-212", "S-1-5-67890-213" ], "supplementary_gids": [ 111, 222, 333 ], "primary_gsid": "S-1-5-67890-400", "sid": "S-1-5-6694-37", "id": 670 }, "error": null } Errors PARAMETER_CONFLICT HTTP 400 Parameter 'primary_gsid' does not meet a condition: 'can only be specified with sid' WRONG_PARAMETER HTTP 400 The value (null) of parameter 'primary_gid' does not meet a condition: 'may not be null' TENANT_NOT_FOUND HTTP 404 Tenant not found INVALID_SID_VALUE HTTP 409 'X-sS-abc-58-12343546' is not a valid SID. Change it in the NFS user field 'sid' UID_NOT_UNIQUE HTTP 409 Only one user can be mapped to uid 1234 NFS_USER_SUPPL_GSIDS_DUPLICATES HTTP 409 The NFS user cannot be create. The supplementary GSIDs contains duplicates NFS_USER_SUPPL_GSIDS_COUNT_LIMIT HTTP 409 The NFS user cannot be created. The number of supplementary GSIDs exceeds the maximum of 10 NFS_USER_GROUPS_HAS_DUPLICATES HTTP 409 The user with uid 1106390275 has supplementary groups duplicates Get all NFS Users Description Get all NFS users Filterable and Sortable fields:id,primary_gsid,primary_gid,sid,supplementary_gids,supplementary_gsids,uid. API Endpoint GET api/rest/nfs_users URL Parameters none Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "primary_gid": 0, "uid": 0, "supplementary_gsids": [], "supplementary_gids": [], "primary_gsid": "S-1-5-32-544", "sid": "S-1-5-21-1556028608-4068708648-2036357603-500", "id": 669 } ], "error": null } Errors TENANT_NOT_FOUND HTTP 404 Tenant not found Get NFS User Description Return an NFS user by ID API Endpoint GET api/rest/nfs_users/{id} URL Parameters id long NFS User ID Roles INFINIDAT, ADMIN, TECHNICIAN, POOL_ADMIN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "primary_gid": 122222, "uid": 172866716, "supplementary_gsids": [ "S-1-5-67890-211", "S-1-5-67890-212", "S-1-5-67890-213" ], "supplementary_gids": [ 111, 222, 333 ], "primary_gsid": "S-1-5-67890-400", "sid": "S-1-5-6694-37", "id": 670 }, "error": null } Errors TENANT_NOT_FOUND HTTP 404 Tenant not found NFS_USER_NOT_FOUND HTTP 404 NFS User not found Remove NFS User Description Remove an NFS user by ID API Endpoint DELETE api/rest/nfs_users/{id} URL Parameters id long NFS User ID Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "primary_gid": 122221, "uid": 1916390059, "supplementary_gsids": [ "S-1-5-67890-211", "S-1-5-67890-212", "S-1-5-67890-213" ], "supplementary_gids": [ 111, 222, 333 ], "primary_gsid": "S-1-5-67890-400", "sid": "S-1-5-8583-516", "id": 1087 }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN NFS_USER_NOT_FOUND HTTP 404 NFS User not found TENANT_NOT_FOUND HTTP 404 Tenant not found ROOT_NFS_USER_CANNOT_BE_DELETED HTTP 409 Cannot delete an NFS user whose UID is '0' Update NFS User Attribute Description Update an attribute of an NFS user API Endpoint PUT api/rest/nfs_users/{id} URL Parameters id long ID of the tenant NFS User Roles INFINIDAT, ADMIN System States ALL JSON Data { "primary_gid": 122221 } Returns { "metadata": { "ready": true }, "result": { "primary_gid": 122221, "uid": 1916390059, "supplementary_gsids": [ "S-1-5-67890-211", "S-1-5-67890-212", "S-1-5-67890-213" ], "supplementary_gids": [ 111, 222, 333 ], "primary_gsid": "S-1-5-67890-400", "sid": "S-1-5-8583-516", "id": 1087 }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('uid') WRONG_PARAMETER HTTP 400 The value (4294967296) of parameter 'primary_gid' does not meet a condition: 'must be less than or equal to 4294967295' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN NFS_USER_NOT_FOUND HTTP 404 NFS User not found TENANT_NOT_FOUND HTTP 404 Tenant not found NFS_USER_GROUPS_HAS_DUPLICATES HTTP 409 The user with uid 651297237 has supplementary groups duplicates NFS_USER_TO_GROUP_MAPPINGS_LIMIT HTTP 409 NFS User to group mappings limit reached (6) Node Get a Node Drive Description Get a drive of a node. API Endpoint GET api/rest/components/nodes/{id}/drives/{driveIdx} URL Parameters id String ID of the node driveIdx int ID of the drive Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "drive_index": 8, "vendor": "SAMSUNG", "last_probe_timestamp": 1709717409000, "firmware": "JXTC104Q", "probe_ttl": 1600000, "node_index": 1, "wearout": "99", "state": "OK", "serial_number": "S6ESNC0W601989", "model": "MZ7L31T9HBLT-00A07", "type": "OS", "id": 8 }, "error": null } Errors DRIVE_NOT_FOUND HTTP 404 Drive not found Get an Ethernet Port Description Get an ethernet port. API Endpoint GET api/rest/components/nodes/{id}/eth_ports/{eth} URL Parameters id String ID of the node eth int ID of the ethernet port Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "connection_speed": 10000000000, "state_description": "", "ip_v6_netmask": "00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:ff:ff", "sfp_type": null, "ip_v4_broadcast": "172.16.66.38", "link_state": "UP", "TX_power_low_Warning_THLD_mW": null, "port_number": 1, "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "laser_RX_power_mW": null, "firmware": null, "state": "OK", "role": "MANAGEMENT", "TX_power_high_Warning_THLD_mW": null, "media_type": "copper", "hw_addr": "b8:ca:3a:5d:03:e8", "laser_power_level_state": null, "SFP_Laser_Bias_Current_mA": null, "vendor": "Intel Corporation", "last_probe_timestamp": 1390254049000, "RX_power_low_Warning_THLD_mW": null, "max_speed": 1000000000, "laser_TX_power_mW": null, "ip_v4_netmask": "255.255.224.0", "laser_power_level_state_description": null, "probe_ttl": 10000, "ip_v4_addr": "172.16.66.38", "name": "eth-data1", "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "ip_v6_addr": "00:00:00:00:00:00:fe:80:00:00:00:00:00:00", "RX_power_high_Warning_THLD_mW": null, "model": "Ethernet Controller 10 Gigabit X540-AT2" }, "error": null } Errors PORT_NOT_FOUND HTTP 404 Port not found Get Ethernet Ports for a Node Description Get ethernet ports for a node. API Endpoint GET api/rest/components/nodes/{id}/eth_ports URL Parameters id String ID of the node Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "connection_speed": 10000000000, "state_description": "", "ip_v6_netmask": "00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:ff:ff", "sfp_type": null, "ip_v4_broadcast": "172.16.66.38", "link_state": "UP", "TX_power_low_Warning_THLD_mW": null, "port_number": 1, "id": 1, "sfp_model": null, "SFP_Voltage_Volt": null, "laser_RX_power_mW": null, "firmware": null, "state": "OK", "role": "MANAGEMENT", "TX_power_high_Warning_THLD_mW": null, "media_type": "copper", "hw_addr": "b8:ca:3a:5d:03:e8", "laser_power_level_state": null, "SFP_Laser_Bias_Current_mA": null, "vendor": "Intel Corporation", "last_probe_timestamp": 1390254049000, "RX_power_low_Warning_THLD_mW": null, "max_speed": 1000000000, "laser_TX_power_mW": null, "ip_v4_netmask": "255.255.224.0", "laser_power_level_state_description": null, "probe_ttl": 10000, "ip_v4_addr": "172.16.66.38", "name": "eth-data1", "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 1, "ip_v6_addr": "00:00:00:00:00:00:fe:80:00:00:00:00:00:00", "RX_power_high_Warning_THLD_mW": null, "model": "Ethernet Controller 10 Gigabit X540-AT2" }, { "connection_speed": null, "state_description": "", "ip_v6_netmask": null, "sfp_type": "multi_mode", "ip_v4_broadcast": null, "link_state": "DOWN", "TX_power_low_Warning_THLD_mW": "0.3162", "port_number": 2, "id": 2, "sfp_model": "P7D7R", "SFP_Voltage_Volt": "", "laser_RX_power_mW": "0.6170", "firmware": null, "state": "OK", "role": "IDRAC", "TX_power_high_Warning_THLD_mW": "0.7943", "media_type": null, "hw_addr": "78:45:C4:F5:AC:D8", "laser_power_level_state": "OK", "SFP_Laser_Bias_Current_mA": "8.698", "vendor": "unknown", "last_probe_timestamp": 1390254049000, "RX_power_low_Warning_THLD_mW": "0.0158", "max_speed": null, "laser_TX_power_mW": "", "ip_v4_netmask": "255.255.255.0", "laser_power_level_state_description": "", "probe_ttl": 10000, "ip_v4_addr": "9.151.140.51", "name": null, "node_index": 1, "SFP_Temperature_Deg_C": "27.23", "system_interface_port_number": 2, "ip_v6_addr": null, "RX_power_high_Warning_THLD_mW": "0.7943", "model": "unknown" }, { "connection_speed": 100000000, "state_description": "", "ip_v6_netmask": "00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:ff:ff", "sfp_type": null, "ip_v4_broadcast": "9.151.140.1", "link_state": "UNKNOWN", "TX_power_low_Warning_THLD_mW": null, "port_number": 3, "id": 3, "sfp_model": null, "SFP_Voltage_Volt": null, "laser_RX_power_mW": null, "firmware": null, "state": "OK", "role": "INTERNAL", "TX_power_high_Warning_THLD_mW": null, "media_type": "optics", "hw_addr": "b8:ca:3a:5d:03:ea", "laser_power_level_state": null, "SFP_Laser_Bias_Current_mA": null, "vendor": "Intel Corporation", "last_probe_timestamp": 1390254049000, "RX_power_low_Warning_THLD_mW": null, "max_speed": 1000000000, "laser_TX_power_mW": null, "ip_v4_netmask": "255.255.255.0", "laser_power_level_state_description": null, "probe_ttl": 10000, "ip_v4_addr": "9.151.140.1", "name": null, "node_index": 1, "SFP_Temperature_Deg_C": null, "system_interface_port_number": 3, "ip_v6_addr": "00:00:00:00:00:00:fe:80:00:00:00:00:00:00", "RX_power_high_Warning_THLD_mW": null, "model": "Ethernet Controller 10 Gigabit X540-AT2" } ], "error": null } Errors See general list of error codes. Get Ib Port Description Return Ib port by id API Endpoint GET api/rest/components/nodes/{id}/ib_ports/{ib} URL Parameters id String ID of the node ib int ID of the ethernet port Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "vendor": "Mellanox Technologies", "last_probe_timestamp": 1423056722000, "firmware": "2.31.5050", "probe_ttl": 15000, "node_index": 1, "link_state": "UP", "state": "OK", "model": "MT27500 Family [ConnectX-3]", "id": 1, "link_layer": "InfiniBand" }, "error": null } Errors See general list of error codes. Get Ib Ports Description Return Ib ports for a node API Endpoint GET api/rest/components/nodes/{id}/ib_ports URL Parameters id String ID of the node JSON Data none Returns Errors See general list of error codes. No request examples available Get Node Drives Description Get drives of a node. API Endpoint GET api/rest/components/nodes/{id}/drives URL Parameters id String ID of the node Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 8, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "state_description": "[]", "drive_index": 1, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 1 }, { "state_description": "[]", "drive_index": 2, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 2 }, { "state_description": "[]", "drive_index": 3, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 3 }, { "state_description": "[]", "drive_index": 4, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 4 }, { "state_description": "[]", "drive_index": 5, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 5 }, { "state_description": "[]", "drive_index": 6, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 6 }, { "state_description": "[]", "drive_index": 7, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 7 }, { "state_description": "[]", "drive_index": 8, "vendor": "[]", "last_probe_timestamp": 0, "firmware": "[]", "probe_ttl": null, "node_index": 1, "wearout": "[]", "state": "[]", "serial_number": "[]", "model": "[]", "type": "OS", "id": 8 } ], "error": null } Errors See general list of error codes. Get Pg Description Return pgs port by id API Endpoint GET api/rest/components/nodes/{id}/pgs/{pg} URL Parameters id String ID of the node pg int ID of the port Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns Errors INTERFACE_NOT_FOUND HTTP 404 Invalid interface ID Get Pgs Description Return pgs ports for a node API Endpoint GET api/rest/components/nodes/{id}/pgs URL Parameters id String ID of the node Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "hw_addr": "00:50:56:99:76:6b", "state_description": "", "ip_v4_broadcast": null, "vendor": "unknown", "name": "tali", "ip_v6_netmask": "ffff:ffff:ffff:ffff::", "last_probe_timestamp": 1436436797000, "firmware": "", "probe_ttl": 10000, "node_index": 1, "state": "OK", "role": "PG", "ip_v4_netmask": null, "ip_v6_addr": "fe80::250:56ff:fe99:766b%tali", "ip_v4_addr": null, "model": "Port-Group Master with slaves: eth-data1 eth-data2", "id": 1, "connection_speed": null, "system_interface_port_number": 1 } ], "error": null } Errors See general list of error codes. Get Rack Node by ID Description Return node by id API Endpoint GET api/rest/components/nodes/{id} URL Parameters id String ID of the node Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "bios.state": "OK", "protecting_bbu": 3, "pgs": [ { "hw_addr": "00:50:56:99:76:6b", "state_description": "", "ip_v4_broadcast": null, "vendor": "unknown", "name": "tali", "ip_v6_netmask": "ffff:ffff:ffff:ffff::", "last_probe_timestamp": 1436436797000, "firmware": "", "probe_ttl": 10000, "node_index": 1, "state": "OK", "role": "PG", "ip_v4_netmask": null, "ip_v6_addr": "fe80::250:56ff:fe99:766b%tali", "ip_v4_addr": null, "model": "Port-Group Master with slaves: eth-data1 eth-data2", "id": 1, "connection_speed": null, "system_interface_port_number": 1 } ], "id": 1, "firmware": "", "probe_ttl": 60000, "state": "PHASING_IN", "ntp.state_description": "", "connectivity_status": { "eth_switches": [ "UP" ], "pdu": [ "UP", "UP" ], "bbu": [ { "state_description": "", "state": "OK" }, { "state_description": "", "state": "OK" }, { "state_description": "", "state": "OK" } ], "enclosures": [ "UP", "UP" ], "support_appliances": [ "UP" ] }, "vendor": "Dell", "power": 0.0, ... TRUNCATED ... Errors ILLEGAL_NODE_ID HTTP 404 Illegal node ID 0. Legal values 1 Get the Rack Nodes Description Get the rack’s nodes. API Endpoint GET api/rest/components/nodes/ URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "state_description": null, "bios.state": null, "protecting_bbu": 1, "pgs": [], "id": 1, "firmware": "", "probe_ttl": 60000, "state": "PHASING_IN", "ntp.state_description": null, "connectivity_status": { "eth_switches": [], "pdu": [], "bbu": [], "enclosures": [ "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN", "UNKNOWN" ], "support_appliances": [] }, "vendor": "Dell", "power": 0.0, "last_probe_timestamp": 0, "drives": [ { "state_description": "", "drive_index": 1, "vendor": null, "last_probe_timestamp": 0, "firmware": "N/A", "probe_ttl": 1600000, "node_index": 1, "wearout": null, "state": "UNKNOWN", "serial_number": null, "model": null, "type": "OS", "id": 1 }, { "state_description": "", "drive_index": 2, "vendor": null, "last_probe_timestamp": 0, "firmware": "N/A", "probe_ttl": 1600000, "node_index": 1, "wearout": null, ... TRUNCATED ... Errors See general list of error codes. Phase In Node Description Phase in node by id API Endpoint POST api/rest/components/nodes/{id}/phase_in URL Parameters id String The node id Roles INFINIDAT, TECHNICIAN System States ACTIVE JSON Data none Returns Errors ILLEGAL_NODE_STATE HTTP 409 Operation PHASE_IN cannot be executed on node-1 when in state PHASING_IN NODE_ACTIVATION_FAILED HTTP 409 Node 1 activation failed TPM_MISSING_FOR_ACTIVATION HTTP 409 TPM module is missing from node 1, this node can't be activated while the system is in FIPS mode. NODE_SECURITY_MODE_MISMATCH HTTP 409 Node 1 could not be activated due to a security mode mismatch. Reason: General error occurred Phase Out Node Description Phase out node by id Approval required This is a dangerous operation Deactivating node 'nodeName' may lead to a degradation in system performance and resiliency API Endpoint POST api/rest/components/nodes/{id}/phase_out URL Parameters id String ID of the node approved boolean Roles INFINIDAT, TECHNICIAN System States ACTIVE JSON Data none Returns Errors APPROVAL_REQUIRED HTTP 403 Deactivating node 'node-1' may lead to a degradation in system performance and resiliency ILLEGAL_NODE_STATE HTTP 409 Operation PHASE_OUT cannot be executed on node-1 when in state PHASING_IN Notification Get Protocols Description Get a list of all supported protocols API Endpoint GET api/rest/notifications/protocols URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ "SNMP", "SMTP", "SYSLOG" ], "error": null } Errors See general list of error codes. Test Description Test the validity notification target settings API Endpoint POST api/rest/notifications/test-target URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Notification Rule Create Notification Rule Description Create a new notification rule. API Endpoint POST api/rest/notifications/rules URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_level": [ "CRITICAL", "ERROR" ], "name": "auto-filter_sort_-f82776f8", "target_id": 2831, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [] } Returns { "metadata": { "ready": true }, "result": { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "CRITICAL", "ERROR" ], "name": "auto-filter_sort_-f82776f8", "target_parameters": {}, "target_id": 2831, "include_events": [ "VOLUME_RESTORED", "VOLUME_RESIZED" ], "event_visibility": [], "id": 2832 }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (null) of parameter 'exclude_events' does not meet a condition: 'may not be null' MISSING_FIELD HTTP 400 A field ('target_parameters.recipients') is missing in an object passed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('target_parameters.recipients') EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 'not an email address' MALFORMED_PARAMETER HTTP 400 A parameter ('target_parameters.recipients') could not be translated to an expected type NOTIFICATION_RULE_EVENT_FORBIDDEN HTTP 403 The event 'NOTIFICATION_TARGET_UNAVAILABLE' cannot be used in notification rules NOTIFICATION_RULE_VISIBILITY_FORBIDDEN HTTP 403 The notification target is visible by all users NOTIFICATION_TARGET_NOT_FOUND HTTP 404 Notification target not found EMAIL_NOT_ALLOWED_FOR_NOTIFICATION HTTP 409 support@infinidat.com cannot be used for event notifications. Enter an email address monitored by your system administrators EMAIL_RULE_NO_RECIPIENTS HTTP 409 Notification rule must have at least one recipient INCLUDE_EXCLUDE_EVENTS_COUNT_LIMIT HTTP 409 The notification rule cannot be created as the maximum number of included and/or excluded event was exceeded ILLEGAL_NOTIFICATION_RULE_DATA HTTP 409 Illegal notification rule data: At least one of the following fields must not be empty: 'event_code', 'event_level', 'include_events' NOTIFICATION_RULE_NAME_CONFLICT HTTP 409 A notification rule with this name already exists NOTIFICATION_RULES_COUNT_LIMIT HTTP 409 Notification rules count has reached the limit of 2 NOTIFICATION_RULE_TARGET_NOT_APPLICABLE HTTP 409 Notification rule cannot be applied to an Infinidat target Delete a Notification Rule Description Delete a notification rule. Approval required This is a dangerous operation Deleting event rule 'event_rule' will stop this event from sending alerts to mail / SNMP recipients API Endpoint DELETE api/rest/notifications/rules/{id} URL Parameters id long The entity id of the rule Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "ERROR", "CRITICAL" ], "name": "syslog-rule1", "target_parameters": {}, "target_id": 5542, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [], "id": 5543 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting event rule 'syslog-rule1' will stop this event from sending alerts to mail / SNMP recipients NOTIFICATION_RULE_NOT_FOUND HTTP 404 Notification rule not found Get a Notification Rule Description Get a notification rule by its ID. API Endpoint GET api/rest/notifications/rules/{id} URL Parameters id long The entity id of the rule Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "CRITICAL" ], "name": "syslog-rule1", "target_parameters": {}, "target_id": 4942, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [], "id": 4943 }, "error": null } Errors NOTIFICATION_RULE_NOT_FOUND HTTP 404 Notification rule not found Get the Notification Rules Description Get the notification rules that are defined in the InfiniBox. Filterable and Sortable fields:event_code,event_level,event_visibility,exclude_events,id,include_events,name. API Endpoint GET api/rest/notifications/rules URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 4, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "exclude_events": [], "event_code": null, "event_level": [ "CRITICAL", "WARNING", "ERROR" ], "name": "default-infinidat-rule", "target_parameters": { "recipients": [ "callhome@infinidat.com" ] }, "target_id": 2813, "include_events": [], "event_visibility": [ "INFINIDAT" ], "id": 2815 }, { "exclude_events": [], "event_code": "HEARTBEAT", "event_level": [], "name": "heartbeat-infinidat-rule", "target_parameters": { "recipients": [ "callhome@infinidat.com" ] }, "target_id": 2813, "include_events": [ "HPT_HEARTBEAT", "SYSTEM_SENSORS", "INFINIMETRICS_HEARTBEAT", "SA_HARDWARE_COLLECTOR", "SYSTEM_METADATA", "DRIVES_PHY_MONITOR", "ECOSYSTEM_TOOLS_HEARTBEAT", "HEARTBEAT", "TEMPERATURE_STATS" ], "event_visibility": [ "INFINIDAT" ], "id": 2816 }, { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "CRITICAL", "ERROR" ], "name": "auto-syslog-rule1-3b1b9194", "target_parameters": {}, "target_id": 2831, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [], "id": 2833 }, { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "CRITICAL", "ERROR" ], "name": "auto-syslog-rule2-5aa157e7", "target_parameters": {}, "target_id": 2831, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [], "id": 2834 } ], "error": null } Errors See general list of error codes. Update a Notification Rule Attribute Description Update an attribute of the notification rule. API Endpoint PUT api/rest/notifications/rules/{id} URL Parameters id long The entity id of the rule Roles ADMIN, INFINIDAT System States ALL JSON Data { "target_id": 4902 } Returns { "metadata": { "ready": true }, "result": { "exclude_events": [ "CLUSTER_MAPPED", "CLUSTER_RENAMED" ], "event_code": null, "event_level": [ "CRITICAL" ], "name": "syslog-rule1", "target_parameters": {}, "target_id": 4942, "include_events": [ "VOLUME_RESIZED", "VOLUME_RESTORED" ], "event_visibility": [], "id": 4943 }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('target_parameters.foo') EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 'not an email address' MALFORMED_PARAMETER HTTP 400 A parameter ('target_parameters.recipients') could not be translated to an expected type MALFORMED_CONTENT HTTP 400 The request content is malformed MISSING_FIELD HTTP 400 A field ('target_parameters.recipients') is missing in an object passed NOTIFICATION_RULE_VISIBILITY_FORBIDDEN HTTP 403 The notification target is visible by all users NOTIFICATION_RULE_NOT_FOUND HTTP 404 Notification rule not found EMAIL_RULE_NO_RECIPIENTS HTTP 409 Notification rule must have at least one recipient ILLEGAL_NOTIFICATION_RULE_DATA HTTP 409 Illegal notification rule data: A notification rule cannot both include and exclude the same event INCLUDE_EXCLUDE_EVENTS_COUNT_LIMIT HTTP 409 The notification rule cannot be created as the maximum number of included and/or excluded event was exceeded Notification Target Create a Notification Target Description Create a notification target. API Endpoint POST api/rest/notifications/targets URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "protocol": "SYSLOG", "name": "syslog", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 0, "host": "ubuntu-ubuntu", "port": 1521, "transport": "UDP" } Returns { "metadata": { "ready": true }, "result": { "protocol": "SYSLOG", "name": "syslog", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 3281, "host": "ubuntu-ubuntu", "port": 1521, "transport": "UDP" }, "error": null } Errors INVALID_PASSWORD HTTP 400 Password length must be between 1 and 32 characters MISSING_FIELD HTTP 400 A field ('authProtocol') is missing in an object passed INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters WRONG_PARAMETER HTTP 400 The value (DfNlEApylLAhfGVsHuOjJGiefcyKNkEVtwCmqcmavsmMXqxrtjXjHIkOqoXQuWUINwFBcyABYWuQhYmWphvqsMQPUNcTodIeuNlXssjPwyvJibFPGwqFHlcwlYGUkfVsSpjKJttlxebXRLUrDpqsmsliCvyEtyyLELnFEhhHWFRYQRPcGtoYaXaBacBpMyUSJXMayJAvBkWhTWBRjsdHYQJprQVNXunYfflNOmXFuTuhyDOCTUhXUmYtAvKxxHflIoLxYbboQKVcfTyQHFhbOgjILlBATVhYPbMfpANvYaee.com) of parameter 'host' does not meet a condition: 'size must be between 3 and 255' NOTIFICATION_TARGET_CONFLICT HTTP 409 A Notification Target SNMP with host 'abc' and port 8080 already exists NOTIFICATION_TARGET_NAME_CONFLICT HTTP 409 A Notification Target with this name already exists NOTIFICATION_TARGET_NOT_APPLICABLE HTTP 409 User not authorized to perform Infinidat target related operations SMTP_TARGET_CREATE_NOT_ALLOWED HTTP 409 Creating a new SMTP target is not allowed NOTIFICATION_TARGETS_COUNT_LIMIT HTTP 409 Notification targets count has reached the limit of 2 Delete a Notification Target Description Delete a notification target Approval required This is a dangerous operation Deleting Syslog server 'syslog_server' will stop all logs from being sent to this host API Endpoint DELETE api/rest/notifications/targets/{id} URL Parameters id long ID of the notification target Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "username": null, "engine": null, "protocol": "SNMP", "name": "target1", "private_protocol": null, "visibility": "INFINIDAT", "id": 8888, "auth_protocol": null, "host": "abc", "version": "SNMPV2C", "community": null, "auth_type": "NOAUTHNOPRIV", "port": 8080 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting Syslog server 'auto-syslog-host-378f293a-' will stop all logs from being sent to this host NOTIFICATION_TARGET_ACTIVE HTTP 403 Notification target 'target1' cannot be deleted because it is used by notification rules NOTIFICATION_TARGET_NOT_FOUND HTTP 404 Notification target not found SMTP_TARGET_DELETE_NOT_ALLOWED HTTP 409 Deleting an SMTP target is not allowed NOTIFICATION_TARGET_NOT_APPLICABLE HTTP 409 User not authorized to perform Infinidat target related operations Get a Notification Target Description Get a notification target. API Endpoint GET api/rest/notifications/targets/{id} URL Parameters id long ID of the notification target Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "protocol": "SYSLOG", "name": "target1", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 5542, "host": "auto-syslog-host-54012d71-", "port": 8080, "transport": "TCP" }, "error": null } Errors NOTIFICATION_TARGET_NOT_FOUND HTTP 404 Notification target not found NOTIFICATION_TARGET_NOT_APPLICABLE HTTP 409 User not authorized to perform Infinidat target related operations Get Notification Targets Description Get all of the notification targets in the system. Filterable and Sortable fields:host,id,name,port,protocol,visibility. API Endpoint GET api/rest/notifications/targets URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "protocol": "SYSLOG", "name": "auto-syslog-target-e267aae", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 1962, "host": "auto-syslog-host-d10fd444-", "port": 8080, "transport": "TCP" }, { "protocol": "SYSLOG", "name": "auto-syslog-target-4259f7e", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 1963, "host": "auto-syslog-host-614745d0-", "port": 8080, "transport": "TCP" } ], "error": null } Errors See general list of error codes. Testing the Notification Target After Creating It Description Test the notification target by sending a dummy event. API Endpoint POST api/rest/notifications/targets/{id}/test URL Parameters id long ID of the notification target Roles ADMIN, INFINIDAT System States ALL JSON Data { "r": "a@b.com" } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('target_parameters.recipients') could not be translated to an expected type EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 'aaaa' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('target_parameters.r') MISSING_FIELD HTTP 400 A field ('target_parameters.recipients') is missing in an object passed EMAIL_NOT_ALLOWED_FOR_NOTIFICATION HTTP 409 support@infinidat.com cannot be used for event notifications. Enter an email address monitored by your system administrators Testing the Notification Target Before Creating It Description Test the notification target by sending a dummy event. API Endpoint POST api/rest/notifications/targets/test URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Update a Notification Target Attribute Description Update the attributes of a notification target. API Endpoint PUT api/rest/notifications/targets/{id} URL Parameters id long ID of the notification target Roles ADMIN, INFINIDAT System States ALL JSON Data { "host": "FErnueBPSVjaCFBmaSyhRIUgJuBjgUiLiLyJGJkprdNYUJxyfJURoUNNhMsowXbVBGywJNFLITILKoLSmLxcrMEdNQmyMbYvdmNeadwLBlPeVwukWvDYIKdtHxTygRomYumyPRkLdvjpmsWdjbTbpvHbnjlgqLxHAbNSSKQDNDpifPMDJhSIexuJJhuYPpjAbhGSkPcJvLBEfHPPxftKRKHvnypQJeuVmvvgXUHFPGemkXYnoOrdBDUdUNCHRiTrmqrPfptypAmhUTfMCpQrBWRjVGEjXqmruQufemKRbLxM.com" } Returns { "metadata": { "ready": true }, "result": { "protocol": "SYSLOG", "name": "syslog-target1", "facility": "LOCAL7", "visibility": "CUSTOMER", "id": 8792, "host": "syslog.infinidat.com", "port": 8080, "transport": "TCP" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('transport') could not be translated to an expected type WRONG_PARAMETER HTTP 400 The value (FErnueBPSVjaCFBmaSyhRIUgJuBjgUiLiLyJGJkprdNYUJxyfJURoUNNhMsowXbVBGywJNFLITILKoLSmLxcrMEdNQmyMbYvdmNeadwLBlPeVwukWvDYIKdtHxTygRomYumyPRkLdvjpmsWdjbTbpvHbnjlgqLxHAbNSSKQDNDpifPMDJhSIexuJJhuYPpjAbhGSkPcJvLBEfHPPxftKRKHvnypQJeuVmvvgXUHFPGemkXYnoOrdBDUdUNCHRiTrmqrPfptypAmhUTfMCpQrBWRjVGEjXqmruQufemKRbLxM.com) of parameter 'host' does not meet a condition: 'size must be between 3 and 255' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('protocol') UPDATE_SNMP_VERSION HTTP 400 Updating the SNMP target version is not allowed. Delete the target and create a new one INVALID_PARAMETER_LENGTH HTTP 400 Parameter ('subject_prefix') length must be between 0 and 255 characters. Actual: 256 UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges NOTIFICATION_TARGET_CONFLICT HTTP 409 A Notification Target SNMP with host 'abc' and port 8080 already exists NOTIFICATION_TARGET_NAME_CONFLICT HTTP 409 A Notification Target with this name already exists Update Notification Target Entity Description Update multiple attributes of a notification target API Endpoint POST api/rest/notifications/targets/{id}/update_entity URL Parameters id long ID of the notification target Roles ADMIN, INFINIDAT System States ALL JSON Data { "host": "new-host-name", "name": "target-new-name", "port": 8081 } Returns { "metadata": { "ready": true }, "result": { "username": "username", "engine": null, "protocol": "SNMP", "name": "target-new-name", "private_protocol": null, "visibility": "CUSTOMER", "id": 8773, "auth_protocol": null, "host": "new-host-name", "version": "SNMPV2C", "community": null, "auth_type": null, "port": 8081 }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (*********************************************************************************************************************************) of parameter 'password' does not meet a condition: 'size must be between 0 and 128' UPDATE_SNMP_VERSION HTTP 400 Updating the SNMP target version is not allowed. Delete the target and create a new one NOTIFICATION_TARGET_CONFLICT HTTP 409 A Notification Target SNMP with host 'snmp-host' and port 8080 already exists Pool Create a Pool Description Create a new pool. API Endpoint POST api/rest/pools URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "virtual_capacity": 1000000000000, "max_extend": -1, "name": "auto-pool--649215cf-6e7e-4", "physical_capacity": 1000000000000 } Returns { "metadata": { "ready": true }, "result": { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774519016172, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--649215cf-6e7e-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774519016172, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null }, "error": null } Errors INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'auto-invalid*name-693da69b' MISSING_FIELD HTTP 400 A field ('physical_capacity') is missing in an object passed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('fs_used_default_warning') for S3 type pool MALFORMED_PARAMETER HTTP 400 A parameter ('physical_capacity') could not be translated to an expected type ILLEGAL_THRESHOLD_VALUE HTTP 400 Illegal threshold value: 101 WRONG_PARAMETER HTTP 400 The value (-2) of parameter 'max_extend' does not meet a condition: 'greater or equals -1' USER_NOT_FOUND HTTP 404 User not found TENANT_NOT_FOUND HTTP 404 Tenant not found S3_FEATURE_NOT_ENABLED HTTP 409 This operation cannot be completed because the S3-Compatible Object Storage feature is not enabled SET_VIRTUAL_CAPACITY_S3_POOL_NOT_ALLOWED HTTP 409 An S3 pool cannot have a virtual capacity ILLEGAL_POOL_CAPACITY HTTP 409 The requested capacity is not allowed. Reason: Pool size is not aligned with integral units of 512. Wrong capacity value: 1000GB ILLEGAL_POOL_ADMIN HTTP 409 A non-POOL_ADMIN user cannot be assigned as a pool admin S3_POOL_SET_UNLIMITED_EMERGENCY_BUFFER_NOT_ALLOWED HTTP 409 An S3 pool cannot have an unlimited emergency buffer POOL_NAME_CONFLICT HTTP 409 An entity with this name already exists ILLEGAL_WARNING_OR_CRITICAL_VALUE HTTP 409 Illegal value 90. Critical value (75) must be greater than warning value (90) POOL_COUNT_LIMIT HTTP 409 Pool cannot be created as the maximum number of pools exceeded SYSTEM_VIRTUAL_CAPACITY HTTP 409 Used virtual space reached system virtual capacity Delete a Pool Description Delete a pool. Approval required This is a dangerous operation Deleting pool 'pool_name' might prevent the pool's administrator from creating new datasets API Endpoint DELETE api/rest/pools/{id} URL Parameters id long ID of the pool Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774519019824, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--c22db753-0f1e-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774519019824, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges APPROVAL_REQUIRED HTTP 403 Deleting pool 'auto-pool--32c5e041-57d6-4' might prevent the pool's administrator from creating new datasets POOL_NOT_FOUND HTTP 404 Pool not found S3_POOL_DELETE_WITH_ACCOUNT_NOT_ALLOWED HTTP 409 S3 pool 's3pool1' cannot be deleted because it is associated with S3 account 's3account1' POOL_NOT_EMPTY HTTP 409 Pool is not empty POOL_HAS_CG HTTP 409 Pool has consistency groups POOL_HAS_RG HTTP 409 Pool has replication groups Get a Pool Description Get a pool. API Endpoint GET api/rest/pools/{id} URL Parameters id long ID of the pool Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 1, "updated_at": 1774519023852, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 327680, "volumes_count": 1, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 1, "physical_capacity_critical": 90, "standard_volumes_count": 1, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--dce1e4ba-1773-4", "virtual_capacity": 2000000385024, "allocated_internal_physical_space": 0, "created_at": 1774519023852, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null }, "error": null } Errors POOL_NOT_FOUND HTTP 404 Pool not found Get a Pool Attribute Description Get an attribute of a pool. API Endpoint GET api/rest/pools/{id}/{attribute} URL Parameters id long ID of the pool attribute String The name of the attribute to return Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ 2782 ], "error": null } Errors ATTRIBUTE_NOT_FOUND HTTP 404 Attribute not found: 'nonExisting' POOL_NOT_FOUND HTTP 404 Pool not found Get all Pools Description Get all of the pools. Filterable and Sortable fields:compression_enabled,created_at,fs_used_default_critical,fs_used_default_warning,id,name,ssd_enabled,type,updated_at. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/pools URL Parameters include_data_reduction_hist boolean Show the effective capacity histogram and reserve fields Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774519399310, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--bf7d1f82-f5a3-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774519399310, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null } ], "error": null } Errors UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'ALLOF' is not supported by this resource MALFORMED_PARAMETER HTTP 400 A parameter ('abcd') could not be translated to an expected type NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('state') WRONG_PARAMETER HTTP 400 The value (-1) of parameter 'page' does not meet a condition: 'int >= 1' MAX_PAGE_SIZE_VIOLATION HTTP 400 Requested page size 1001 exceeds range 1..1000 for command 'GetAllPoolsFiltered' AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Get My Pools Description Get a list of pools that are owned by the current user. API Endpoint GET api/rest/pools/administered_pools URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774519599441, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [ 3789 ], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--2d1cb979-8fc8-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774519599006, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null } ], "error": null } Errors MAX_PAGE_SIZE_VIOLATION HTTP 400 Requested page size 1001 exceeds range 1..1000 for command 'GetMyPools' WRONG_PARAMETER HTTP 400 The value (0) of parameter 'page_size' does not meet a condition: 'int >= 1' MALFORMED_PARAMETER HTTP 400 A parameter ('abcd') could not be translated to an expected type NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('free_physical_space') AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Get Pool Administrators Description Get a list of pool administrators for a pool. API Endpoint GET api/rest/pools/{id}/all_admins URL Parameters id long ID of the pool Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 4, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ -2, -1, 4396, 4397 ], "error": null } Errors POOL_NOT_FOUND HTTP 404 Pool not found Lock a Pool Description Lock the pool for writes. Approval required This is a dangerous operation Locking a pool prevents any changes to existing datasets, as well as creating new ones API Endpoint POST api/rest/pools/{id}/lock URL Parameters id long ID of the pool Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns Errors APPROVAL_REQUIRED HTTP 403 Locking a pool prevents any changes to existing datasets, as well as creating new ones POOL_NOT_FOUND HTTP 404 Pool not found Unlock Pool Description Unlock the pool, allow writing into its entities. API Endpoint POST api/rest/pools/{id}/unlock URL Parameters id long ID of the pool Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns Errors POOL_NOT_FOUND HTTP 404 Pool not found Update a Pool Attribute Description Update an attribute of a pool. For example: set the pool capacity to be compressed by setting the value of compression_enabled to yes API Endpoint PUT api/rest/pools/{id} URL Parameters id long ID of the pool Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "virtual_capacity": 1000000000000 } Returns { "metadata": { "ready": true }, "result": { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774519504115, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--55f0fece-96c3-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774519503808, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('entities_count') MALFORMED_PARAMETER HTTP 400 A parameter ('name') could not be translated to an expected type SET_MISSING_ATTRIBUTE HTTP 400 Attribute not found: 'nonExistingAttribute' INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'auto-invalid*name-d001aa59' MALFORMED_CONTENT HTTP 400 The request content is malformed INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MISSING_CONTENT HTTP 400 The request is empty WRONG_PARAMETER HTTP 400 The value (null) of parameter 'owner' does not meet a condition: 'must be a valid owner' NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 This resource does not support updating multiple fields in one request ILLEGAL_THRESHOLD_VALUE HTTP 400 Illegal threshold value: 0 UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for [POOL_ADMIN] USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-f902b5d1-5' is forbidden to modify pool 'pool2' USER_NOT_FOUND HTTP 404 User not found POOL_NOT_FOUND HTTP 404 Pool not found ILLEGAL_POOL_CAPACITY HTTP 409 The requested capacity is not allowed. Reason: Pool size is not aligned with integral units of 512. Wrong capacity value: 1000GB SET_FS_THRESHOLDS_POOL_TYPE_MISMATCH HTTP 409 Filesystem capacity alert thresholds can be configured for STANDARD pools only S3_POOL_SET_UNLIMITED_EMERGENCY_BUFFER_NOT_ALLOWED HTTP 409 An S3 pool cannot have an unlimited emergency buffer ILLEGAL_POOL_PHYSICAL_CAPACITY HTTP 409 The requested physical capacity is not allowed ILLEGAL_WARNING_OR_CRITICAL_VALUE HTTP 409 Illegal value 91. Critical value (90) must be greater than warning value (91) POOL_NAME_CONFLICT HTTP 409 An entity with this name already exists ILLEGAL_POOL_ADMIN HTTP 409 A non-POOL_ADMIN user cannot be assigned as a pool admin SYSTEM_VIRTUAL_CAPACITY HTTP 409 Used virtual space reached system virtual capacity SET_VIRTUAL_CAPACITY_S3_POOL_NOT_ALLOWED HTTP 409 An S3 pool cannot have a virtual capacity Quality of Service The QoS policy is a logical entity that groups performance capping levels. The capping level are imposed on entities (pools or individual datasets) that are assigned to the policy. The performance capping levels are comprised of the following: Max IOPS - the maximum number of IOPS / FOPS (IOPS for volumes, FOPS for filesystems) that are allowed for a volume / filesystem Max MBPS - the maximum bandwidth that is assigned to a volume / filesystem Burst - a time-limited increase in performance, related to the MAX IOPS and Max MBPS that are specified in the policy Burst factor - the factor of increased performance during the burst. The burst cannot exceed this factor Burst duration - the maximum amount of time the burst can last To apply performance capping to an entity: Create a policy Assign an entity to a policy Assign an Entity to a QoS Policy Description Once you defined a QoS Policy, you can assign entities to it. User approval will be required in each, or both cases: 1. When moving an entity from one QoS policy to another 2. When consequent to this operation, the limits of any entity's shared policy will be lower than those of its direct policy. Approval required This is a dangerous operation You are trying to assign entityType 'entityName' to a QoS policy it is already assigned to: 'qosPolicyName' API Endpoint POST api/rest/qos/policies/{qos_policy_id}/assign URL Parameters qos_policy_id long ID of the QoS Policy Roles INFINIDAT, ADMIN System States ALL JSON Data { "entity_id": 1000 } Returns { "metadata": { "ready": true }, "result": { "entity_id": 1000, "qos_policy_id": 1001, "entity_name": "auto-pool--41efad72-771e-4", "entity_type": "POOL", "created_at": 1774519615494, "updated_at": 1774519615494, "id": 3904 }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('entity_id') could not be translated to an expected type APPROVAL_REQUIRED HTTP 403 You are trying to assign volume 'auto-volume--d2faa1c4-1994' to a QoS policy it is already assigned to: 'auto-QoSPolicy4Test-114510' QOS_POLICY_NOT_FOUND HTTP 404 QoS policy with ID 1001 was not found REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Assigning an active-active replicated entity to a QoS policy QOS_EXPECTED_ENTITY_NOT_FOUND HTTP 409 The expected QoS entity of type VOLUME was not found QOS_RESOURCE_ADD_FAIL HTTP 409 Failed to assign volume 'auto-volume--4ba263a7-8092' to QoS policy 'auto-QoSPolicy4Test-67990d' QOS_ASSIGNED_PER_POLICY_COUNT_LIMIT HTTP 409 QoS assigned entities per policy count limit reached Create a QoS Policy Description Create a QoS Policy API Endpoint POST api/rest/qos/policies/ URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": "auto-QoSPolicy4Test-12cee9", "max_ops": 10000, "burst_enabled": true, "max_bps": 262144000, "burst_factor": 1.1, "type": "POOL_VOLUME" } Returns { "metadata": { "ready": true }, "result": { "name": "auto-QoSPolicy4Test-12cee9", "max_ops": 10000, "created_at": 1774519615186, "burst_enabled": true, "updated_at": 1774519615186, "max_bps": 262144000, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "POOL_VOLUME", "id": 1001 }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (null) of parameter 'type' does not meet a condition: 'may not be null' MALFORMED_PARAMETER HTTP 400 A parameter ('type') could not be translated to an expected type INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'bad<:name;>' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges FEATURE_NOT_ENABLED HTTP 409 QoS for filesystem feature is not enabled QOS_POLICY_COUNT_LIMIT HTTP 409 QoS policy count limit reached QOS_POLICY_INVALID_BURST_PARAMETER HTTP 409 The burst_factor must be between 1.1 and 10.0. A valid input needs to be no more than 1 decimal point. The value: 10.01 is invalid QOS_POLICY_INVALID_MAX_LIMIT HTTP 409 The max_ops limit must be between 1000 and 10000000. The value: 10000001 is invalid QOS_POLICY_NAME_CONFLICT HTTP 409 A QoS policy with this name 'auto-QoSPolicy4Test-6d1dce' already exists QOS_POLICY_MAX_LIMIT_NOT_DEFINED HTTP 409 QoS policy 'auto-QoSPolicy4Test-eaa4ad' is missing at least one defined limit: Max OPS or Max BPS Delete a QoS Policy Description Delete a QoS Policy Approval required This is a dangerous operation Deleting a QoS policy with assigned entities will affect the performance of these entities API Endpoint DELETE api/rest/qos/policies/{id} URL Parameters id long ID of the QoS Policy Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-QoSPolicy4Test-470abc", "max_ops": 1000, "created_at": 1774521924925, "burst_enabled": true, "updated_at": 1774521924925, "max_bps": 52428800, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "VOLUME", "id": 1000 }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges APPROVAL_REQUIRED HTTP 403 Deleting a QoS policy with assigned entities will affect the performance of these entities QOS_POLICY_NOT_FOUND HTTP 404 QoS policy with ID 9999999 was not found Enable QoS Description Enable QoS API Endpoint POST api/rest/qos/enable URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors See general list of error codes. Get a QoS Assigned Entity by ID Description Return a single QoS Assigned Entity by ID API Endpoint GET api/rest/qos/assigned_entities/{id} URL Parameters id long ID of the QoS Assigned Entity Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "entity_id": 1004, "qos_policy_id": 1000, "entity_name": "auto-volume--ce219585-400b", "entity_type": "VOLUME", "created_at": 1774520644294, "updated_at": 1774520644294, "id": 9305 }, "error": null } Errors QOS_ASSIGNED_ENTITY_NOT_FOUND HTTP 404 QoS assigned entity with ID 10304 was not found Get a QoS Policy Description Return a single QoS Policy API Endpoint GET api/rest/qos/policies/{id} URL Parameters id long ID of the QoS Policy Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-QoSPolicy4Test-ba905a", "max_ops": 10000, "created_at": 1774520621020, "burst_enabled": true, "updated_at": 1774520621020, "max_bps": 262144000, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "POOL_VOLUME", "id": 1004 }, "error": null } Errors QOS_POLICY_NOT_FOUND HTTP 404 QoS policy with ID 1000 was not found Get all QoS Assigned Entities Description Return all QoS Assigned Entities API Endpoint GET api/rest/qos/assigned_entities URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "entity_id": 1006, "qos_policy_id": 1001, "entity_name": "auto-volume--9f85218a-ed62", "entity_type": "VOLUME", "created_at": 1774520568763, "updated_at": 1774520568763, "id": 8865 }, { "entity_id": 1005, "qos_policy_id": 1001, "entity_name": "auto-volume--2892b757-e09d", "entity_type": "VOLUME", "created_at": 1774520568596, "updated_at": 1774520568596, "id": 8864 }, { "entity_id": 1004, "qos_policy_id": 1001, "entity_name": "auto-volume--6a4bc615-1866", "entity_type": "VOLUME", "created_at": 1774520568437, "updated_at": 1774520568437, "id": 8863 }, { "entity_id": 1003, "qos_policy_id": 1001, "entity_name": "auto-volume--9c2baf26-8341", "entity_type": "VOLUME", "created_at": 1774520568289, "updated_at": 1774520568289, "id": 8862 }, { "entity_id": 1002, "qos_policy_id": 1001, "entity_name": "auto-volume--02acb613-37b1", "entity_type": "VOLUME", "created_at": 1774520568012, "updated_at": 1774520568012, "id": 8861 } ], "error": null } Errors UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'LT' is not supported by this resource Get all QoS Policies Description Return all QoS Policies Filterable and Sortable fields:burst_enabled,burst_factor,created_at,id,max_bps,max_ops,name,type,updated_at. API Endpoint GET api/rest/qos/policies/ URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 4, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "name": "auto-QoSPolicy4Test-2685f1", "max_ops": 1000, "created_at": 1774521908893, "burst_enabled": true, "updated_at": 1774521908893, "max_bps": 52428800, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "VOLUME", "id": 1000 }, { "name": "auto-QoSPolicy4Test-2524b0", "max_ops": 1000, "created_at": 1774521908962, "burst_enabled": false, "updated_at": 1774521908962, "max_bps": 52428800, "burst_factor": null, "burst_duration_seconds": null, "type": "VOLUME", "id": 1001 }, { "name": "auto-QoSPolicy4Test-a9485b", "max_ops": 1000, "created_at": 1774521909019, "burst_enabled": true, "updated_at": 1774521909019, "max_bps": 52428800, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "VOLUME", "id": 1002 }, { "name": "auto-QoSPolicy4Test-85cc45", "max_ops": 1000, "created_at": 1774521909076, "burst_enabled": false, "updated_at": 1774521909076, "max_bps": 52428800, "burst_factor": null, "burst_duration_seconds": null, "type": "VOLUME", "id": 1003 } ], "error": null } Errors See general list of error codes. Get an Entity Assigned to a QoS Policy Description Get an entity that is assigned to a QoS Policy API Endpoint GET api/rest/qos/policies/{qos_policy_id}/assigned_entities/{id} URL Parameters qos_policy_id long ID of the QoS Policy id long ID of the QoS Assigned Entity Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "entity_id": 1002, "qos_policy_id": 1000, "entity_name": "auto-volume--d2faa1c4-1994", "entity_type": "VOLUME", "created_at": 1774520571527, "updated_at": 1774520571527, "id": 8884 }, "error": null } Errors QOS_POLICY_NOT_FOUND HTTP 404 QoS policy with ID 1001 was not found QOS_ASSIGNED_ENTITY_NOT_FOUND HTTP 404 QoS assigned entity with ID 8952 was not found Get Entities Assigned to a QoS Policy Description Get entities that are assigned to a QoS Policy API Endpoint GET api/rest/qos/policies/{qos_policy_id}/assigned_entities URL Parameters qos_policy_id long ID of the QoS Policy Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get QoS Status Description Query the QoS status API Endpoint GET api/rest/qos/state URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "is_enabled": true }, "error": null } Errors See general list of error codes. Unassign an Entity by ID from a QoS Policy Description Unassign an entity by id from a QoS Policy API Endpoint POST api/rest/qos/policies/{qos_policy_id}/unassign URL Parameters qos_policy_id long ID of the QoS Policy Roles INFINIDAT, ADMIN System States ALL JSON Data { "entity_id": 2000 } Returns { "metadata": { "ready": true }, "result": { "entity_id": 1001, "qos_policy_id": 1000, "entity_name": "auto-pool--76b0d8cc-c0a6-4", "entity_type": "POOL", "created_at": 1774520584088, "updated_at": 1774520584088, "id": 8952 }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('entity_id') could not be translated to an expected type UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges QOS_ENTITY_NOT_FOUND HTTP 404 QoS policy 'auto-QoSPolicy4Test-1bcbfb' does not have an entity with ID 2000 assigned to it Update a QoS Policy Description Update a QoS Policy API Endpoint PUT api/rest/qos/policies/{id} URL Parameters id long ID of the QoS Policy Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": null } Returns { "metadata": { "ready": true }, "result": { "name": "auto-QoSPolicy4Test-424b6e", "max_ops": 1000, "created_at": 1774521866268, "burst_enabled": true, "updated_at": 1774521866562, "max_bps": 52428800, "burst_factor": 1.1, "burst_duration_seconds": 60, "type": "VOLUME", "id": 1000 }, "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'bad<:name;>' MALFORMED_CONTENT HTTP 400 The request content is malformed INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MALFORMED_PARAMETER HTTP 400 A parameter ('type') could not be translated to an expected type WRONG_PARAMETER HTTP 400 The value (1.1) of parameter 'burst_factor' does not meet a condition: 'must be empty if burst is not enabled' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges QOS_POLICY_INVALID_MAX_LIMIT HTTP 409 The max_ops limit must be between 1000 and 10000000. The value: 10000001 is invalid FEATURE_NOT_ENABLED HTTP 409 QoS for filesystem feature is not enabled QOS_POLICY_MAX_LIMIT_NOT_DEFINED HTTP 409 QoS policy 'auto-QoSPolicy4Test-73ab5c' is missing at least one defined limit: Max OPS or Max BPS QOS_POLICY_TYPE_MODIFY_WITH_ENTITIES_NOT_ALLOWED HTTP 409 Modifying the type of a QoS policy with assigned entities is not allowed QOS_POLICY_INVALID_BURST_PARAMETER HTTP 409 The burst_factor must be between 1.1 and 10.0. A valid input needs to be no more than 1 decimal point. The value: 10.01 is invalid QOS_POLICY_NAME_CONFLICT HTTP 409 A QoS policy with this name 'auto-QoSPolicy4Test-61091c' already exists Rack Get Rack Description Get Default Rack API Endpoint GET api/rest/components/ URL Parameters none Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enclosures_number": 2, "patch_panels": [ { "component_id": "system.racks[1].patch_panels[1]", "vendor": "INFINIDAT", "serial_no": "", "location": 1, "frames": [ { "color": "red", "label": "Node-1", "location": 1, "component_id": "system.racks[1].patch_panels[1].frames[1]", "ports": [ { "connection_speed": 8000000000, "hw_addr": "57:42:b0:f0:00:04:7e:11", "component_id": "system.racks[1].patch_panels[1].frames[1].ports[1]", "sfp_type": "", "conn_port_comp_id": "N1FC1", "port_num": 1, "label": "", "link_state": "UP", "state": "OK", "conn_port_uuid": "8d308a80-ecbd-4917-9c29-97ff05d08af1", "media_type": "fiber", "type": "FC" }, { "connection_speed": 8000000000, "hw_addr": "57:42:b0:f0:00:04:7e:12", "component_id": "system.racks[1].patch_panels[1].frames[1].ports[2]", "sfp_type": "", "conn_port_comp_id": "N1FC2", "port_num": 2, "label": "", "link_state": "UP", "state": "OK", ... TRUNCATED ... Errors See general list of error codes. Remote Api Delete Remote With Host Description Send a command to a remote box API Endpoint DELETE api/rest/remote/{remoteHost}/{resource: .*} URL Parameters remoteHost String Remote host name or IP address resource String Remote API to invoke JSON Data none Returns Errors See general list of error codes. No request examples available Delete Remote With Link ID Description Send a command to a remote box API Endpoint DELETE api/rest/remote/{linkId: [0-9]+}/{resource: .*} URL Parameters linkId int Remote machine link ID resource String Remote API to invoke Roles ALL System States ALL JSON Data none Returns Errors LINK_NOT_FOUND HTTP 404 Link 999 to remote system was not found Get Remote With Host Description Send a command to a remote box API Endpoint GET api/rest/remote/{remoteHost}/{resource: .*} URL Parameters remoteHost String Remote host name or IP address resource String Remote API to invoke JSON Data none Returns Errors See general list of error codes. No request examples available Get Remote With Link ID Description Send a command to a remote box API Endpoint GET api/rest/remote/{linkId: [0-9]+}/{resource: .*} URL Parameters linkId int Remote machine link ID resource String Remote API to invoke Roles ALL System States ALL JSON Data none Returns Errors LINK_NOT_FOUND HTTP 404 Link 999 to remote system was not found REPLICA_INVALID_LINK HTTP 409 The link is detached LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system 'fred' Post Remote With Host Description Send a command to a remote box API Endpoint POST api/rest/remote/{remoteHost}/{resource: .*} URL Parameters remoteHost String Remote host name or IP address resource String Remote API to invoke JSON Data none Returns Errors See general list of error codes. No request examples available Post Remote With Link ID Description Send a command to a remote box API Endpoint POST api/rest/remote/{linkId: [0-9]+}/{resource: .*} URL Parameters linkId int Remote machine link ID resource String Remote API to invoke Roles ALL System States ALL JSON Data {} Returns Errors LINK_NOT_FOUND HTTP 404 Link 999 to remote system was not found Put Remote With Host Description Send a command to a remote box API Endpoint PUT api/rest/remote/{remoteHost}/{resource: .*} URL Parameters remoteHost String Remote host name or IP address resource String Remote API to invoke JSON Data none Returns Errors See general list of error codes. No request examples available Put Remote With Link ID Description Send a command to a remote box API Endpoint PUT api/rest/remote/{linkId: [0-9]+}/{resource: .*} URL Parameters linkId int Remote machine link ID resource String Remote API to invoke Roles ALL System States ALL JSON Data {} Returns Errors LINK_NOT_FOUND HTTP 404 Link 999 to remote system was not found Replica Change Replica Role Description Change replica role. Approval required This is a dangerous operation Changing this replicated dataset's role from source to target will restore this dataset from the last replicated snapshot created. The dataset will become write-disabled. Other replicas of the dataset may become auto-suspended API Endpoint POST api/rest/replicas/{id}/change_role URL Parameters id long ID of the replica retain_staging_area boolean Determines whether to retain the staging area of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520683138, "domino": null, "updated_at": 1774520683625, "link_id": 7179, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 7188, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "f7643c00-20bc-49fc-8f90-7a7b156e95da", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": null, "entity_type": "VOLUME", "_dataset_configuration_version": "a817c73e-b3e8-44d9-8b14-e3f9c0392a23", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--05170e76-2097", "state": null, "sync_interval": 240000, "role": "TARGET", "suspended_from_local": null, "remote_cg_name": null, "_enabled": false, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--2a7adaba-c051-4", "jobs": [], "description": "auto-Replica--af5b7f43-6d7", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "89743973-10a0-4501-9df1-c2031d77f2da", "next_job_start_time": null, "last_synchronized": null, "restore_point": 1234567890, "remote_pool_name": "auto-pool--2a7adaba-c051-4", "_local_reclaimed_sg_id": null, ... TRUNCATED ... Errors APPROVAL_REQUIRED HTTP 403 Changing this replicated dataset's role from source to target will restore this dataset from the last replicated snapshot created. The dataset will become write-disabled. Other replicas of the dataset may become auto-suspended USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-dbf4bbc6-7' is forbidden to modify pool 'auto-pool--75b97988-5f27-4' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges for using 'keep_datasets_write_protected' flag REPLICA_INCONSISTENT_DATASETS HTTP 409 Changing role cannot be completed because at least one dataset has not reached a consistent state DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Only async replicas can keep the datasets write protected REPLICA_OPERATION_NOT_ALLOWED_ON_SOURCE_AND_TARGET HTTP 409 This operation cannot be performed on entity 'auto-volume--e891a46b-6a52' which is both a replication source and target REPLICA_ONLY_ALLOWED_WHEN_SUSPENDED HTTP 409 Changing the replica role from source to target is only allowed when replica is suspended REPLICATED_CG_IS_EMPTY HTTP 409 change-role is not allowed when the replicated consistency group is empty OPERATION_NOT_SUPPORTED HTTP 409 Changing a filesystem replica's role with retain_staging_area is not supported REPLICA_IS_RESERVED_FOR_INFINISAFE HTTP 409 Replica is reserved for infinisafe, changing the replica role is not allowed OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Change Role failed because it is not supported for active-active replica OPERATION_CANNOT_BE_DONE_ON_CONCURRENT_ASYNC_REPLICA HTTP 409 Change Role failed because it is not supported for concurrent async replica REPLICA_INVALID_LINK HTTP 409 The link is detached CHANGE_ROLE_WORM_FILESYSTEM_REPLICA HTTP 409 Cannot change the role of a WORM filesystem replica Change Replica Type to Async Description Change replica type to async Approval required This is a dangerous operation Changing the replica to asynchronous type will periodically send the data to the remote system API Endpoint POST api/rest/replicas/{id}/change_type_to_async URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774521981817, "domino": null, "updated_at": 1774521982272, "link_id": 15998, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 16007, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "cae28cd4-bded-4023-86cf-f09a5404b660", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": null, "entity_type": "VOLUME", "_dataset_configuration_version": "19240a06-0089-4c5c-ba76-a80a42c5d30f", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--ca8eed43-5a62", "state": "UNKNOWN", "sync_interval": 4000, "role": "SOURCE", "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--5b86f7b3-e74c-4", "jobs": [], "description": "auto-Replica--b3e5834f-7c9", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "13e32fdd-fc9c-4007-bab4-cb62b775b5cd", "next_job_start_time": null, "last_synchronized": null, "restore_point": 1234567890, "remote_pool_name": "auto-pool--5b86f7b3-e74c-4", "_local_reclaimed_sg_id": null, ... TRUNCATED ... Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-50e7b2b4-b' is forbidden to modify pool 'auto-pool--5b86f7b3-e74c-4' APPROVAL_REQUIRED HTTP 403 Changing the replica to asynchronous type will periodically send the data to the remote system REPLICA_NOT_FOUND HTTP 404 Replica not found REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Changing the replica type to async failed because it is not supported for active-active replica REPLICA_CANNOT_CHANGE_TYPE_DURING_INITIALIZATION HTTP 409 Wait for the replica to reach Synchronized state before changing the replication type Change Replica Type to Sync Description Change replica type to sync Approval required This is a dangerous operation Changing the replica to synchronous type will continuously send data to the remote system API Endpoint POST api/rest/replicas/{id}/change_type_to_sync URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774521457118, "domino": null, "updated_at": 1774521457250, "link_id": 14048, "remote_entity_id": 66540, "pending_job_count": 0, "started_at": null, "id": 14057, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "b09c5fe3-ac79-464d-a03f-0e8b9997e592", "state_reason": null, "local_pool_id": 1002, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "406cfcd2-412d-481c-9799-1a0249acbe21", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--91a6d93f-1ab4", "state": "UNKNOWN", "sync_interval": null, "role": "SOURCE", "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--cac7e8e7-b12d-4", "jobs": [], "description": "auto-Replica--616d3692-c18", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "ed309e6d-1bac-4861-9f1e-6c5a1e85740d", "next_job_start_time": null, "last_synchronized": null, "restore_point": null, "remote_pool_name": "auto-pool--cac7e8e7-b12d-4", ... TRUNCATED ... Errors APPROVAL_REQUIRED HTTP 403 Changing the replica to synchronous type will continuously send data to the remote system USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-fac80a08-1' is forbidden to modify pool 'auto-pool--8cd16a1a-de63-4' REPLICA_NOT_FOUND HTTP 404 Replica not found REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica REPLICA_INVALID_LINK HTTP 409 The link remote network space does not support this replication type OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Changing the replica type to sync failed because it is not supported for active-active replica OPERATION_CANNOT_BE_DONE_ON_MULTI_TARGET_REPLICA HTTP 409 Changing the replica type to sync failed because it is not supported for multi target replica REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Only block datasets can be SYNC replicated REPLICATION_SNAPSHOTS_SIZE_MISMATCH HTTP 409 Due to a volume resize operation the volume should undergo a sync job before changing the replica type OPERATION_CANNOT_BE_DONE_ON_REPLICATE_SNAPSHOTS_REPLICA HTTP 409 Changing the replica type to sync failed because it is not supported for replicas with snapshot replication OPERATION_CANNOT_BE_DONE_ON_CONCURRENT_ASYNC_REPLICA HTTP 409 Changing the replica type to sync failed because it is not supported for concurrent async replica REPLICA_CANNOT_CHANGE_TYPE_DURING_INITIALIZATION HTTP 409 Wait for the replica to reach Synchronized state before changing the replication type Create a Replica Description Create a new replica API Endpoint POST api/rest/replicas URL Parameters remote_members_suffix String The suffix that will be given to remote replicated cg members names Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "description": "auto-Replica--5346c70e-641", "mobility_source": true, "entity_type": "VOLUME", "replication_type": "ACTIVE_ACTIVE", "link_id": 3983, "entity_pairs": [ { "local_entity_id": 1002, "remote_base_action": "CREATE" } ], "remote_pool_id": 1234 } Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520202016, "domino": null, "updated_at": 1774520201902, "link_id": 3983, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 3992, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "086edf50-41c6-4503-af79-b2a0e75c17d8", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "217f90cc-f271-4183-8e26-60c08c8415f7", "job_state": null, "concurrent_replica": false, "remote_entity_name": "sourceVolume", "state": "UNKNOWN", "sync_interval": null, "role": null, "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--a8462ef1-34ca-4", "jobs": [], "description": "auto-Replica--5346c70e-641", "mobility_source": true, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "6b31bde5-74a1-488c-90db-c265c447af4d", "next_job_start_time": null, "last_synchronized": null, "restore_point": null, "remote_pool_name": "auto-pool--a8462ef1-34ca-4", ... TRUNCATED ... Errors WRONG_PARAMETER HTTP 400 The value () of parameter 'remote_snapshot_suffix' does not meet a condition: 'size must be between 1 and 255' UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (false) for field ('mobility_source') UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('rpo_value') MISSING_FIELD HTTP 400 A field ('local_entity_id') is missing in an object passed MALFORMED_CONTENT HTTP 400 The request content is malformed REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system VERSION_MISMATCH HTTP 403 The target system does not support creating a multi target replica USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-56ae4275-4' is forbidden to modify pool 'auto-pool--7cf4ff5e-b569-4' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN ENTITY_NOT_FOUND HTTP 404 Error on 'fred': Prepare phase error response CG_NOT_FOUND HTTP 404 Consistency group not found FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found DATASET_NOT_FOUND HTTP 404 Dataset not found REPLICA_INCONSISTENT_PAIR_BASE HTTP 409 A replication pair with action BASE must contain both an entity ID and a base entity ID SYSTEM_CANNOT_SUPPORT_ISCSI_AA HTTP 409 Active-Active Replication and ISCSI network space cannot exist on same system. Please contact INFINIDAT support for further information REPLICA_BASE_ACTION_NOT_ALLOWED_FOR_ACTIVE_ACTIVE_CG HTTP 409 The base action NO_BASE_DATA is not allowed for an active-active cg replica CANNOT_REPLICATE_CG_SNAPSHOT HTTP 409 A replicated consistency group cannot be created from a snapshot REPLICA_CREATE_FAILED HTTP 409 Failed to create the replica, please try later ACTIVE_ACTIVE_REPLICA_CANNOT_BE_WRITE_PROTECTED HTTP 409 An active-active replicated entity 'auto-volume--c7db1fb0-5a69' cannot be write-protected INVALID_LOCK_DURATION HTTP 409 Lock expiry cannot exceed 365 days REPLICA_MISSING_PAIR_POOL HTTP 409 If CREATE is specified or implied in replica creation, a target pool ID must also be specified REPLICA_CREATE_EXISTING_INCONSISTENT_PARAM HTTP 409 A replica created from existing remote entity cannot contain a remote entity name REPLICA_LIMIT HTTP 409 A new replica cannot be created. The system has reached the maximum number of replicas REPLICA_OPERATION_NOT_MEMBER_OF_CG HTTP 409 Dataset id 1004 is not a member of the CG to be replicated REPLICA_INCONSISTENT_PAIR_SAME_BASE HTTP 409 A BASE entity for replication must be a snapshot of the main entity REPLICA_INCONSISTENT_PAIR_BASE_ACTION HTTP 409 A replication pair with base action NO_BASE_DATA (or CREATE) for one system must specify NO_BASE_DATA (or CREATE on target) for the other OPERATION_CANNOT_BE_DONE_ON_MULTI_TARGET_REPLICA HTTP 409 Creating a replica with an empty CG failed because it is not supported for multi target replica FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--a5adab78-') MULTI_TARGET_REPLICAS_COUNT_LIMIT HTTP 409 The maximum number of Async replicas allowed per entity has been reached REPLICA_INCONSISTENT_ENTITY_TYPE HTTP 409 The type of entity (FILESYSTEM) is not compatible with replica type (VOLUME) NVME_OF_VOLUME_CANNOT_USE_ACTIVE_ACTIVE HTTP 409 Configuring active-active replication for volume 'auto-volume--d4395e33-df6b' failed because the volume is mapped to hosts or clusters that contain NVMe-oF ports EMPTY_ACTIVE_ACTIVE_CG_REPLICA HTTP 409 The creation of an empty active-active cg replica is not allowed REPLICA_ENTITY_IS_ACTIVE_ACTIVE_PEER HTTP 409 Entity 'auto-volume--1a2a88bb-6437' is a replication active active peer. Cannot use it as a member of another replication REPLICA_MISSING_LINK HTTP 409 A non-existent link ID was supplied for replica creation REPLICA_INCONSISTENT_BASE_ACTION HTTP 409 All consistency group members must have the same base action REPLICA_NOT_ALLOWED_ON_SNAPSHOT HTTP 409 Replica source cannot be a snapshot MULTI_TARGET_REPLICA_INTERVAL_TOO_LOW HTTP 409 Multi-target replicas of FILESYSTEM 'auto-filesystem--26823213-' must have an interval of at least 8 seconds. Ensure that the intervals of other replicas of this FILESYSTEM are at least 8 seconds REPLICA_BASE_ACTION_NOT_ALLOWED_FOR_WORM_FILESYSTEM HTTP 409 WORM filesystems cannot be replicated using existing snapshots as a base REPLICA_BASE_ACTION_NOT_ALLOWED_FOR_FILESYSTEM HTTP 409 The base action TAKE_SNAP is not allowed for filesystems INVALID_LOCK_DURATION_EXCEEDS_SNAPSHOT_RETENTION HTTP 409 A replicated snapshot's lock duration cannot be longer than the snapshot's retention REPLICA_CREATE_NEW_INCONSISTENT_PARAM HTTP 409 A replica created with a new remote entity cannot contain a remote entity ID REPLICA_ENTITY_IS_SOURCE HTTP 409 Entity 'auto-volume--63e587ea-3974' is a replication source. Cannot use it as a member of another replication REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Only block datasets can be ACTIVE_ACTIVE replicated REPLICA_INCONSISTENT_BASE_SIZE HTTP 409 The BASE entity auto-volume--695d8081-65fc has bigger size than the main entity auto-volume--c5010f8d-e28f REPLICA_INCONSISTENT_PAIR_CG_COUNT HTTP 409 The number of entities in the consistency group didn't match the number of entity pairs in the replica CANNOT_REPLICATE_CG_DATASET HTTP 409 A dataset that is a member of a consistency group cannot be replicated on its own CG_BASE_SNAPSHOT_NOT_FOUND HTTP 409 Can't find base snapshots for all cg members of consistency group auto-cg_-ccee1fd6-ddb0-4df REPLICA_INCONSISTENT_PAIR_NO_BASE HTTP 409 A replication pair with action NO_BASE_DATA or TAKE_SNAP must contain an entity ID and must not contain a base entity ID REPLICA_INVALID_LINK HTTP 409 The link remote network space does not support this replication type UNSUPPORTED_REMOTE_SNAPSHOT_SUFFIX HTTP 409 The 'remote_snapshot_suffix' field can only be set for replicas with snapshot replication INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future UNSUPPORTED_LOCK_REMOTE_SNAPSHOT_RETENTION HTTP 409 The 'lock_remote_snapshot_retention' field can only be set for replicas with snapshot replication MISSING_SNAPSHOTS_RETENTION HTTP 409 The 'snapshots_retention' field must be set for replicas with snapshot replication REPLICA_ENTITY_IS_SOURCE_AND_TARGET HTTP 409 Entity 'auto-volume--dd84c77c-f477' is both a replication source and target. Cannot use it as a member of another replication UNSUPPORTED_SNAPSHOTS_RETENTION HTTP 409 The 'snapshots_retention' field can only be set for replicas with snapshot replication REPLICATED_DATASETS_LIMIT HTTP 409 The system has reached the maximum number of replicated datasets REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) creation failed, replica(s) status is unknown. User intervention is required. REPLICA_INCONSISTENT_POOL HTTP 409 All entities in the replica on one system, must be in the same pool REPLICA_ENTITY_IS_TARGET HTTP 409 Entity 'auto-replica-vol--54b02ad1' is a replication target. Cannot use it as a member of another replication Delete a Replica Description Delete a replica Approval required This is a dangerous operation Force delete will delete the replica locally only, the remote replica will not be deleted API Endpoint DELETE api/rest/replicas/{id} URL Parameters id long ID of the replica retain_staging_area boolean Determines whether to retain the staging area of the replica keep_serial_on_local Boolean Allows keeping or resetting the external identification data of the local replica volume/s force_if_no_remote_credentials Boolean Allow this operation even if a login error is returned by the remote system force_if_remote_error Boolean Allow this operation even if an error is returned by the remote system force_on_target Boolean Allow one-sided operation on the target force_on_local Boolean Allow one-sided operation Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520598535, "domino": null, "updated_at": 1774520598502, "link_id": 6618, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 6627, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "023a7e48-ec08-4ba4-87b8-2120bbfb6939", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "bf0750b5-3a29-4bd2-afa8-8379c5a89763", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--2f7f7977-cd6f", "state": "UNKNOWN", "sync_interval": null, "role": null, "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--94ea2244-ee80-4", "jobs": [], "description": "auto-Replica--3625f766-0ee", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "59926400-3728-47b2-aea7-b7da209c0458", "next_job_start_time": null, "last_synchronized": null, "restore_point": 1234567890, "remote_pool_name": "auto-pool--94ea2244-ee80-4", ... TRUNCATED ... Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('keep_serial_on_local') APPROVAL_REQUIRED HTTP 403 Force delete will delete the replica locally only, the remote replica will not be deleted USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-dbf4bbc6-7' is forbidden to modify pool 'auto-pool--75b97988-5f27-4' REPLICA_INCONSISTENT_PAIR HTTP 409 The entities in the consistency groups are different on source and target REPLICA_OPERATION_DIFFERENT_REPLICATION_TYPES HTTP 409 Cannot delete the replica due to a replication type mismatch. Change the replication type and retry ACTIVE_ACTIVE_CONCURRENT_REPLICA_CANNOT_BE_DELETED HTTP 409 auto-cg_-edc15ca9-858f-46c has both active-active replica and async replica. Please delete the async replica before deleting the active-active replica LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit POOL_PHYSICAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough physical capacity REPLICA_OPERATION_NOT_ALLOWED HTTP 409 This operation can only be performed on the non lagging side of the replica MAX_FAMILY_SIZE HTTP 409 The volume family whose root is 'auto-volume--546a7b98-6147' now has 0 snapshots, which is the maximum allowed. New snapshots for this family can only be created after other snapshots are deleted REPLICA_INVALID_LINK HTTP 409 Error on 'ibox012-mock-no-bbu': The link is detached SG_CG_COUNT_LIMIT HTTP 409 A new snapshot group cannot be created. The consistency group has reached the maximum number of snapshot groups DELETE_WORM_FILESYSTEM_REPLICA_NO_RETAIN_SNAPSHOTS HTTP 409 WORM filesystem snapshots used for replication are not retained when the replica is deleted. To remove the replica, disable the retain_staging_area feature REPLICA_IS_RESERVED_FOR_INFINISAFE HTTP 409 Replica is reserved for infinisafe, deleting the replica is not allowed REMOTE_REPLICA_REACHABLE HTTP 409 Force-deleting the local Active-Active replica is forbidden, as the remote replica is reachable OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, deleting an Active Active replica which is not consistent is not supported LINK_IS_NOT_ACTIVE HTTP 409 Error on 'fred': The link is not active, please refresh the link and try again REPLICA_DELETION_NOT_ALLOWED_ON_TARGET HTTP 409 Replica deletion is allowed on the target system when the link to source is down ACTIVE_ACTIVE_REPLICA_CANNOT_BE_DELETED_ON_LOCAL_SYSTEM HTTP 409 Deleting a suspended active-active replica cannot be done from the lagging side REPLICA_DELETION_ERROR HTTP 409 Replica deletion failed. I/O error when trying to communicate with remote system '{host}' REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) deletion failed, replica(s) status is unknown. User intervention is required. An operation with service 'core' failed Get a Replica Description Get a replica. API Endpoint GET api/rest/replicas/{id} URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN, READ_ONLY, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520202016, "domino": null, "updated_at": 1774520201902, "link_id": 3983, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 3992, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "086edf50-41c6-4503-af79-b2a0e75c17d8", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "217f90cc-f271-4183-8e26-60c08c8415f7", "job_state": null, "concurrent_replica": false, "remote_entity_name": "sourceVolume", "state": "UNKNOWN", "sync_interval": null, "role": null, "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--a8462ef1-34ca-4", "jobs": [], "description": "auto-Replica--5346c70e-641", "mobility_source": true, "sync_state": null, "staging_area_allocated_size": 10, "_replica_configuration_version": "6b31bde5-74a1-488c-90db-c265c447af4d", "next_job_start_time": null, "last_synchronized": null, "restore_point": null, "remote_pool_name": "auto-pool--a8462ef1-34ca-4", ... TRUNCATED ... Errors REPLICA_NOT_FOUND HTTP 404 Replica not found Get a Replicas Jobs Description Get the replica sync jobs that are currently active. API Endpoint GET api/rest/replicas/{id}/jobs URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN, READ_ONLY, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "start_time": 1424084198470, "state": "PAUSED", "end_time": null, "is_initial": false, "type": "SCHEDULED", "id": 1 } ], "error": null } Errors See general list of error codes. Get all Replicas Description Get all replicas Filterable and Sortable fields:_assigned_local_ip_index,concurrent_replica,_consistent_guid,restore_point,created_at,_dataset_configuration_version,description,domino,_enabled,entity_type,id,including_snapshots,is_preferred,local_cg_name,local_entity_id,local_entity_name,local_pool_id,local_pool_name,_local_reclaimed_sg_id,lock_remote_snapshot_retention,_management_configuration_version,mobility_source,permanent_failure_wait_interval,remote_cg_id,remote_cg_name,remote_entity_id,remote_entity_name,remote_pool_id,remote_pool_name,_remote_reclaimed_sg_id,remote_replica_id,remote_snapshot_suffix,_replica_configuration_version,rpo_type,rpo_value,replication_type,reserved_for_infinisafe,_snapshot_guid,_snapshot_time,snapshots_retention,suspended_from_local,sync_interval,temporary_failure_retry_count,temporary_failure_retry_interval,updated_at. Filterable only fields:state,sync_state. API Endpoint GET api/rest/replicas URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, READ_ONLY, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 6, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 10, "remote_replica_id": 1774520551791, "domino": null, "updated_at": 1774520552021, "link_id": 6307, "remote_entity_id": 1234, "pending_job_count": 0, "started_at": null, "id": 6315, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "53039e4d-9a12-4de0-96f0-914ed9f0d5eb", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 40000, "_assigned_sync_remote_ips": null, "entity_type": "VOLUME", "_dataset_configuration_version": null, "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--d66eade0-f41c", "state": null, "sync_interval": 10000, "role": "TARGET", "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--87108d05-59b0-4", "jobs": [], "description": "auto-Replica--924eb743-dc1", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "0059e484-d8bb-4b85-897b-cdede976dc98", ... TRUNCATED ... Errors MALFORMED_PARAMETER HTTP 400 A parameter ('1') could not be translated to an expected type NOT_SORTABLE_FIELD HTTP 400 The request contains a field that cannot be sortable: ('entity_pairs') UNSUPPORTED_SORTABLE_FIELDS_MIX HTTP 400 The request contains a combination of sortable fields that cannot be processed together. Please adjust your sorting criteria Resume a Replica Description Resume a replica from a suspended state. API Endpoint POST api/rest/replicas/{id}/resume URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520703006, "domino": null, "updated_at": 1774520703395, "link_id": 8284, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 8293, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "bd51f5fc-820d-49cb-a321-a5b5d4308529", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "b48aa223-6855-4833-aaa2-8108ac01b2d7", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--92762465-17b5", "state": "UNKNOWN", "sync_interval": null, "role": null, "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--b37abfe3-110f-4", "jobs": [], "description": "auto-Replica--cedccf8d-f2e", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "d17f9047-d384-4521-bdec-605abc3ae087", "next_job_start_time": null, "last_synchronized": null, "restore_point": 1234567890, "remote_pool_name": "auto-pool--b37abfe3-110f-4", ... TRUNCATED ... Errors OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, resuming an Active Active replica which is not consistent is not supported CANNOT_RESUME_REPLICA_WITH_MIXED_ROLES HTTP 409 Cannot resume a replica of a local dataset or CG that has both source and target roles LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' REPLICATED_CG_IS_EMPTY HTTP 409 Resumption is not allowed when the replicated consistency group is empty ACTIVE_ACTIVE_REPLICA_CANNOT_BE_RESUMED_ON_LOCAL_SYSTEM HTTP 409 Resuming an active-active replica cannot be done from the lagging side REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) resumption failed, replica(s) status is unknown. User intervention is required. Reverse Entity Pairs Description For internal use (of SRM): Prepare entity_pairs for supplying as consistency anchors to change_role API Endpoint POST api/rest/replicas/reverse_entity_pairs URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "entity_pairs": [ { "local_entity_id": 1344, "_local_reclaimed_snapshot_id": 567, "remote_entity_id": 1003, "_remote_reclaimed_snapshot_id": 527 } ] } Returns { "metadata": { "ready": true }, "result": [ { "local_base_action": null, "local_entity": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "created_by_snapshot_policy_id": null, "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 0, "paths_available": null, "lock_state": "UNLOCKED", "used": null, "qos_policy_name": null, "serial": null, "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": null, "pool_name": null, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "num_blocks": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "size": null, "type": null, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": false, "snapshot_policy_id": null, "created_by_schedule_id": null, "mobility_source": null, "tree_allocated": null, "reducible_data_disk_usage_capacity": null, "has_children": false, "zeros_capacity": null, "dataset_type": "VOLUME", "replica_ids": [], "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": null, "provtype": null, "capacity_savings_per_entity": null, "cg_id": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": null, "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 0, "snapshot_expires_at": null, "pool_id": null, "compression_enabled": null, "family_id": null, "depth": 0, "qos_policy_id": null, "write_protected": null, "mapped": false, "created_by_snapshot_policy_name": null, "allocated": null, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "lock_expires_at": null }, "local_base_entity_id": null, "_local_base_diffable_id": null, "duration": null, "remote_entity_name": null, "_local_pair_guid": null, "replica_id": null, "_report_system_serial_number": null, "_remote_base_diffable_id": null, "_report_entity_id": null, "id": null, "_remote_reclaimed_snapshot_id": 567, "progress": null, "_reclaimed_snapshot_time": null, "is_initial": null, "_cg_guid": null, "_local_reclaimed_snapshot_id": 527, "_session_snapshots_id": 0, "_sync_job_committed": null, "_active_active_port_bit": null, "last_synchronized": null, "_consistent_guid": null, "remote_pair_id": null, "_cg_consistent_guid": null, "remote_base_action": null, "_next_consistent_guid": null, "local_entity_name": null, "remote_entity_id": 1344, "_reclaimed_snapshot_guid": null, "local_entity_id": 1003, "_target_old_ro_state": false, "restore_point": null, "remote_base_entity_id": null } ], "error": null } Errors See general list of error codes. Suspend a Replica Description Suspend a replica Approval required This is a dangerous operation Suspending an Active-Active replica will cause the remote side to become offline. If hosts access the volumes in the replica in non-uniform storage access (i.e. only on the peer system), they will lose access to the volumes. API Endpoint POST api/rest/replicas/{id}/suspend URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520640767, "domino": null, "updated_at": 1774520640919, "link_id": 7892, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 7903, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "8bb07392-1251-4259-98f6-1381d6f4a84d", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "42772cf3-0a8e-4992-9c76-889df4d5deac", "job_state": null, "concurrent_replica": false, "remote_entity_name": "remoteDatasetName", "state": "SUSPENDED", "sync_interval": null, "role": null, "suspended_from_local": true, "remote_cg_name": null, "_enabled": false, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--20d56f34-ba35-4", "jobs": [], "description": "auto-Replica--2ee2799e-ccf", "mobility_source": null, "sync_state": "SYNC_STALLED", "staging_area_allocated_size": null, "_replica_configuration_version": "0b695a42-2c87-48be-9999-5d13903e5135", "next_job_start_time": null, "last_synchronized": null, "restore_point": 1234567890, ... TRUNCATED ... Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-559d86de-1' is forbidden to modify replica 'replica auto-volume--0d9e35a3-0c01 <-> auto-volume--0d9e35a3-0c01' APPROVAL_REQUIRED HTTP 403 Suspending an Active-Active replica will cause the remote side to become offline. If hosts access the volumes in the replica in non-uniform storage access (i.e. only on the peer system), they will lose access to the volumes. ACTIVE_ACTIVE_REPLICA_CANNOT_BE_SUSPENDED_WITH_CONCURRENT_REPLICATION HTTP 409 Suspending an active-active replica cannot be done if there is an additional async replica defined on the entity LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' ACTIVE_ACTIVE_REPLICA_CANNOT_BE_SUSPENDED_DURING_INITIALIZATION HTTP 409 Wait for the replica to reach Synchronized state before suspending it OPERATION_NOT_SUPPORTED HTTP 409 Suspending a mobility replica is not supported ACTIVE_ACTIVE_REPLICA_CANNOT_BE_SUSPENDED_ON_LOCAL_SYSTEM HTTP 409 Suspending an active-active replica cannot be done from the lagging side REPLICATED_CG_IS_EMPTY HTTP 409 Suspension is not allowed when the replicated consistency group is empty REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) suspension failed, replica(s) status is unknown. User intervention is required. Switch Replica Role Description Switch replica role Approval required This is a dangerous operation Switching the roles of replicated datasets changes the source to target and the target to source. Note that when the source switches to target, it becomes write-protected API Endpoint POST api/rest/replicas/{id}/switch_role URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774521986289, "domino": null, "updated_at": 1774521986539, "link_id": 16030, "remote_entity_id": 34567, "pending_job_count": 0, "started_at": null, "id": 16039, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "008e9367-84f6-484c-93a7-433cb6c14b79", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": [ "2.2.2.5", "2.2.2.6", "2.2.2.7" ], "entity_type": "VOLUME", "_dataset_configuration_version": "020f00f4-dee7-4f2c-a08c-656a19f49ca2", "job_state": null, "concurrent_replica": false, "remote_entity_name": "remoteDatasetName", "state": null, "sync_interval": null, "role": "TARGET", "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--dd031a75-c3f1-4", "jobs": [], "description": "auto-Replica--de23e91f-114", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "be1ea3ba-3279-4baa-92b3-a8f9793decc0", "next_job_start_time": null, "last_synchronized": null, "restore_point": null, "remote_pool_name": "auto-pool--dd031a75-c3f1-4", ... TRUNCATED ... Errors APPROVAL_REQUIRED HTTP 403 Switching the roles of replicated datasets changes the source to target and the target to source. Note that when the source switches to target, it becomes write-protected USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-27e88d53-3' is forbidden to modify pool 'auto-pool--561067de-a558-4' REPLICA_NOT_FOUND HTTP 404 Replica not found NON_SYNCHRONIZED_REPLICA_CANNOT_SWITCH_ROLE HTTP 409 The replica has to be in Synchronized state in order to allow a role switch REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Switching Async replica role OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Switching replica role failed because it is not supported for active-active replica REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica Sync Now Description Start a sync job API Endpoint POST api/rest/replicas/{id}/sync URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": null, "error": null } Errors OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Sync now failed because it is not supported for active-active replica REPLICA_NOT_ALLOWED_WHEN_SUSPENDED HTTP 409 sync now is not allowed when replica is suspended REPLICA_INVALID_REPLICATION_TYPE HTTP 409 This operation cannot be performed on SYNC replica REPLICA_SYNC_JOB_INVALID_POOL_STATE HTTP 409 A new sync job cannot be started while the corresponding pool is locked REPLICATED_CG_IS_EMPTY HTTP 409 sync now is not allowed when the replicated consistency group is empty Update a Replica Description Update a replica Approval required This is a dangerous operation Replica is reserved for infinisafe, operation may increase the rpo API Endpoint PUT api/rest/replicas/{id} URL Parameters id long ID of the replica Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "mobility_source": true } Returns { "metadata": { "ready": true }, "result": { "async_mode": null, "state_description": null, "local_cg_id": null, "_assigned_remote_ip": "2.2.2.2", "remote_cg_id": null, "rpo_state": null, "temporary_failure_retry_count": 100, "remote_replica_id": 1774520991549, "domino": null, "updated_at": 1774520992008, "link_id": 9161, "remote_entity_id": 66539, "pending_job_count": 0, "started_at": null, "id": 9170, "reserved_for_infinisafe": false, "snapshots_retention": null, "_is_internal_source": null, "_management_configuration_version": "96009166-4b62-4a06-a06f-4ca760544c91", "state_reason": null, "local_pool_id": 1001, "permanent_failure_wait_interval": 1200000, "_assigned_sync_remote_ips": null, "entity_type": "VOLUME", "_dataset_configuration_version": "ba765046-f509-4009-932a-6fd381dea2a6", "job_state": null, "concurrent_replica": false, "remote_entity_name": "auto-volume--1f16991c-6177", "state": "UNKNOWN", "sync_interval": 10000, "role": "SOURCE", "suspended_from_local": null, "remote_cg_name": null, "_enabled": true, "is_initial": null, "_assigned_local_ip_index": 0, "local_pool_name": "auto-pool--840e765e-6b9b-4", "jobs": [], "description": "auto-Replica--d1d74bd7-64a", "mobility_source": null, "sync_state": null, "staging_area_allocated_size": null, "_replica_configuration_version": "68197f2e-3e86-4c72-b1a8-a3df95556820", "next_job_start_time": null, "last_synchronized": null, "restore_point": null, "remote_pool_name": "auto-pool--840e765e-6b9b-4", "_local_reclaimed_sg_id": null, "_remote_ip_addresses": null, ... TRUNCATED ... Errors CANNOT_CHANGE_ENTITY_TYPE HTTP 400 Error on 'fred': Cannot change type of entity from {currentType} to {targetType} UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (null) for field ('description') WRONG_PARAMETER HTTP 400 The value (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) of parameter 'description' does not meet a condition: 'size must be between 0 and 255' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('mobility_source') INVALID_PARAMETER_LENGTH HTTP 400 Parameter ('remote_snapshot_suffix') length must be between 1 and 255 characters. Actual: 0 APPROVAL_REQUIRED HTTP 403 Replica is reserved for infinisafe, changing the replica's sync interval may increase the rpo VERSION_MISMATCH HTTP 403 The target system does not support 'remote_snapshot_suffix' attribute REPLICA_INVALID_RPO_VALUE HTTP 409 The RPO value (239s) must be either 0, or greater than or equal to the sync interval value (240s) SET_PREFERRED_AA_REPLICA_FROM_LAGGING_SIDE HTTP 409 The preferred system settings for active-active replica auto-volume--31051f2c-2db7 cannot be modified from the lagging side REPLICA_INVALID_SYNC_INTERVAL HTTP 409 The replica interval has to be zero or between 4 seconds and 24 hours REPLICA_INVALID_INTERVAL_VALUE HTTP 409 The sync interval value (86400s) must be either 0, or less than or equal to the RPO value (86400s) INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future OPERATION_NOT_SUPPORTED HTTP 409 The preferred system settings for Active Active replica cannot be modified while the replica is not consistent. Please try to suspend the replica again is not supported REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) update failed, replica(s) status is unknown. User intervention is required. INVALID_LOCK_DURATION HTTP 409 Lock expiry cannot exceed 365 days SET_PREFERRED_ACTIVE_AA_REPLICA HTTP 409 The preferred system settings for active-active replica auto-volume--55c1b8d3-68cb cannot be modified when the replica is active. Suspend the replica before updating the preferred system settings REPLICA_NOT_ALLOWED_TWO_SOURCES HTTP 409 This action cannot be performed when both sides of the replication are sources INVALID_LOCK_DURATION_EXCEEDS_SNAPSHOT_RETENTION HTTP 409 A replicated snapshot group's lock duration cannot be longer than the snapshot group's retention MISSING_SNAPSHOTS_RETENTION HTTP 409 The 'snapshots_retention' field must be set for replicas with snapshot replication OPERATION_CANNOT_BE_DONE_ON_ACTIVE_ACTIVE_REPLICA HTTP 409 Update replica failed because it is not supported for active-active replica UNSUPPORTED_SNAPSHOTS_RETENTION HTTP 409 The 'snapshots_retention' field can only be set for replicas with snapshot replication Replication Group Create Replication Group Description Creates a replication group. API Endpoint POST api/rest/replication_groups URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "name": "auto-RG-258c00af-c3b7-4c4d", "pool_id": 1001 } Returns { "metadata": { "ready": true }, "result": { "members_count": 0, "name": "auto-RG-258c00af-c3b7-4c4d", "created_at": 1774518619888, "updated_at": 1774518619888, "pool_id": 1001, "is_replicated": false, "type": "MASTER", "id": 1002, "uuid": "6742b0f0-0000-0013-0000-0000000003ea" }, "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'replication-group-*' WRONG_PARAMETER HTTP 400 The value (null) of parameter 'pool_id' does not meet a condition: 'may not be null' USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-7058f17c-a' is forbidden to modify pool 'auto-pool--dc51ddab-72ac-4' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges POOL_NOT_FOUND HTTP 404 Pool not found REPLICATION_GROUP_NAME_CONFLICT HTTP 409 A replication group with this name 'group' already exists RG_COUNT_LIMIT HTTP 409 Replication group count limit reached Delete Replication Group Description Deletes a single replication group. API Endpoint DELETE api/rest/replication_groups/{id} URL Parameters id long Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "members_count": 0, "name": "group", "created_at": 1774518795489, "updated_at": 1774518795489, "pool_id": 1001, "is_replicated": false, "type": "MASTER", "id": 1002, "uuid": "6742b0f0-0000-0013-0000-0000000003ea" }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-5777dac2-2' is forbidden to modify 'com.infinidat.mgmt.application.replication_group.model.ManagedReplicationGroup@323259e5' REPLICATION_GROUP_NOT_FOUND HTTP 404 Replication group not found REPLICATED_REPLICATION_GROUP_CANNOT_BE_DELETED HTTP 409 A replicated replication group cannot be deleted Get all Replication Groups Description Returns replication groups according to filter and sort parameters. Filterable and Sortable fields:created_at,id,name,pool_id,type,updated_at. API Endpoint GET api/rest/replication_groups URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "members_count": 0, "name": "group", "created_at": 1774518795489, "updated_at": 1774518795489, "pool_id": 1001, "is_replicated": false, "type": "MASTER", "id": 1002, "uuid": "6742b0f0-0000-0013-0000-0000000003ea" } ], "error": null } Errors See general list of error codes. Get Replication Group by ID Description Returns a replication group by ID. API Endpoint GET api/rest/replication_groups/{id} URL Parameters id long Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "members_count": 0, "name": "auto-RG-b7025c10-eb7c-4e79", "created_at": 1774518685232, "updated_at": 1774518685232, "pool_id": 1002, "is_replicated": true, "type": "MASTER", "id": 1003, "uuid": "6742b0f0-0000-0013-0000-0000000003eb" }, "error": null } Errors REPLICATION_GROUP_NOT_FOUND HTTP 404 Replication group not found Remove Member Description Removes a member from a replication group. Approval required This is a dangerous operation Removing a member from a replication group will stop replicating it, and the target member will be deleted. API Endpoint DELETE api/rest/replication_groups/{id}/members/{vvol_id} URL Parameters id long vvol_id long Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "members_count": 0, "name": "auto-RG-c3002038-994a-4aad", "created_at": 1774518804184, "updated_at": 1774518804184, "pool_id": 1002, "is_replicated": true, "type": "MASTER", "id": 1003, "uuid": "6742b0f0-0000-0013-0000-0000000003eb" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Removing a member from a replication group will stop replicating it, and the target member will be deleted. RG_VVOL_NOT_FOUND HTTP 404 vVol is not a member of the replication group REPLICATION_GROUP_NOT_FOUND HTTP 404 Replication group not found REMOVE_MEMBER_NOT_ALLOWED_ON_NON_SOURCE_REPLICA HTTP 404 Remove member cannot be performed on a non source replica VVOL_NOT_FOUND HTTP 404 vVol not found Update Replication Group Description Updates a replication group attributes with input map data. API Endpoint PUT api/rest/replication_groups/{id} URL Parameters id long Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "name": "newRgName" } Returns { "metadata": { "ready": true }, "result": { "members_count": 0, "name": "newRgName", "created_at": 1774518685232, "updated_at": 1774518685705, "pool_id": 1002, "is_replicated": true, "type": "MASTER", "id": 1003, "uuid": "6742b0f0-0000-0013-0000-0000000003eb" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('uuid') INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'replication-group-*' USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-d8e5b9f8-2' is forbidden to modify pool 'auto-pool--6e24ad85-6649-4' REPLICATION_GROUP_NOT_FOUND HTTP 404 Replication group not found ATTRIBUTE_NOT_FOUND HTTP 404 Attribute not found: 'namee' REPLICATION_GROUP_NAME_CONFLICT HTTP 409 A replication group with this name 'secondGroup' already exists Rg Replica Create Rg Replica Description Creates a rg replica. API Endpoint POST api/rest/rg_replicas URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "replication_group_id": 1002, "remote_replication_group_id": null, "base_action": "NEW", "replication_type": "ASYNC", "sync_interval": null, "link_id": 163, "rpo_value": null, "remote_pool_id": 234, "remote_replication_group_name": null } Returns { "metadata": { "ready": true }, "result": { "state_description": null, "replication_group_id": 1002, "remote_replication_group_id": 0, "rpo_state": null, "updated_at": 1774518620300, "link_id": 163, "sync_job_id": null, "jobs": [], "id": 2, "sync_interval": 4000, "_vmware_user": "dnZvbF9yZXBsaWNhdGlvbl8xOV8zNDc4OjQxZGUxMTk5OGMwZWMxZGE=", "base_action": "NEW", "job_state": null, "remote_replica_id": 1774518620171, "state": null, "replication_group_name": "auto-RG-258c00af-c3b7-4c4d", "role": "SOURCE", "progress": null, "_enabled": true, "remote_pool_id": 234, "_assigned_local_ip_index": 0, "_session_snapshots_id": 1073741826, "state_reason": null, "_replica_configuration_guid": "a61502d7-6d0d-4646-86a6-82c8b62df90e", "last_synchronized": null, "_consistent_guid": null, "rpo_value": 0, "allocated_size": null, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518620300, "pool_id": 1001, "throughput": null, "_local_link_guid": "0b62138a-033f-4f43-9a87-58cfc7514d3f", "remote_replication_group_name": "Replication group name" }, "error": null } Errors REPLICATION_GROUP_NOT_FOUND HTTP 404 Replication group not found REPLICATION_GROUP_ALREADY_REPLICATED HTTP 409 Replication group auto-Replication_Group-20e761ce-94e5-47ac-8 is already replicated REPLICA_CREATE_EXISTING_INCONSISTENT_PARAM HTTP 409 A replica created from existing remote entity must contain a remote entity ID REPLICA_LIMIT HTTP 409 A new replica cannot be created. The system has reached the maximum number of replicas REPLICA_INVALID_SYNC_INTERVAL HTTP 409 The replica interval has to be zero or between 2 seconds and 4 seconds REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Creating a Vasa replica with EXISTING base action REPLICA_MISSING_LINK HTTP 409 A non-existent link ID was supplied for replica creation REPLICA_INVALID_LINK HTTP 409 The link is detached LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system 'fred' REPLICA_CREATE_NEW_INCONSISTENT_PARAM HTTP 409 A replica created with a new remote entity must contain a remote pool ID Delete Rg Replica Description Deletes a single rg replica. Approval required This is a dangerous operation Deleting a replica will stop replicating the dataset(s) API Endpoint DELETE api/rest/rg_replicas/{id} URL Parameters id long force Boolean Force this operation Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": null, "replication_group_id": 1002, "remote_replication_group_id": 543, "rpo_state": null, "updated_at": 1774518617665, "link_id": 189, "sync_job_id": null, "jobs": [], "id": 1, "sync_interval": 240000, "base_action": null, "job_state": null, "remote_replica_id": 1774518617066, "state": null, "replication_group_name": "Target replication group1774518616941", "role": "TARGET", "progress": null, "_enabled": true, "remote_pool_id": 34987, "_assigned_local_ip_index": 0, "_session_snapshots_id": 1073741825, "state_reason": null, "_replica_configuration_guid": "81efd123-0d0c-4bbd-89f9-d4ce9b7a7d49", "last_synchronized": null, "_consistent_guid": null, "rpo_value": 300000, "allocated_size": null, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518617665, "pool_id": 1001, "throughput": null, "_local_link_guid": null, "remote_replication_group_name": "Source replication group1774518616941" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting a replica will stop replicating the dataset(s) REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system REPLICA_NOT_FOUND HTTP 404 Replica not found REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) deletion failed, replica(s) status is unknown. User intervention is required. com.infinidat.mgmt.functional_module.error.FmExternalException: FM service: core, command rc: FAIL, error_string: null, error_code: FM_DUMMY_CODE, error_description: REPLICA_DELETION_ERROR HTTP 409 Replica deletion failed. Can not delete FAILEDOVER replica, please delete with force flag REPLICA_DELETION_NOT_ALLOWED_ON_TARGET HTTP 409 Replica deletion is allowed on the target system when the link to source is down LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' Get all Rg Replicas Description Returns rg replicas according to filter and sort parameters. Filterable and Sortable fields:_assigned_local_ip_index,created_at,_enabled,id,link_id,pool_id,remote_pool_id,remote_replica_id,remote_replication_group_id,remote_replication_group_name,_replica_configuration_guid,replication_type,role,rpo_value,_session_snapshots_id,sync_interval,updated_at. API Endpoint GET api/rest/rg_replicas URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "state_description": null, "replication_group_id": 1002, "remote_replication_group_id": 0, "rpo_state": null, "updated_at": 1774518685937, "link_id": 559, "sync_job_id": null, "jobs": [], "id": 3, "sync_interval": 4000, "base_action": null, "job_state": null, "remote_replica_id": 1774518685804, "state": "UNKNOWN", "replication_group_name": "auto-RG-ddf68cf8-5ebf-4a58", "role": "SOURCE", "progress": null, "_enabled": true, "remote_pool_id": 234, "_assigned_local_ip_index": 0, "_session_snapshots_id": 1073741827, "state_reason": null, "_replica_configuration_guid": "be7a33ee-d63b-420b-98dd-b02ccbb21f3a", "last_synchronized": null, "_consistent_guid": null, "rpo_value": 0, "allocated_size": null, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518685937, "pool_id": 1001, "throughput": null, "_local_link_guid": null, "remote_replication_group_name": "Replication group name" }, { "state_description": null, "replication_group_id": 1004, "remote_replication_group_id": 0, "rpo_state": null, "updated_at": 1774518686388, "link_id": 559, "sync_job_id": null, "jobs": [], "id": 4, "sync_interval": 4000, "base_action": null, "job_state": null, "remote_replica_id": 1774518686289, "state": "UNKNOWN", "replication_group_name": "auto-RG-27e07618-3b3d-4403", "role": "SOURCE", "progress": null, "_enabled": true, "remote_pool_id": 234, "_assigned_local_ip_index": 1, "_session_snapshots_id": 1073741828, "state_reason": null, "_replica_configuration_guid": "a75e089c-8168-4064-b5f4-d88f741c044e", "last_synchronized": null, "_consistent_guid": null, "rpo_value": 0, "allocated_size": null, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518686388, "pool_id": 1003, "throughput": null, "_local_link_guid": null, "remote_replication_group_name": "Replication group name" } ], "error": null } Errors See general list of error codes. Get Rg Replica by ID Description Returns a rg replica by ID. API Endpoint GET api/rest/rg_replicas/{id} URL Parameters id long Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "The vVols rg is failedover", "replication_group_id": 1002, "remote_replication_group_id": 543, "rpo_state": null, "updated_at": 1774518609408, "link_id": 115, "sync_job_id": null, "jobs": [], "id": 1, "sync_interval": 240000, "base_action": null, "job_state": null, "remote_replica_id": 1774518608836, "state": "SUSPENDED", "replication_group_name": "Target replication group1774518608732", "role": "FAILEDOVER", "progress": null, "_enabled": true, "remote_pool_id": 34987, "_assigned_local_ip_index": 0, "_session_snapshots_id": 1073741825, "state_reason": "VASA_REPLICA_FAILEDOVER", "_replica_configuration_guid": "049324c2-7bed-4ec5-853d-c82d741b0636", "last_synchronized": null, "_consistent_guid": null, "rpo_value": 300000, "allocated_size": 0, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518609408, "pool_id": 1001, "throughput": null, "_local_link_guid": null, "remote_replication_group_name": "Source replication group1774518608733" }, "error": null } Errors REPLICA_NOT_FOUND HTTP 404 Replica not found Resume Rg Replica Description Resume a rg replica from a suspended state. API Endpoint POST api/rest/rg_replicas/{id}/resume URL Parameters id long JSON Data none Returns Errors See general list of error codes. No request examples available Suspend Rg Replica Description Suspend a rg replica. API Endpoint POST api/rest/rg_replicas/{id}/suspend URL Parameters id long JSON Data none Returns Errors See general list of error codes. No request examples available Sync Rg Replica Description Starts a sync job for a single rg replica. API Endpoint POST api/rest/rg_replicas/{id}/sync URL Parameters id long Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "replication_group_id": 1002, "point_in_timestamp": 1480336355617, "lcs_id": 123, "vvols": [], "point_in_time_replica_id": 122, "result": "MGMT_COMMAND_RESULT__SUCCESS", "rmr_sync_job_id": 4 }, "error": null } Errors REPLICA_NOT_FOUND HTTP 404 Replica not found REPLICA_SYNC_JOB_ALREADY_ACTIVE HTTP 409 A new sync job cannot be started while the previous one is active or queued REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica REPLICA_CANNOT_SYNC_WHILE_AUTO_SUSPENDED HTTP 409 A replication group cannot be synchronised when it is auto-suspended REPLICA_SYNC_JOB_INVALID_POOL_STATE HTTP 409 A new sync job cannot be started while the corresponding pool is locked Update Rg Replica Description Update a rg replica. API Endpoint PUT api/rest/rg_replicas/{id} URL Parameters id long Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "_enabled": false } Returns { "metadata": { "ready": true }, "result": { "state_description": null, "replication_group_id": 1003, "remote_replication_group_id": 0, "rpo_state": null, "updated_at": 1774518668943, "link_id": 357, "sync_job_id": 1, "jobs": [ { "start_time": 1424084198470, "state": "PAUSED", "end_time": null, "is_initial": false, "type": "MANUAL", "id": 1 } ], "id": 2, "sync_interval": 4000, "base_action": null, "job_state": "PAUSED", "remote_replica_id": 1774518668815, "state": "SUSPENDED", "replication_group_name": "auto-RG-a0adcef0-0425-4823", "role": "SOURCE", "progress": 100, "_enabled": false, "remote_pool_id": 234, "_assigned_local_ip_index": 0, "_session_snapshots_id": 1073741826, "state_reason": null, "_replica_configuration_guid": "7871bacc-cafd-48fb-8825-c2928967811d", "last_synchronized": 1426012461222, "_consistent_guid": "6f2c6c63-09b1-4e6d-9381-f363184981f9", "rpo_value": 0, "allocated_size": null, "_future_consistent_guid": null, "replication_type": "ASYNC", "created_at": 1774518668943, "pool_id": 1002, "throughput": 0, "_local_link_guid": null, "remote_replication_group_name": "Replication group name" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('_replica_configuration_guid') MALFORMED_PARAMETER HTTP 400 A parameter ('_enabled') could not be translated to an expected type NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 This resource does not support updating multiple fields in one request USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-04a6d5d9-1' is forbidden to modify 'com.infinidat.mgmt.application.replica.model.ManagedVasaReplica@49e1524e' REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica LINK_IO_ERROR HTTP 409 I/O error when trying to communicate with remote system '{host}' REPLICA_INVALID_SYNC_INTERVAL HTTP 409 The replica interval has to be zero or between 4 seconds and 24 hours S3 Account Create an S3 Account Description Create a new S3 account API Endpoint POST api/rest/s3_accounts URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": "auto-s3Acct-d75edb51-efd2-", "pool_id": 1000 } Returns { "metadata": { "ready": true }, "result": { "buckets_count": 0, "pool_name": "auto-pool--21fca1e6-ac91-4", "pool_id": 1000, "name": "auto-s3Acct-d75edb51-efd2-", "tenant_id": 1, "created_at": 1774519589353, "enabled": true, "updated_at": 1774519589353, "id": 3713, "credentials_count": 0, "canonical_id": "f103a227fc15a2e9fd97db4cca8e9d06e062ba2af440a946390be5e5dd257cc7", "location": null, "capacity_consumed": null, "users_count": 0, "email": null }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('pool_id') is missing in an object passed INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 7 characters EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 's3' INVALID_PARAMETER_LENGTH HTTP 400 Parameter ('location') length must be between 1 and 7 characters. Actual: 9 POOL_IS_NOT_S3 HTTP 409 The pool 'auto-pool--3fbe2591-c053-4' cannot be associated with an S3 account as it is not of type S3 S3_ACCOUNT_COUNT_LIMIT HTTP 409 A new account cannot be created, The system has reached the maximum number of accounts S3_ACCOUNT_NAME_CONFLICT HTTP 409 An account with this name already exists S3_INVALID_CANONICAL_ID HTTP 409 The canonical ID must be a 64-character hexadecimal string S3_POOL_ALREADY_ASSOCIATED_WITH_ACCOUNT HTTP 409 S3 pool 'auto-pool--958af96c-5d5a-4' is already associated with S3 account 'auto-account--62c367b0-bd9' S3_CANONICAL_ID_CONFLICT HTTP 409 The canonical ID already exists Delete an S3 Account Description Delete an S3 account by ID Approval required This is a dangerous operation Deleting account 's3AccountName' will also delete all users and credentials associated with this account API Endpoint DELETE api/rest/s3_accounts/{id} URL Parameters id long ID of the S3 account Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "buckets_count": 0, "pool_name": "s3p1", "pool_id": 1001, "name": "My-S3-Account", "tenant_id": 1, "created_at": 1774522597649, "enabled": true, "updated_at": 1774522597649, "id": 16214, "credentials_count": 0, "canonical_id": "6e606c1a46d30b5079b26a1d276d5b223b7b236455f220b11d9504fe84f0f197", "location": null, "capacity_consumed": null, "users_count": 0, "email": null }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting account 'auto-account--9ab3c2b8-584' will also delete all users and credentials associated with this account Get all S3 Accounts Description Get all S3 accounts Filterable and Sortable fields:canonical_id,created_at,email,enabled,id,location,name,updated_at. API Endpoint GET api/rest/s3_accounts URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "buckets_count": 0, "pool_name": "s3pool4", "pool_id": 1003, "name": "account4", "tenant_id": 1, "created_at": 1774519735958, "enabled": true, "updated_at": 1774519735958, "id": 4754, "credentials_count": 0, "canonical_id": "1a282206a7700adaf1adf9d4d1f7990cb6a1a12abe3420edb130d0d9b9d17c34", "location": "location", "capacity_consumed": null, "users_count": 0, "email": "email@S3.com" }, { "buckets_count": 0, "pool_name": "s3pool5", "pool_id": 1004, "name": "account5", "tenant_id": 1, "created_at": 1774519736097, "enabled": true, "updated_at": 1774519736097, "id": 4755, "credentials_count": 0, "canonical_id": "1ffdd385536cb6a663bf93addeccf85a37564c9772a840b9c5bda4bf85dbff8d", "location": "location", "capacity_consumed": null, "users_count": 0, "email": "email@S3.com" }, { "buckets_count": 0, "pool_name": "s3pool6", "pool_id": 1005, "name": "account6", "tenant_id": 1, "created_at": 1774519736210, "enabled": true, "updated_at": 1774519736210, "id": 4756, "credentials_count": 0, "canonical_id": "4e6d0ba006a850f98eecf3aa93bf542f9dc1ed6989d299bb6ddf9203e31c3e92", "location": "location", "capacity_consumed": null, "users_count": 0, "email": "email@S3.com" } ], "error": null } Errors See general list of error codes. Get an S3 Account Description Get an S3 account by ID API Endpoint GET api/rest/s3_accounts/{id} URL Parameters id long ID of the S3 account Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "buckets_count": 0, "pool_name": "auto-s3Pool-1f2d3f24-9903-", "pool_id": 1001, "name": "auto-s3Acct-3585bdc0-3035-", "tenant_id": 1, "created_at": 1774522098791, "enabled": true, "updated_at": 1774522098791, "id": 17568, "credentials_count": 0, "canonical_id": "e5531a22b0c18a6a8ff7f5b3a5b1cb49efa715d759380db3dd3d7bfda36206f8", "location": null, "capacity_consumed": null, "users_count": 1, "email": null }, "error": null } Errors S3_ACCOUNT_NOT_FOUND HTTP 404 S3 account not found Update an S3 Account Description Update an S3 account by ID Approval required This is a dangerous operation Disabling account 's3AccountName' will prevent access to all buckets associated with this account API Endpoint PUT api/rest/s3_accounts/{id} URL Parameters id long ID of the S3 account Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "enabled": false } Returns { "metadata": { "ready": true }, "result": { "buckets_count": 0, "pool_name": "s3p1", "pool_id": 1001, "name": "my-s3-account-1", "tenant_id": 1, "created_at": 1774521583651, "enabled": false, "updated_at": 1774521583733, "id": 11010, "credentials_count": 0, "canonical_id": "f314139cfff65907371ffcf8744ac13597a6ec51a707bbc8d0bab0bd32cfb3ec", "location": null, "capacity_consumed": null, "users_count": 0, "email": null }, "error": null } Errors INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 7 characters INVALID_PARAMETER_LENGTH HTTP 400 Parameter ('location') length must be between 1 and 8 characters. Actual: 9 UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('canonical_id') EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 's3' APPROVAL_REQUIRED HTTP 403 Disabling account 'auto-account--81f0010a-844' will prevent access to all buckets associated with this account S3_ACCOUNT_NAME_CONFLICT HTTP 409 An account with this name already exists S3_ACCOUNT_ALREADY_ENABLED HTTP 409 The S3 account 'auto-account--81f0010a-844' is already enabled S3_ACCOUNT_ALREADY_DISABLED HTTP 409 The S3 account 'auto-account--81f0010a-844' is already disabled S3 Bucket Update an S3 Bucket Attribute Description Update an attribute of an S3 bucket API Endpoint PUT api/rest/s3_buckets/{id} URL Parameters id long ID of the S3 bucket Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "tree_allocated": 1000 } Returns { "metadata": { "ready": true }, "result": { "account_name": "s3acct1", "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": false, "capacity_savings": null, "name": "s3bckt1", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774521156062, "account_id": 10250, "updated_at": 1774521156062, "pool_id": 1001, "compression_enabled": true, "compression_suppressed": null, "capacity_consumed": 0, "allocated": 0, "id": 10251, "capacity_savings_per_entity": null }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tree_allocated') S3_BUCKET_COMPRESSION_ALREADY_ENABLED HTTP 409 Compression is already enabled for S3 bucket 's3bckt1' S3_BUCKET_COMPRESSION_ALREADY_DISABLED HTTP 409 Compression is already disabled for S3 bucket 's3bckt1' S3_BUCKET_SSD_CACHE_ALREADY_ENABLED HTTP 409 SSD Cache is already enabled for S3 bucket 's3bckt1' S3_BUCKET_SSD_CACHE_ALREADY_DISABLED HTTP 409 SSH Cache is already disabled for S3 bucket 's3bckt1' Create an S3 Bucket Description Create a new S3 bucket API Endpoint POST api/rest/s3_buckets URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "name": "auto-bucket--cb020cfe-3ab8", "account_id": 3713 } Returns { "metadata": { "ready": true }, "result": { "object_count": null, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "auto-bucket--cb020cfe-3ab8", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774519589488, "account_name": "auto-s3Acct-d75edb51-efd2-", "updated_at": 1774519589488, "pool_id": 1000, "compression_enabled": true, "compression_suppressed": null, "capacity_savings_per_entity": null, "capacity_consumed": null, "allocated": 0, "id": 3714, "account_id": 3713 }, "error": null } Errors INVALID_NAME_LENGTH HTTP 400 Name must be of length between 3 and 63 characters INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'my-Bucket-2025.03.20' MISSING_FIELD HTTP 400 A field ('account_id') is missing in an object passed S3_BUCKET_COUNT_LIMIT HTTP 409 A new S3 bucket cannot be created. The system has reached the maximum number of S3 buckets S3_ACCOUNT_IS_DISABLED HTTP 409 Your request cannot be completed because the S3 account 'my-s3-account-1' is disabled. S3_BUCKET_NAME_CONFLICT HTTP 409 An S3 bucket with this name already exists Delete an S3 Bucket Description Delete an S3 bucket by ID Approval required This is a dangerous operation Bucket 's3BucketName' will be deleted from account s3AccountName only if the bucket is empty API Endpoint DELETE api/rest/s3_buckets/{id} URL Parameters id long ID of the S3 bucket Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "s3bucket1", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774519719960, "account_name": "s3account1", "updated_at": 1774519719960, "pool_id": 1000, "compression_enabled": true, "compression_suppressed": null, "capacity_savings_per_entity": null, "capacity_consumed": 0, "allocated": 0, "id": 4638, "account_id": 4637 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Bucket 'my-s3-bucket-1' will be deleted from account My-S3-Account only if the bucket is empty S3_BUCKET_NOT_EMPTY HTTP 409 S3 bucket 'my-s3.bucket-1' cannot be deleted because it is not empty Get all S3 Buckets Description Get all S3 buckets Filterable and Sortable fields:created_at,id,name,updated_at. Filterable only fields:capacity_consumed,object_count. API Endpoint GET api/rest/s3_buckets URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "account_name": "s3acct1", "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "s3bckt1", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774521290158, "account_id": 10336, "updated_at": 1774521290158, "pool_id": 1001, "compression_enabled": true, "compression_suppressed": null, "capacity_consumed": 0, "allocated": 0, "id": 10337, "capacity_savings_per_entity": null }, { "account_name": "s3acct2", "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "s3bckt2", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774521290549, "account_id": 10338, "updated_at": 1774521290549, "pool_id": 1003, "compression_enabled": true, "compression_suppressed": null, "capacity_consumed": 0, "allocated": 0, "id": 10339, "capacity_savings_per_entity": null }, { "account_name": "s3acct3", "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "s3bckt3", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774521290766, "account_id": 10340, "updated_at": 1774521290766, "pool_id": 1005, "compression_enabled": true, "compression_suppressed": null, "capacity_consumed": 0, "allocated": 0, "id": 10341, "capacity_savings_per_entity": null } ], "error": null } Errors See general list of error codes. Get an S3 Bucket Description Get an S3 bucket by ID API Endpoint GET api/rest/s3_buckets/{id} URL Parameters id long ID of the S3 bucket Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "account_name": "s3acct1", "object_count": 1, "data_reduction_ratio": 1.0, "ssd_enabled": true, "capacity_savings": null, "name": "s3bkt1", "disk_usage": null, "tree_allocated": 0, "tenant_id": 1, "created_at": 1774521334435, "account_id": 10582, "updated_at": 1774521334435, "pool_id": 1001, "compression_enabled": true, "compression_suppressed": null, "capacity_consumed": 0, "allocated": 0, "id": 10585, "capacity_savings_per_entity": null }, "error": null } Errors S3_BUCKET_NOT_FOUND HTTP 404 S3 bucket not found S3 Certificates Generate S3 Csr Description Generate S3 CSR API Endpoint POST api/rest/system/s3_certificates/generate_csr URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "C": "IL", "L": "Location", "ST": "State" } Returns { "metadata": { "ready": true }, "result": "-----BEGIN CERTIFICATE REQUEST-----\nMIIC7jCCAdgCAQAwcTELMAkGA1UEBhMCSUwxDjAMBgNVBAgMBVN0YXRlMREwDwYD\nVQQHDAhMb2NhdGlvbjEYMBYGA1UECgwPSW5maW5pZGF0LCBMdGQuMSUwIwYDVQQD\nDBxpYm94MDEyLmxhYi5pbC5pbmZpbmlkYXQuY29tMIIBIjANBgkqhkiG9w0BAQEF\nAAOCAQ8AMIIBCgKCAQEA0ZYIgOq+7nIf17PCsa4CdY2XqNwncij6b9hPhVESi93Y\nWeK7B+J/x1EO9Ye5ekQI69AWsLmP12YOvqymioYjRJI2BsY+BzSgCiXex7fapuLa\n2tXYYuBRaeoHioJDSeDZDsYSafsDI8qnkJdxmlukNHz54MECuUFKI0BKvPcVc17H\nEoKHRTFyaLiMWLjrb/Hxp9Xlz6M8gQM55h+3sXsjU+4sIzzprAPkHFBp31Dw3ifI\nEXHpi3i4xLg42ezIYJmnQhjyEP7/Hms/S5xuy1CEUZcz9Vsxc8NI9iYNQ2qiDsja\nNTwdrVsBeyTRdvhd/N0jy1Qjgu5zUrPxDzbhn0HfpQIDAQABoDowOAYJKoZIhvcN\nAQkOMSswKTAnBgNVHREEIDAeghxpYm94MDEyLmxhYi5pbC5pbmZpbmlkYXQuY29t\nMAsGCSqGSIb3DQEBCwOCAQEAtc3ZT7kbJNWr5LIyykS+UVCARvoFv2SoN4yrAqFV\nL/9YB7nEkGsRs2vm9SuiXWJ6PJWLI27DhkJQL/54K8vHg578FNKL3vPFFPAV141Q\nM6Q5sCQFkF8HlGrtMYgdFslLGbPw1NECin35WI6QL01oYfRmA/DuPI756zBIVMC3\n+7mGwBf+3uT/rngqiRTHXyM1s0BNN1u8maRmga86dvI0AbQ/Qq52TLegkVG3GJej\nGxxXbXVBXcizahJg5VeZpAzHGo6Lbm+stC5kE8TcTlCEOjMRbNpzUMPRqSn0s4HF\n6Q62+DpBTEoDldxYtNPud8V/bM5SPoQ/xiwBLaEDyDPXng==\n-----END CERTIFICATE REQUEST-----\n", "error": null } Errors See general list of error codes. Generate S3 Self Signed SSL Certificate Description Generate S3 self-signed certificate Approval required This is a dangerous operation Using a self-signed certificated reduces the S3 server's security. Depending on your network policy, some applications might lose access API Endpoint POST api/rest/system/s3_certificates/generate_self_signed URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoLUHJKvu35uitjJZvUva\n3EzzEMd4VcOQKA2fDDqIbc9PBW5Y4TewyXvz3l0swFC/41YrMblUbg3h3d/2WrQ1\nCDNildtttURe9uCzX1WB5jlRDFPfvBQNoOe15hxi8G+961mhzevB3C4HXhy7eQe2\nFhXuz2jbTenpj4WTJrT1jbYg6+s8rPIsaaDE+bCgyo2o8edjoDCZx2iZKs5UaFOU\nVZHYG/gL/Xabe7bv2jP4b3tdErrt3BRG7YWSt1qbSCS6fGHUaVBwZ1HyB3u6gbrR\njTewqRVgMRgJYkFweAFnqXyCQXhpSLYy+udHjijZi/VsWUCnmyIBBhupDzJQrb3b\nhQIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "A0B50724ABEEDF9BA2B63259BD4BDADC4CF310C77855C390280D9F0C3A886DCF4F056E58E137B0C97BF3DE5D2CC050BFE3562B31B9546E0DE1DDDFF65AB43508336295DB6DB5445EF6E0B35F5581E639510C53DFBC140DA0E7B5E61C62F06FBDEB59A1CDEBC1DC2E075E1CBB7907B61615EECF68DB4DE9E98F859326B4F58DB620EBEB3CACF22C69A0C4F9B0A0CA8DA8F1E763A03099C768992ACE546853945591D81BF80BFD769B7BB6EFDA33F86F7B5D12BAEDDC1446ED8592B75A9B4824BA7C61D46950706751F2077BBA81BAD18D37B0A91560311809624170780167A97C8241786948B632FAE7478E28D98BF56C5940A79B2201061BA90F3250ADBDDB85", "algorithm": "RSA" }, "id": "s3_service", "certificate": { "issued_to": { "C": "US", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd." }, "issued_on": 1774522216000, "issued_by": { "C": "US", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIDQzCCAi2gAwIBAgIGAZ0pxC75MAsGCSqGSIb3DQEBCzBOMQswCQYDVQQGEwJV\nUzEYMBYGA1UECgwPSW5maW5pZGF0LCBMdGQuMSUwIwYDVQQDDBxpYm94MDEyLmxh\nYi5pbC5pbmZpbmlkYXQuY29tMB4XDTI2MDMyNjEwNTAxNloXDTI3MDQyNjA5NTAx\nNlowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjElMCMG\nA1UEAwwcaWJveDAxMi5sYWIuaWwuaW5maW5pZGF0LmNvbTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKC1BySr7t+borYyWb1L2txM8xDHeFXDkCgNnww6\niG3PTwVuWOE3sMl7895dLMBQv+NWKzG5VG4N4d3f9lq0NQgzYpXbbbVEXvbgs19V\ngeY5UQxT37wUDaDnteYcYvBvvetZoc3rwdwuB14cu3kHthYV7s9o203p6Y+Fkya0\n9Y22IOvrPKzyLGmgxPmwoMqNqPHnY6AwmcdomSrOVGhTlFWR2Bv4C/12m3u279oz\n+G97XRK67dwURu2Fkrdam0gkunxh1GlQcGdR8gd7uoG60Y03sKkVYDEYCWJBcHgB\nZ6l8gkF4aUi2MvrnR44o2Yv1bFlAp5siAQYbqQ8yUK2924UCAwEAAaMrMCkwJwYD\nVR0RBCAwHoIcaWJveDAxMi5sYWIuaWwuaW5maW5pZGF0LmNvbTALBgkqhkiG9w0B\nAQsDggEBAF+hiwgtzXpVxEyk28xkiLtIlqrlNuhYjfISqoeZfppHVcDIC6sOFQ62\nslC7qDRX9w69xxBRj2L3GMIHv/xKw+YyDDW7JGsqEJtbAAIzSIYhC+59bixlNhrX\nZYth17YkA/gyPGM3W+mBvqxU/YelFRgxnji6NnH4t5kjya28w691VpyX9p4k5lkD\nx5RhLItegSc9FtERNvUIaZt2uDUGu4eZO3tC8EUZJBFGbgIw8ELzQswiQ3r8GG4t\nknTbcFQwtgBueRR1ZzyU+pZW88AAqkcyonrzR2EvIoqVeSiCM16Ui8DLiOPKMqgz\n4SGzAQMkgqIX1kOk8DQtkTLZ/s/UrNc=\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "19D29C42EF9", "expired": false, "expires_on": 1808733016000 } }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Using a self-signed certificated reduces the S3 server's security. Depending on your network policy, some applications might lose access UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Get S3 SSL Certificate Info Description Get current S3 certificates info API Endpoint GET api/rest/system/s3_certificates URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtfzj7xb5vghZUlgHQFYR\n1z84Hf6SIU0aRYGE6qhMhHqB8sl0DAhaWv22+DqV/UtIZRHmz8Fw03yBzoWl2Vyj\niVT6AN6MYA3OIfHR1FBNSGlUlAl09kZw0kOT7SCL/7uNvaKsk1iaYVv4MH7lv99A\ngJJpJ8HFWSTo6QJXEgp0YPoTFRQ7MBmTT/8454U9FknWwMSb0LnnnA2Mg7ufpEg9\nMSOCUH5Hh9C2rT48h7QCbCNSe7sn4xCzSaHM42jzO7jK9Kx/QNrvqXwfqt9PT/3t\nPx1LuD4GhkyQ4kz5tARYQ80RseqNHZC28mzk9ezPfm+mBlhwS1qBB1grwqI6N+0l\n0QIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "B5FCE3EF16F9BE0859525807405611D73F381DFE92214D1A458184EAA84C847A81F2C9740C085A5AFDB6F83A95FD4B486511E6CFC170D37C81CE85A5D95CA38954FA00DE8C600DCE21F1D1D4504D486954940974F64670D24393ED208BFFBB8DBDA2AC93589A615BF8307EE5BFDF4080926927C1C55924E8E90257120A7460FA1315143B3019934FFF38E7853D1649D6C0C49BD0B9E79C0D8C83BB9FA4483D312382507E4787D0B6AD3E3C87B4026C23527BBB27E310B349A1CCE368F33BB8CAF4AC7F40DAEFA97C1FAADF4F4FFDED3F1D4BB83E06864C90E24CF9B4045843CD11B1EA8D1D90B6F26CE4F5ECCF7E6FA60658704B5A8107582BC2A23A37ED25D1", "algorithm": "RSA" }, "id": "s3_service", "certificate": { "issued_to": { "C": "US", "CN": "mgmt.test.lab.gdc.il.infinidat.com", "O": "Infinidat, Ltd." }, "issued_on": 1747559421000, "issued_by": { "C": "US", "CN": "mgmt.test.lab.gdc.il.infinidat.com", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIUSR0NGXwRsEr3JedBS6rMU+oUOJswDQYJKoZIhvcNAQEL\nBQAwVDELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjErMCkG\nA1UEAwwibWdtdC50ZXN0LmxhYi5nZGMuaWwuaW5maW5pZGF0LmNvbTAgFw0yNTA1\nMTgwOTEwMjFaGA8yMDc1MDUxODA5MTAyMVowVDELMAkGA1UEBhMCVVMxGDAWBgNV\nBAoMD0luZmluaWRhdCwgTHRkLjErMCkGA1UEAwwibWdtdC50ZXN0LmxhYi5nZGMu\naWwuaW5maW5pZGF0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nALX84+8W+b4IWVJYB0BWEdc/OB3+kiFNGkWBhOqoTIR6gfLJdAwIWlr9tvg6lf1L\nSGUR5s/BcNN8gc6Fpdlco4lU+gDejGANziHx0dRQTUhpVJQJdPZGcNJDk+0gi/+7\njb2irJNYmmFb+DB+5b/fQICSaSfBxVkk6OkCVxIKdGD6ExUUOzAZk0//OOeFPRZJ\n1sDEm9C555wNjIO7n6RIPTEjglB+R4fQtq0+PIe0AmwjUnu7J+MQs0mhzONo8zu4\nyvSsf0Da76l8H6rfT0/97T8dS7g+BoZMkOJM+bQEWEPNEbHqjR2QtvJs5PXsz35v\npgZYcEtagQdYK8KiOjftJdECAwEAAaOBgzCBgDAdBgNVHQ4EFgQUEU38l3M8INqn\niyuCiVRIEhbZNdcwHwYDVR0jBBgwFoAUEU38l3M8INqniyuCiVRIEhbZNdcwDwYD\nVR0TAQH/BAUwAwEB/zAtBgNVHREEJjAkgiJtZ210LnRlc3QubGFiLmdkYy5pbC5p\nbmZpbmlkYXQuY29tMA0GCSqGSIb3DQEBCwUAA4IBAQAJUBV6Un4sGSkcWC9cNLW8\n+/VCP4EmEhgL0zXKfUfozoTB3vxBsQ6WoQ3KHet5OgrsIwC49IBYNi3vaXI51w4v\nC4+QWbhZJitGBiF7YyR7jVJlsGAofIgn/DBSbsSDXMA3B9Mo27l/66Zv3TpxXDOd\nSoB/y2b3X++5Ketv+WEACN2wq5w2u6T3lxlGEV8WJ3FsESODezM6vXqZk23vsrOh\nRCzZvf+Q1dhtmHTIVD2VMtwcb6uIycfp6Sngn/H7WncplXTtAKz49ORLVjCPfHBT\n4cGZN6avKSxGUAY/AvTx+JtfcqOolbasIBsEqMtdugODNHAg+EAVXZR1gOr+KVVa\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256withRSA", "serial_number": "491D0D197C11B04AF725E7414BAACC53EA14389B", "expired": false, "expires_on": 3325396221000 } } ], "error": null } Errors See general list of error codes. Upload S3 Csr Description Upload S3 CSR-signed certificate Approval required This is a dangerous operation Uploading a new SSL certificate requires restarting the S3 service API Endpoint POST api/rest/system/s3_certificates/upload_csr URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data "--Boundary_1_1774841934_1774522208340\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; filename=\"upload\"; name=\"upload\"\r\n\r\n/tmp/jenkins/mgmt-tests/certificates/system_certificate_mock/localhost.crt1774519246782\r\n--Boundary_1_1774841934_1774522208340--\r\n" Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7O+AV6AWRXY4RCN+I7+O\n7w8lpedF7hmtzwvwzPS2Ui4USWuEkk06pazfwjfceff3JBUK328/1EeeOk1pZe/V\nrctG+z5Fs8Oo7E/D3N20TEeOuTWIXR3W+6LrdNJYOS22CyQpBD/uUFvjyXieFGAU\niPJ3fDOTWeF5ePsCeT3aMaum0vrCt6nsXPLAueEVszFwl/n23+Dg5x+zAJYNFF0r\njFC5MHWJ8FDxthESM0N3z/hm77cuglYsgVhkCG5L0wHGOuaNAfxTPMZdZUjjx+Lh\n09308yLASYJd8jxZle9No+xfF6Q66909+m8WqxzoyxslLVrMEJJKtdjt4EBVvwyx\niwIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "ECEF8057A01645763844237E23BF8EEF0F25A5E745EE19ADCF0BF0CCF4B6522E14496B84924D3AA5ACDFC237DC79F7F724150ADF6F3FD4479E3A4D6965EFD5ADCB46FB3E45B3C3A8EC4FC3DCDDB44C478EB935885D1DD6FBA2EB74D258392DB60B2429043FEE505BE3C9789E14601488F2777C339359E17978FB02793DDA31ABA6D2FAC2B7A9EC5CF2C0B9E115B3317097F9F6DFE0E0E71FB300960D145D2B8C50B9307589F050F1B61112334377CFF866EFB72E82562C815864086E4BD301C63AE68D01FC533CC65D6548E3C7E2E1D3DDF4F322C049825DF23C5995EF4DA3EC5F17A43AEBDD3DFA6F16AB1CE8CB1B252D5ACC10924AB5D8EDE04055BF0CB18B", "algorithm": "RSA" }, "id": "s3_service", "certificate": { "issued_to": { "C": "IL", "ST": "State", "CN": "ibox012.lab.il.infinidat.com", "O": "Infinidat, Ltd.", "L": "Location" }, "issued_on": 1774522210000, "issued_by": { "C": "US", "CN": "ca.com", "O": "Infinidat, Ltd." }, "raw": "-----BEGIN CERTIFICATE-----\nMIIEvjCCA6igAwIBAgIGAZ0pxBi8MAsGCSqGSIb3DQEBCzA4MQ8wDQYDVQQDDAZj\nYS5jb20xGDAWBgNVBAoMD0luZmluaWRhdCwgTHRkLjELMAkGA1UEBhMCVVMwHhcN\nMjYwMzI2MTA1MDEwWhcNMjcxMTE2MTA1MDEwWjBxMQswCQYDVQQGEwJJTDEOMAwG\nA1UECAwFU3RhdGUxETAPBgNVBAcMCExvY2F0aW9uMRgwFgYDVQQKDA9JbmZpbmlk\nYXQsIEx0ZC4xJTAjBgNVBAMMHGlib3gwMTIubGFiLmlsLmluZmluaWRhdC5jb20w\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs74BXoBZFdjhEI34jv47v\nDyWl50XuGa3PC/DM9LZSLhRJa4SSTTqlrN/CN9x59/ckFQrfbz/UR546TWll79Wt\ny0b7PkWzw6jsT8Pc3bRMR465NYhdHdb7out00lg5LbYLJCkEP+5QW+PJeJ4UYBSI\n8nd8M5NZ4Xl4+wJ5Pdoxq6bS+sK3qexc8sC54RWzMXCX+fbf4ODnH7MAlg0UXSuM\nULkwdYnwUPG2ERIzQ3fP+Gbvty6CViyBWGQIbkvTAcY65o0B/FM8xl1lSOPH4uHT\n3fTzIsBJgl3yPFmV702j7F8XpDrr3T36bxarHOjLGyUtWswQkkq12O3gQFW/DLGL\nAgMBAAGjggGXMIIBkzAJBgNVHRMEAjAAMIIBMwYDVR0OBIIBKgSCASYwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDs74BXoBZFdjhEI34jv47vDyWl50Xu\nGa3PC/DM9LZSLhRJa4SSTTqlrN/CN9x59/ckFQrfbz/UR546TWll79Wty0b7PkWz\nw6jsT8Pc3bRMR465NYhdHdb7out00lg5LbYLJCkEP+5QW+PJeJ4UYBSI8nd8M5NZ\n4Xl4+wJ5Pdoxq6bS+sK3qexc8sC54RWzMXCX+fbf4ODnH7MAlg0UXSuMULkwdYnw\nUPG2ERIzQ3fP+Gbvty6CViyBWGQIbkvTAcY65o0B/FM8xl1lSOPH4uHT3fTzIsBJ\ngl3yPFmV702j7F8XpDrr3T36bxarHOjLGyUtWswQkkq12O3gQFW/DLGLAgMBAAEw\nTwYDVR0jBEgwRqE8pDowODEPMA0GA1UEAwwGY2EuY29tMRgwFgYDVQQKDA9JbmZp\nbmlkYXQsIEx0ZC4xCzAJBgNVBAYTAlVTggYBnSnEGLkwCwYJKoZIhvcNAQELA4IB\nAQAKWx7aa8AlGPUfmI0+iqaLoT6rdhzJrcfPsneb/ykDNJdKk/cKoerx8L7nG5dk\nLvDHXj/CmMOyjyjBctmAbKoAaK3ETvQRsvxl+ldiSbRsG+zP4tPT4EXBJQSUOOXT\nj9m8Y9Pj1M6/IeiL6ygvcJ6A/Cl24cWhfW8IrEPwFw94Q3SK4Y88mkEOL9LuWFno\n+4/uPkILsvFGrvZVWP2pSZZqoT5603gek1hEd05ZS2Jq19npGqDpXkvXZUtrV6bG\nkKJkAbeROzizX5BRlz9phS8xaYKC/mLnz646Q6+KamcpBjBeo6jQUaG/QGUteLR+\nQNiLhbYcNJmGNeqy5awK/BYR\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "19D29C418BC", "expired": false, "expires_on": 1826362210000 } }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Uploading a new SSL certificate requires restarting the S3 service CSR_MISMATCH HTTP 409 The certificate provided does not match the certificate request generated previously Upload S3 SSL Certificate and Key Description Upload S3 certificate + key Approval required This is a dangerous operation Uploading a new SSL certificate requires restarting the S3 service API Endpoint POST api/rest/system/s3_certificates URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data "--Boundary_8_2070154626_1774522210913\r\nContent-Type: application/octet-stream\r\nContent-Disposition: form-data; filename=\"upload\"; name=\"upload\"\r\n\r\n-----BEGIN CERTIFICATE-----\nMIIDQDCCAiigAwIBAgIGAZ0pxBpFMA0GCSqGSIb3DQEBCwUAMGExGTAXBgNVBAMM\nEHMzLmluZmluaWRhdC5jb20xCTAHBgNVBAsMADEJMAcGA1UECgwAMREwDwYDVQQH\nDAhMb2NhdGlvbjEOMAwGA1UECAwFU3RhdGUxCzAJBgNVBAYTAklMMB4XDTI2MDMy\nNjEwNTAxMFoXDTI3MDMyMTEwNTAxMFowYTEZMBcGA1UEAwwQczMuaW5maW5pZGF0\nLmNvbTEJMAcGA1UECwwAMQkwBwYDVQQKDAAxETAPBgNVBAcMCExvY2F0aW9uMQ4w\nDAYDVQQIDAVTdGF0ZTELMAkGA1UEBhMCSUwwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQCv1Fe/efOPBU/UZv54el3w0+J+tPHItXI9z8h0BqPV/MxooRVU\nNw66xo/x2lpLUcgoN4AgtRHjsXhkHeFBPDsW1APbNjvp8bGLYijRHGlqjo1Kp6zy\neDXD3eXmfWuL80RhyiVxKd/2vEgIygcy4cvEUcsqoUg2es0zV6rkcDj/nungOKiy\nClZJFuySMSGYrnm8RPzH4z/Yu4PivK3w+Zr1GMatCVSxXeaxrQOhV5ellE3P1qvE\ndIOr5yFnyKDc7kS80nc5MDB5EbNe/D0oh2YfQdwCnbu981gmaaxxMNy10sHWwdym\nndupfCovVu8VADTu7IkpJplE8KbjRKLXVn1hAgMBAAEwDQYJKoZIhvcNAQELBQAD\nggEBABK46aZ6Z2OPFkN/mfgts7MZuSDM4a+tzcmzeQwnZF6rp03qsJVCmLolMkoX\nJQBOUvQcpTFRhROaMhJZuJ9pqbJnFI/vJgpqDkrKwe7r3QlnN3Ty3lgCjX8hNm8a\n6fazb/i55UG9cEHs01yEyfgYlKj6dEQyb8crU/vQAXugifJjs9Ft0ScORW2usFut\nqLZifXv/UtZ8dE8wMLuBtQ//BQo4buvKjy41v5GkXQjZD7KDypx7jZqqAFMVZpu+\nU4v127pLBfmLnZTeLwhHFQ9f6idhUADAhuZBAZ/dot9pojVyY8Fs0kNraYfISuKk\nOAe5u09MXro48QQ4nrz58FPKVZ0=\n-----END CERTIFICATE-----\n\n-----BEGIN RSA PRIVATE KEY-----\nMIIEpQIBAAKCAQEAr9RXv3nzjwVP1Gb+eHpd8NPifrTxyLVyPc/IdAaj1fzMaKEV\nVDcOusaP8dpaS1HIKDeAILUR47F4ZB3hQTw7FtQD2zY76fGxi2Io0Rxpao6NSqes\n8ng1w93l5n1ri/NEYcolcSnf9rxICMoHMuHLxFHLKqFINnrNM1eq5HA4/57p4Dio\nsgpWSRbskjEhmK55vET8x+M/2LuD4ryt8Pma9RjGrQlUsV3msa0DoVeXpZRNz9ar\nxHSDq+chZ8ig3O5EvNJ3OTAweRGzXvw9KIdmH0HcAp27vfNYJmmscTDctdLB1sHc\npp3bqXwqL1bvFQA07uyJKSaZRPCm40Si11Z9YQIDAQABAoIBAFL6apjOBC/kSVrL\nal9QHGJJlHPIj+xxGONr2kVLVulnXs4n6wlt3FEv4QG50vAFveig3KJS4YjrmY3h\n/gqL0rUAxHsg+qB6tBe78NhSyLsFYE+xlvBs4662W0dtvCH1YbmmrQndQblO/M3N\nDh2oqsHQ+gj5yTsQtCN9RYR+I6AaRjQMxUmt3BoKf4vvV1qRM0jw4dLOQaEPrck/\n5HLMA/kbduN4OsNagAbPPgJt9XHkZQ0v0q5hgQJj7wUURHq573Mq0vwvxOkLXW1I\nNeCDSNkCth3Is0EpLR0EJkrIVL9qjHWBwV6lezZ5NIwyeZQO3wO+Vnpx+K8fdC6R\nHDv+cQsCgYEA1CxmTAjeRNqogf6lri3L+Tochipmr3ut10yodCEBwO7BBKtlxIij\nQiKZMDpwt9wT+ztYBDQ/A0/f8/ahM+mKHvprO7IEbFRTIgoVM72597uaMzwGGHuU\nHUlA80D3GYVl4OD9glf6quqpHhIUvJMKixY2R/+pNy1k+tFbk/ucqIsCgYEA1CYY\nqlJX84S/9T58R9OeiysRjupUvjl+ATRGUDq/dyc0IPzAEmUzJZKFzLEgpDe4n88z\nlgKKMKWv2aGuOyJ+OSTFVZFe1d7f6Zb5Rz/1ZPvmeTtX11tZUEq3q+RF//7H1mKw\nPpNMNgn9bAsOkxTCcI80KBFJrLnvGEXdGWTuQ0MCgYEAopn4N9MgDCKKuz0dWfQM\n+s43J/b8xQWCv5onCwB0qJgQ4nQ8RLb2buu2/If89Fq8EXB0Tpx/ohknp37eIbub\nt4vwfEo8K40gPNj/UKzZBWsHjLY2cbLbWupV1VZ3SF68KfAjOC4Wk7/MpZfzvmTt\n0pPOO7VJyFiIp9OkXC+a6msCgYEAlhPlOwhJg9ITYdC0ZrOD4vuyziFjlbZiN0Pd\nwf/tVsN7EyL6VYkV56yBzs43QzTP/O29lo9xZvyvLAw+j0LVfGNQ3jmalz21tS/C\nZO8QEEJLRtP+TjEnO6+/w3AXPQPmJvllqL7XGRt0Fay0wMPc0Xfc88NXFUPrqoYx\n5TcLfrUCgYEAiKH5sftAXQWyoOa8fclSJ4xKskZw9LfYU8WAgzRLIiLKdGyeNr1S\nyen4r7HmzGcJjMBT1ZHV8h6qjpdB7IleaNbr9A+t6M4zw+i2T1KPZrn4L3/Kizbg\nHRnKTR1+SHvQ1QcTcxd1bW6Ntxftf+KgNwSMkiVZFEsWOjn1kHYh8Hc=\n-----END RSA PRIVATE KEY-----\n\r\n--Boundary_8_2070154626_1774522210913--\r\n" Returns { "metadata": { "ready": true }, "result": { "public_key": { "raw": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv0fiLEmFEELvm9tvCFka\nEXTY/4n64jrWfmK7Ym+OLWqV/Aq1/cK2buW06G/7viOXdXeUbolMbgWiwGUNswBc\neUKLzhtFuevxvlOvCe/b9AKfGvKJc29aweVGsnUFMimIPODMYQ7EVkzSKLcDZU+1\n8mcy3srLn/HK9WGehZb95khpE3pjA4Rqf0f3ae5zl5P4H4odtUfsCQrAyeV4e7V6\nZyExxuIP3Km+wIc4uxkZvVxq/9p+MgrbAtN1MS8wtYhEL+XlPGGoXtxY03WURLOE\nmMr06Wz5W8gPWX510VgPAueHH07lsPi+HskWnmjuowOF7yDyw7boa2vQbCLOttee\n1QIDAQAB\n-----END PUBLIC KEY-----\n", "modulus": "BF47E22C49851042EF9BDB6F08591A1174D8FF89FAE23AD67E62BB626F8E2D6A95FC0AB5FDC2B66EE5B4E86FFBBE23977577946E894C6E05A2C0650DB3005C79428BCE1B45B9EBF1BE53AF09EFDBF4029F1AF289736F5AC1E546B275053229883CE0CC610EC4564CD228B703654FB5F26732DECACB9FF1CAF5619E8596FDE64869137A6303846A7F47F769EE739793F81F8A1DB547EC090AC0C9E5787BB57A672131C6E20FDCA9BEC08738BB1919BD5C6AFFDA7E320ADB02D375312F30B588442FE5E53C61A85EDC58D3759444B38498CAF4E96CF95BC80F597E75D1580F02E7871F4EE5B0F8BE1EC9169E68EEA30385EF20F2C3B6E86B6BD06C22CEB6D79ED5", "algorithm": "RSA" }, "id": "s3_service", "certificate": { "issued_to": { "C": "US", "CN": "ibox.infinidat.com", "L": "TLV", "O": "Infinidat LTD", "DC": "infinidat; com", "OU": "Infinidat LTD", "ST": "TLV" }, "issued_on": 1663775911000, "issued_by": { "C": "US", "CN": "ibox.infinidat.com", "L": "TLV", "O": "Infinidat LTD", "DC": "infinidat; com", "OU": "Infinidat LTD", "ST": "TLV" }, "raw": "-----BEGIN CERTIFICATE-----\nMIIEHzCCAwegAwIBAgIUd5C53LqOS8s5zYOTTxfn0qBNuzswDQYJKoZIhvcNAQEL\nBQAwgaYxCzAJBgNVBAYTAlVTMQwwCgYDVQQHDANUTFYxDDAKBgNVBAgMA1RMVjEW\nMBQGA1UECgwNSW5maW5pZGF0IExURDEWMBQGA1UECwwNSW5maW5pZGF0IExURDEb\nMBkGA1UEAwwSaWJveC5pbmZpbmlkYXQuY29tMRkwFwYKCZImiZPyLGQBGRYJaW5m\naW5pZGF0MRMwEQYKCZImiZPyLGQBGRYDY29tMB4XDTIyMDkyMTE1NTgzMVoXDTMy\nMDkxODE1NTgzMVowgaYxCzAJBgNVBAYTAlVTMQwwCgYDVQQHDANUTFYxDDAKBgNV\nBAgMA1RMVjEWMBQGA1UECgwNSW5maW5pZGF0IExURDEWMBQGA1UECwwNSW5maW5p\nZGF0IExURDEbMBkGA1UEAwwSaWJveC5pbmZpbmlkYXQuY29tMRkwFwYKCZImiZPy\nLGQBGRYJaW5maW5pZGF0MRMwEQYKCZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv0fiLEmFEELvm9tvCFkaEXTY/4n64jrWfmK7\nYm+OLWqV/Aq1/cK2buW06G/7viOXdXeUbolMbgWiwGUNswBceUKLzhtFuevxvlOv\nCe/b9AKfGvKJc29aweVGsnUFMimIPODMYQ7EVkzSKLcDZU+18mcy3srLn/HK9WGe\nhZb95khpE3pjA4Rqf0f3ae5zl5P4H4odtUfsCQrAyeV4e7V6ZyExxuIP3Km+wIc4\nuxkZvVxq/9p+MgrbAtN1MS8wtYhEL+XlPGGoXtxY03WURLOEmMr06Wz5W8gPWX51\n0VgPAueHH07lsPi+HskWnmjuowOF7yDyw7boa2vQbCLOttee1QIDAQABo0MwQTAL\nBgNVHQ8EBAMCBDAwEwYDVR0lBAwwCgYIKwYBBQUHAwEwHQYDVR0OBBYEFDUaRTNa\nmKJ7KcjQncdxC8EHCGvUMA0GCSqGSIb3DQEBCwUAA4IBAQBaOriBlHM1w2SWPOVe\n9PxvDsUwZbI9+A6Ec/OoBEyCUdqq5yDUVPxYmDZmXvyTG0jIpUAljbObONYnL7L0\nJ98AcgC95N88xnZax11h1o0VRw5dO5hGzCA0wM72xgb/K9Pmir+vBCp5b+DEUb9z\nS+sip2skuqLodcVw4J8sEvVFg89GH1JI7OnZSF+4q/m/qrUG91jnw3bjPExP8UYH\nwrgd/CiqkkJ8F7RAPPbE89vRIHfj7vdzLCn8jBO8IW5cAkjY3fgssQ8urWNpPQut\ndbC+FPDecPx1x51mUsPd/qKCM66cwJPVTgXFOl8jNt72fmO7behwWEZ69A6+p1xZ\neOkf\n-----END CERTIFICATE-----\n", "version": 3, "signature_algorithm": "SHA256WITHRSA", "serial_number": "7790B9DCBA8E4BCB39CD83934F17E7D2A04DBB3B", "expired": false, "expires_on": 1979135911000 } }, "error": null } Errors INVALID_CERTIFICATE HTTP 400 Certificate is invalid. Reason: N/A MALFORMED_CONTENT HTTP 400 The request content is malformed MALFORMED_KEY HTTP 400 The key provided is malformed or in unsupported format UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges APPROVAL_REQUIRED HTTP 403 Uploading a new SSL certificate requires restarting the S3 service S3 User Credential Create S3 User Credential Description Create a new S3 user credential API Endpoint POST api/rest/s3_credentials URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "user_id": 17814 } Returns { "metadata": { "ready": true }, "result": { "access_key": "tTlXnDKR2WARITOxZWkK", "status": "ENABLED", "user_id": 17814, "description": null, "last_used": null, "tenant_id": 1, "created_at": 1774522132116, "updated_at": 1774522132116, "account_name": "auto-s3Acct-95486a8d-29ad-", "secret_key": "+MUd/E43ShMCPHL25g3+3GaBu6JaPHS+OkMZCO7u", "user_name": "auto-s3User-c9b4", "id": 17816 }, "error": null } Errors PARAMETER_CONFLICT HTTP 400 Parameter 'description' does not meet a condition: 'contains unsupported characters' MISSING_FIELD HTTP 400 A field ('user_id') is missing in an object passed MALFORMED_PARAMETER HTTP 400 A parameter ('user_id') could not be translated to an expected type UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-01b3ad90-b' is forbidden to modify S3 account 'auto-s3Acct-3728d828-3e5e-' S3_USER_NOT_FOUND HTTP 404 S3 user not found S3_CREDENTIALS_PER_USER_COUNT_LIMIT HTTP 409 A new credential cannot be added to S3 user 'auto-s3User-b7fc' in account 'auto-s3Acct-8a7fc4da-0faf-'. The user already has the maximum number of credentials allowed S3_ACCESS_KEY_TOO_LONG HTTP 409 The access key cannot contain more than 128 characters S3_ACCESS_KEY_TOO_SHORT HTTP 409 The access key must contain at least 3 characters S3_ACCESS_KEY_CONFLICT HTTP 409 Access key 'duplicateAccessKey' is already in use by user 'auto-s3User-0dbf' S3_SECRET_KEY_INVALID_CHARACTERS HTTP 409 A secret key can only contain printable ASCII characters S3_SECRET_KEY_TOO_LONG HTTP 409 The secret key cannot contain more than 64 characters S3_SECRET_KEY_TOO_SHORT HTTP 409 The secret key must contain at least 10 characters S3_ACCESS_KEY_INVALID_CHARACTERS HTTP 409 An access key can only contain lower and upper case letters, numbers, hyphen(-), plus(+), period(.), dollar($), hash(#) and underscore(_) characters S3_DESCRIPTION_TOO_LONG HTTP 409 The description cannot be more than 256 characters Delete S3 User Credential Description Delete an S3 user credential by ID Approval required This is a dangerous operation Deleting S3 credential 'accessKey' will cause applications using this credential to lose access to S3 buckets API Endpoint DELETE api/rest/s3_credentials/{id} URL Parameters id long ID of the S3 user credential Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "access_key": "kalwdRQUeFnpdHMcbekw", "status": "ENABLED", "user_id": 19629, "description": "test description", "last_used": 1774522281918, "tenant_id": 1, "created_at": 1774522281897, "updated_at": 1774522281969, "account_name": "auto-s3Acct-3728d828-3e5e-", "user_name": "auto-s3User-ea18", "id": 19631 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-01b3ad90-b' is forbidden to modify S3 user credential 'MOZmuhvNS3k+kpV+ViaI' APPROVAL_REQUIRED HTTP 403 Deleting S3 credential 'myAccessKey' will cause applications using this credential to lose access to S3 buckets UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN S3_CREDENTIAL_NOT_FOUND HTTP 404 S3 credential not found Get all S3 User Credentials Description Get all S3 user credential Filterable and Sortable fields:access_key,created_at,description,id,status,updated_at. API Endpoint GET api/rest/s3_credentials URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "access_key": "gbiRBoQdVPWvInmzzKTt", "status": "ENABLED", "user_id": 19382, "description": null, "last_used": 1774522248250, "tenant_id": 1, "created_at": 1774522247933, "updated_at": 1774522247933, "account_name": "account1", "user_name": "user1", "id": 19387 }, { "access_key": "Obr2oujLHjbrbS7bxOaW", "status": "ENABLED", "user_id": 19382, "description": null, "last_used": 1774522248250, "tenant_id": 1, "created_at": 1774522248035, "updated_at": 1774522248035, "account_name": "account1", "user_name": "user1", "id": 19388 }, { "access_key": "kVZXumsNYAGd4VGL53DI", "status": "ENABLED", "user_id": 19382, "description": null, "last_used": 1774522248250, "tenant_id": 1, "created_at": 1774522248102, "updated_at": 1774522248102, "account_name": "account1", "user_name": "user1", "id": 19389 }, { "access_key": "jhnNEihpcLXimSk3TKLN", "status": "ENABLED", "user_id": 19385, "description": null, "last_used": 1774522248250, "tenant_id": 1, "created_at": 1774522248161, "updated_at": 1774522248161, "account_name": "account2", "user_name": "user2", "id": 19390 }, { "access_key": "ZykGPBrZvHbAQJCAJOBt", "status": "ENABLED", "user_id": 19385, "description": null, "last_used": 1774522248250, "tenant_id": 1, "created_at": 1774522248231, "updated_at": 1774522248231, "account_name": "account2", "user_name": "user2", "id": 19391 } ], "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('secret_key') Get S3 User Credential Description Get an S3 user credential by ID API Endpoint GET api/rest/s3_credentials/{id} URL Parameters id long ID of the S3 user credential Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "access_key": "KUqDr+VF+w63mLHjFojQ", "status": "ENABLED", "user_id": 19801, "description": null, "last_used": 1774522305399, "tenant_id": 1, "created_at": 1774522305378, "updated_at": 1774522305378, "account_name": "auto-s3Acct-4caf42df-7b4e-", "user_name": "auto-s3User-0752", "id": 19803 }, "error": null } Errors S3_CREDENTIAL_NOT_FOUND HTTP 404 S3 credential not found Update S3 User Credential Attributes Description Update an S3 user credential attributes by ID Approval required This is a dangerous operation Disabling S3 credential 'accessKey' will cause applications using this credential to lose access to S3 buckets API Endpoint PUT api/rest/s3_credentials/{id} URL Parameters id long ID of the S3 user credential Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "description": "test description" } Returns { "metadata": { "ready": true }, "result": { "access_key": "wwPmaMO7EptnpZqulmW3", "status": "ENABLED", "user_id": 19603, "description": "test description", "last_used": 1774522277376, "tenant_id": 1, "created_at": 1774522277358, "updated_at": 1774522277411, "account_name": "auto-s3Acct-7c90085b-a2f4-", "user_name": "auto-s3User-84f7", "id": 19605 }, "error": null } Errors PARAMETER_CONFLICT HTTP 400 Parameter 'description' does not meet a condition: 'contains unsupported characters' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('access_key') UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for TECHNICIAN USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-01b3ad90-b' is forbidden to modify S3 account 'auto-s3Acct-3728d828-3e5e-' APPROVAL_REQUIRED HTTP 403 Disabling S3 credential 'qINjmVBzacjQbBSytqCy' will cause applications using this credential to lose access to S3 buckets S3_CREDENTIAL_NOT_FOUND HTTP 404 S3 credential not found S3_DESCRIPTION_TOO_LONG HTTP 409 The description cannot be more than 256 characters S3 User Create S3 User Description Create a new S3 user API Endpoint POST api/rest/s3_users URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "name": "s3user1", "account_id": 10271 } Returns { "metadata": { "ready": true }, "result": { "status": "ENABLED", "last_used": null, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774521159309, "account_id": 10271, "account_name": "s3acct1", "is_root": false, "canonical_id": "3360e3614ee5dc34d91cddaf6034d53900f2734810bbb4cff8dd0c10b1a8c92e", "gid": null, "created_at": 1774521159309, "num_credentials": 0, "id": 10272, "name": "s3user1" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('account_id') could not be translated to an expected type INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 20 characters UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('canonical_id') MISSING_FIELD HTTP 400 A field ('account_id') is missing in an object passed S3_ACCOUNT_NOT_FOUND HTTP 404 S3 account not found S3_USER_NAME_CONFLICT HTTP 409 S3 user 's3-user' already exists in account 'auto-s3Acct-d802d88c-88a2-' S3_USERS_PER_ACCOUNT_COUNT_LIMIT HTTP 409 A new S3 user cannot be created in account 'auto-s3Acct-3e08ae85-07dc-'. The system has reached the maximum number of users per S3 account S3_USERS_PER_SYSTEM_COUNT_LIMIT HTTP 409 A new S3 user cannot be created. The system has reached the maximum number of S3 users S3_DESCRIPTION_TOO_LONG HTTP 409 The description cannot be more than 256 characters Delete S3 User Description Delete an S3 user by ID Approval required This is a dangerous operation Deleting S3 user 's3UserName' will permanently delete this user's credentials API Endpoint DELETE api/rest/s3_users/{id} URL Parameters id long ID of the S3 user Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522093058, "account_id": 17524, "account_name": "auto-s3Acct-71dd26d9-4020-", "is_root": false, "canonical_id": "83a1a0b35841990d92dc192e9982668fd1e8b4fc890f8ad944e49f6796cae5f9", "gid": null, "created_at": 1774522093058, "num_credentials": 0, "id": 17525, "name": "auto-s3User-6d14" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting S3 user 'auto-s3User-c9b4' will permanently delete this user's credentials Get all S3 Users Description Get all S3 users Filterable and Sortable fields:canonical_id,created_at,description,gid,id,is_root,name,status,uid,updated_at. API Endpoint GET api/rest/s3_users URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522110239, "account_id": 17658, "account_name": "auto-s3Acct-16bcc679-4e3d-", "is_root": false, "canonical_id": "9f569455a95962ae7cca83d0747425ad9f4aab376dacf23f98bec5410e415ef4", "gid": null, "created_at": 1774522110239, "num_credentials": 0, "id": 17659, "name": "auto-s3User-750a" }, { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522110508, "account_id": 17661, "account_name": "auto-s3Acct-2adc68a4-f460-", "is_root": false, "canonical_id": "21182e4565e789629104f646752eb39035e9cc78ef199b50bf3b4146e3152322", "gid": null, "created_at": 1774522110508, "num_credentials": 0, "id": 17662, "name": "auto-s3User-c792" }, { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522110697, "account_id": 17664, "account_name": "auto-s3Acct-eba1d744-df00-", "is_root": false, "canonical_id": "6a7cea4e327b8f981f2d0765a5ffdb1427945caa37c634d62f0b3f0f46ddc830", "gid": null, "created_at": 1774522110697, "num_credentials": 0, "id": 17665, "name": "auto-s3User-e25c" }, { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522111016, "account_id": 17667, "account_name": "auto-s3Acct-c4805fb6-2db8-", "is_root": false, "canonical_id": "49e6e261b6aa9008ea16d9199c0ad96660352fc04c803347fa26f7a753efe62c", "gid": null, "created_at": 1774522111016, "num_credentials": 0, "id": 17668, "name": "auto-s3User-5dba" }, { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522111158, "account_id": 17670, "account_name": "auto-s3Acct-a35e61a6-ac9a-", "is_root": false, "canonical_id": "88d48218c043287c4cb2a60cb003d48c6af92c82c92c2c152644747e4be7f0b5", "gid": null, "created_at": 1774522111158, "num_credentials": 0, "id": 17671, "name": "auto-s3User-a570" } ], "error": null } Errors See general list of error codes. Get S3 User Description Get an S3 user by ID API Endpoint GET api/rest/s3_users/{id} URL Parameters id long ID of the S3 user Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "status": "DISABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": "test get s3-user by id", "updated_at": 1774522098862, "account_id": 17568, "account_name": "auto-s3Acct-3585bdc0-3035-", "is_root": true, "canonical_id": "cd0095bb721b22419e23eb0ae36199c9b81c0b6d86ae0790896c15ca9508cb82", "gid": null, "created_at": 1774522098862, "num_credentials": 0, "id": 17569, "name": "s3-user" }, "error": null } Errors S3_USER_NOT_FOUND HTTP 404 S3 user not found Update S3 User Attributes Description Update an S3 user attributes by ID Approval required This is a dangerous operation Disabling S3 user 's3UserName' will cause applications using this user's credentials to lose access to S3 buckets API Endpoint PUT api/rest/s3_users/{id} URL Parameters id long ID of the S3 user Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "is_root": null } Returns { "metadata": { "ready": true }, "result": { "status": "ENABLED", "last_used": 1743586166, "uid": null, "tenant_id": 1, "description": null, "updated_at": 1774522102591, "account_id": 17596, "account_name": "auto-s3Acct-3de37ea1-b133-", "is_root": false, "canonical_id": "27bddb8f61c09785b9662e7015a04a7acc4c3b9117c26bb52241cd6d59d8920b", "gid": null, "created_at": 1774522102420, "num_credentials": 0, "id": 17597, "name": "auto-s3User-65c2" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('account_id') PARAMETER_CONFLICT HTTP 400 Parameter 'uid' does not meet a condition: 'once set cannot be modified' MALFORMED_CONTENT HTTP 400 The request content is malformed WRONG_PARAMETER HTTP 400 The value (-1) of parameter 'uid' does not meet a condition: 'must be greater than or equal to 0' MALFORMED_PARAMETER HTTP 400 A parameter ('is_root') could not be translated to an expected type UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Set UID and GID are not allowed for [ADMIN] APPROVAL_REQUIRED HTTP 403 Disabling S3 user 's3-user' will cause applications using this user's credentials to lose access to S3 buckets S3_USER_ALREADY_ENABLED HTTP 409 S3 user 's3-user' is already enabled S3_DESCRIPTION_TOO_LONG HTTP 409 The description cannot be more than 256 characters S3_USER_ALREADY_DISABLED HTTP 409 S3 user 's3-user' is already disabled San Clients Get all San Clients Description Get all of the SAN Clients in the system. Filterable and Sortable fields: API Endpoint GET api/rest/san_clients URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "luns": [], "path_health": "NOT_OK", "hosts_count": 3, "name": "cluster6", "resiliency": "DISCONNECTED", "tenant_id": 1, "created_at": 1774519752951, "host_type": "DEFAULT", "updated_at": 1774519752951, "san_client_type": "CLUSTER", "hosts": [ { "luns": [], "resiliency": "DISCONNECTED", "ports_count": 1, "host_type": "DEFAULT", "updated_at": 1774519752775, "port_type": [ "FC" ], "id": 1005, "paths": 0, "security_chap_inbound_username": null, "min_expected_paths": 0, "subsystem_nqn": null, "path_health": "NONE", "security_chap_outbound_username": null, "security_method": "NONE", "is_min_expected_paths_user_set": false, "san_client_type": "HOST", "optimized": true, "host_cluster_id": 1006, "name": "host6", "tenant_id": 1, "created_at": 1774519752775, "ports_disconnected": 1, "security_chap_has_inbound_secret": false, "luns_count": 0, "ports": [ { "host_id": 1005, "type": "FC", "address": "aaaaaaaaaaaa001a" } ], ... TRUNCATED ... Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('ports_count') UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'GT' is not supported by this resource Schedule Create Schedule Description Create a new schedule API Endpoint POST api/rest/snapshot_policies/{snapshot_policy_id}/schedules URL Parameters snapshot_policy_id long Snapshot policy id Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": "auto-schedule--0ad23581-c7", "interval": 1, "enabled": true, "lock_snapshots": false, "type": "PERIODIC", "retention": 3600 } Returns { "metadata": { "ready": true }, "result": { "name": "auto-schedule--0ad23581-c7", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774519233842, "interval": 1, "enabled": true, "updated_at": 1774519233842, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 182, "type": "PERIODIC", "id": 183, "retention": 3600 }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (86400) of parameter 'time_of_day' does not meet a condition: 'must be less than or equal to 86399' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MALFORMED_PARAMETER HTTP 400 A parameter ('retention') could not be translated to an expected type SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found SCHEDULES_IN_SNAPSHOT_POLICY_COUNT_LIMIT HTTP 409 The maximum number of snapshot schedules has been reached for this policy SCHEDULE_INTERVAL_INVALID HTTP 409 The interval between snapshots must be between '3600' seconds and '2592000' seconds SCHEDULES_COUNT_LIMIT HTTP 409 The maximum number of snapshot schedules has been reached. A new snapshot schedule cannot be added SNAPSHOT_SCHEDULE_NAME_CONFLICT HTTP 409 A snapshot schedule named 'unique' already exists SCHEDULE_RETENTION_INVALID HTTP 409 Snapshots must be deleted within '3600' seconds and '31536000' seconds Delete Schedule Description Delete a schedule by id Approval required This is a dangerous operation If the schedule is deleted, it will no longer trigger snapshot creation API Endpoint DELETE api/rest/snapshot_policies/{snapshot_policy_id}/schedules/{id} URL Parameters snapshot_policy_id long Snapshot policy id id Long Schedule id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-schedule--847c6747-d4", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774522183652, "interval": 3600, "enabled": true, "updated_at": 1774522183652, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 18121, "type": "PERIODIC", "id": 18122, "retention": 3600 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 If the schedule is deleted, it will no longer trigger snapshot creation SNAPSHOT_SCHEDULE_NOT_FOUND HTTP 404 Snapshot schedule not found SCHEDULE_NOT_RELATED_TO_SNAPSHOT_POLICY HTTP 404 The schedule is not related to policy 'daily' SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found Disable Schedule Description Disable policy's schedule API Endpoint POST api/rest/snapshot_policies/{snapshot_policy_id}/schedules/{id}/disable URL Parameters snapshot_policy_id long Snapshot policy id id Long Schedule id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-schedule--7b96fc02-3a", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774522361285, "interval": 3600, "enabled": false, "updated_at": 1774522361683, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 20251, "type": "PERIODIC", "id": 20252, "retention": 3600 }, "error": null } Errors SCHEDULE_NOT_RELATED_TO_SNAPSHOT_POLICY HTTP 404 The schedule is not related to policy 'hourly-2' SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found Enable Schedule Description Enable policy's schedule API Endpoint POST api/rest/snapshot_policies/{snapshot_policy_id}/schedules/{id}/enable URL Parameters snapshot_policy_id long Snapshot policy id id Long Schedule id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-schedule--38825c56-17", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774522334648, "interval": 3600, "enabled": true, "updated_at": 1774522335040, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 20021, "type": "PERIODIC", "id": 20022, "retention": 3600 }, "error": null } Errors SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found SCHEDULE_NOT_RELATED_TO_SNAPSHOT_POLICY HTTP 404 The schedule is not related to policy 'hourly-2' Get all Schedules In Snapshot Policy Description Get all policy's schedules API Endpoint GET api/rest/snapshot_policies/{snapshot_policy_id}/schedules URL Parameters snapshot_policy_id long Snapshot policy id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "name": "Six-Hourly", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774521681067, "interval": 21600, "enabled": true, "updated_at": 1774521681067, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 11294, "type": "PERIODIC", "id": 11295, "retention": 86400 }, { "name": "Daily", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774521681067, "interval": 86400, "enabled": true, "updated_at": 1774521681067, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 11294, "type": "PERIODIC", "id": 11296, "retention": 604800 } ], "error": null } Errors See general list of error codes. Get Schedule Description Get a schedule by id API Endpoint GET api/rest/snapshot_policies/{snapshot_policy_id}/schedules/{id} URL Parameters snapshot_policy_id long Snapshot policy id id Long Schedule id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "auto-schedule--14274bb3-68", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774522332339, "interval": 3600, "enabled": true, "updated_at": 1774522332339, "day_of_week": "SUNDAY", "time_of_day": 1000, "snapshot_policy_id": 20000, "type": "CLOCK", "id": 20001, "retention": 3600 }, "error": null } Errors SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found SNAPSHOT_SCHEDULE_NOT_FOUND HTTP 404 Snapshot schedule not found SCHEDULE_NOT_RELATED_TO_SNAPSHOT_POLICY HTTP 404 The schedule is not related to policy 'hourly2' Search Search Description API Endpoint GET api/rest/search URL Parameters query String type String Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 10, "pages_total": 1, "page": 1, "page_size": 10 }, "result": [ { "keywords": null, "properties": {}, "type": "host", "id": 1000, "name": "auto-Host4Test-1ce57d96-11" }, { "keywords": null, "properties": {}, "type": "host", "id": 1001, "name": "auto-Host4Test-07fabeaa-0e" }, { "keywords": null, "properties": {}, "type": "host", "id": 1002, "name": "auto-Host4Test-a3c34da6-bf" }, { "keywords": null, "properties": {}, "type": "host", "id": 1003, "name": "auto-Host4Test-7e5b4e05-a2" }, { "keywords": null, "properties": {}, "type": "host", "id": 1004, "name": "auto-Host4Test-38a5a68a-47" }, { "keywords": null, "properties": {}, "type": "host", "id": 1005, "name": "auto-Host4Test-4bac4b26-b9" }, { "keywords": null, "properties": {}, "type": "host", "id": 1006, "name": "auto-Host4Test-d70ee58c-10" }, { "keywords": null, "properties": {}, "type": "host", "id": 1007, "name": "auto-Host4Test-e515c641-83" }, { "keywords": null, "properties": {}, "type": "host", "id": 1008, "name": "auto-Host4Test-85390483-eb" }, { "keywords": null, "properties": {}, "type": "host", "id": 1009, "name": "auto-Host4Test-4a510bb6-5e" } ], "error": null } Errors MAX_PAGE_SIZE_VIOLATION HTTP 400 Requested page size 1001 exceeds range 1..1000 for command 'Search' UNSEARCHABLE_TYPE HTTP 400 Requested entity type 'users' is not searchable Share Add Ace to Share Root Folder Acl Description Add an ACE to the ACL of the root folder of the share API Endpoint POST api/rest/shares/{shareId}/folder_acl_add URL Parameters shareId long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "principal": "S-1-5-21-1234-5678-3579-555", "permissions": "FULLCONTROL" } Returns { "metadata": { "ready": true }, "result": { "filesystem_id": 1004, "share_id": 1005, "permissions": "FULLCONTROL", "principal": "S-1-5-21-1234-5678-3579-555" }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for READ_ONLY USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-7a1d3c8f-3' is forbidden to modify share 'smb-share-3363586885011055' DACL_EDIT_ON_REPLICATION_TARGET_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB shares on replication target filesystems do not support ACL queries or edits DACL_EDIT_PRINCIPAL_ALREADY_EXISTS HTTP 409 An ACE for principal 'S-1-5-21-1234-5678-3579-555' already exists in the ACL of the root folder of SMB share 'smb-share-3363586885011055'. To modify it, remove the existing ACE, and add the new one DACL_COMMAND_FAILED HTTP 409 Shared folder ACL command failed: DUMMY_RESON DACL_EDIT_SHARE_ON_WRITE_PROTECTED_FILESYSTEM_NOT_SUPPORTED HTTP 409 Cannot modify the ACL of the root folder of SMB share 'smb-share-3363586885011055', which is defined on the write protected filesystem 'auto-filesystem--06b69851-' DACL_EDIT_SHARE_ON_UNIX_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB share 'smb-share-3363586653089086' is defined on UNIX security-style filesystem 'auto-filesystem--bc5ded09-', which does not support ACLs Create a New Share Description Create a new share API Endpoint POST api/rest/shares URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "filesystem_id": 1001, "name": "smb-share-3362654115660605" } Returns { "metadata": { "ready": true }, "result": { "inner_path": "/", "created_at": 1774519084942, "name": "smb-share-3362654115660605", "offline_caching": "MANUAL", "encryption": false, "description": "", "enabled": true, "default_folder_unix_permissions": null, "default_file_unix_permissions": null, "updated_at": 1774519084942, "leases_enabled": true, "is_home_share": false, "access_based_enumeration": false, "tenant_id": 1, "filesystem_id": 1001, "permissions": [ { "access": "FULLCONTROL", "share_id": 1002, "id": 385, "sid": "S-1-1-0" } ], "id": 1002, "snapdir_visible": true }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('user_directory') WRONG_PARAMETER HTTP 400 The value (null) of parameter 'access_based_enumeration' does not meet a condition: 'must be valid boolean' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 80 characters MALFORMED_PARAMETER HTTP 400 A parameter ('user_directory') could not be translated to an expected type MISSING_FIELD HTTP 400 A field ('internal_base_path') is missing in an object passed ILLEGAL_PATH_VALUE HTTP 400 The value '"illegal"' of 'inner_path' is illegal USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify filesystem 'auto-filesystem--bf33b29f-' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found SHARE_NOT_FOUND HTTP 404 Share not found FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--20b3e977-') SHARE_NAME_IS_RESERVED HTTP 409 The share name 'IPC$' is a reserved name and cannot be used USER_DIR_AUTO_CREATE_FOR_UNIQUE_SHARENAME_ONLY HTTP 409 User directory auto creation cannot be enabled for more than one home share of the same name INTERNAL_PATH_DOES_NOT_EXIST HTTP 409 Internal path 'N/A' does not exist within filesystem 'N/A'. FS_ID N/A, export ID N/A INCORRECT_FILESYSTEM_FOR_HOME_SHARE HTTP 409 Home shares can only be created on WINDOWS security-style filesystems CANNOT_CREATE_SHARE_FOR_UNESTABLISHED_SNAPSHOT HTTP 409 Cannot create a share for an unestablished snapshot 'auto-reclaim-rc-10494.0001-10495-1774521321494' HOME_SHARES_NOT_ALLOWED_ON_SNAPSHOTS HTTP 409 Home shares cannot be created on snapshots INVALID_HOME_SHARE_EXPANSION_TEMPLATE HTTP 409 Home share 'name' may contain up to one occurrence of each of the expansion variables (%u, %d/%D, %0, %1, %2) and must end in %u SHARING_SNAPSHOT_DIRECTORY_NOT_ALLOWED HTTP 409 A share's internal path cannot contain the '.snapshot' folder. You can create the share directly on the filesystem snapshot SUSPICIOUS_FILESYSTEM_SHARE HTTP 409 A UNIX security-style filesystem can only have SMB shares if it already has NFS exports. Either create an NFS export on this filesystem, or create the SMB shares on a WINDOWS security-style filesystem CREATE_SHARE_WITH_ROOT_ACCESS_AND_SQUASH_ALL HTTP 409 Root access cannot be granted when 'Squash all users and groups' is on. Share ID '1' SHARE_INVALID_INTERNAL_PATH HTTP 409 'N/A' is not a valid internal path. Filesystem ID 'N/A'. Share ID '1' NFSV4_EXPORT_AND_SMB_SHARE_CONFLICT HTTP 409 A filesystem cannot have both SMB shares and NFSv4 exports INVALID_SHARE_PATH HTTP 409 'N/A' is not a valid share name. Filesystem ID 'N/A'. Share ID '1' SHARE_NAME_CONFLICT HTTP 409 A share named 'test-%u' already exists SHARE_INTERNAL_PATH_NOT_DIR HTTP 409 Internal path 'N/A' is not a directory within filesystem 'N/A' SHARE_ILLEGAL_VALUE HTTP 409 'null' is not a valid user_dir_auto_create in the SMB share 'test-%u' SHARE_INVALID_NAME HTTP 409 This share name is invalid: cannot be comprised of only dots SMB_UNIX_DEFAULTS_ON_WIN_FS_REJECTED HTTP 409 UNIX file and folder default permissions are not relevant for shares on a Windows filesystem SHARE_FILESYSTEM_COUNT_LIMIT HTTP 409 A new share cannot be created. The filesystem has reached the maximum number of shares HOME_SHARE_CONFLICT HTTP 409 A home share with this name and base path already exists on this filesystem SHARE_COUNT_LIMIT HTTP 409 A new share cannot be created. The system has reached the maximum number of shares INVALID_HOME_SHARE_BASE_PATH HTTP 409 Home share base path must be an existing directory and begin with a '/' Create a New Share Permission Description Create a new share permission API Endpoint POST api/rest/shares/{shareId}/permissions URL Parameters shareId long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "access": "READWRITE", "sid": "S-1-5-1234567890-12345-642" } Returns { "metadata": { "ready": true }, "result": { "access": "READWRITE", "share_id": 1002, "id": 2536, "sid": "S-1-5-1234567890-12345-642" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('test') MALFORMED_PARAMETER HTTP 400 A parameter ('access') could not be translated to an expected type MISSING_FIELD HTTP 400 A field ('access') is missing in an object passed USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify share 'existing-share' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges SHARE_NOT_FOUND HTTP 404 Share not found SHARE_PERMISSION_ALREADY_DEFINED_FOR_SID HTTP 409 Share 'test-share' permissions for SID 'S-1-5-1234567890-12345-642' are already defined SHARE_PERMISSION_COUNT_LIMIT HTTP 409 New SMB permissions cannot be added to the share 'test-share'. The share has reached the maximum number of permissions SHARE_PERMISSION_INVALID_SID HTTP 409 'S-1-5-x21-115588' is not a valid SID Delete a Share Description Delete a share Approval required This is a dangerous operation Deleting shareType 'shareName' will cause all clients using this share to disconnect API Endpoint DELETE api/rest/shares/{id} URL Parameters id long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "inner_path": "/home/%d/%u", "created_at": 1774519378780, "user_directory": "%d/%u", "name": "test-%u", "tenant_id": 1, "offline_caching": "MANUAL", "encryption": false, "description": "", "enabled": true, "default_folder_unix_permissions": null, "default_file_unix_permissions": null, "updated_at": 1774519379124, "leases_enabled": true, "is_home_share": true, "access_based_enumeration": true, "internal_base_path": "/home", "filesystem_id": 1001, "permissions": [ { "access": "FULLCONTROL", "share_id": 1002, "id": 2264, "sid": "S-1-1-0" } ], "user_dir_auto_create": false, "id": 1002, "snapdir_visible": false }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify share 'existing-share' ACTION_NOT_ALLOWED_FOR_ROLE HTTP 403 User with role [ADMIN] is not allowed to perform this action APPROVAL_REQUIRED HTTP 403 Deleting home share 'test-%u' will cause all clients using this share to disconnect UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges SHARE_NOT_FOUND HTTP 404 Share not found FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--20b3e977-') Delete a Share Permission Description Delete a share permission API Endpoint DELETE api/rest/shares/{shareId}/permissions/{id} URL Parameters shareId long ID of the share id long ID of the permission Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "access": "FULLCONTROL", "share_id": 1002, "id": 2710, "sid": "S-1-1-0" }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify share permission '[sid=S-1-5-12345-1, access=READWRITE]' SHARE_PERMISSION_NOT_FOUND HTTP 404 Share permissions not found SHARE_NOT_FOUND HTTP 404 Share not found Get a Share Description Get a share by ID API Endpoint GET api/rest/shares/{id} URL Parameters id long ID of the share Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "inner_path": "/home/%d/%u", "created_at": 1774519418688, "user_directory": "%d/%u", "name": "test-%u", "tenant_id": 1, "offline_caching": "MANUAL", "encryption": false, "description": "", "enabled": true, "default_folder_unix_permissions": null, "default_file_unix_permissions": null, "updated_at": 1774519418688, "leases_enabled": true, "is_home_share": true, "access_based_enumeration": true, "internal_base_path": "/home", "filesystem_id": 1001, "permissions": [ { "access": "FULLCONTROL", "share_id": 1002, "id": 2516, "sid": "S-1-1-0" } ], "user_dir_auto_create": false, "id": 1002, "snapdir_visible": false }, "error": null } Errors SHARE_NOT_FOUND HTTP 404 Share not found Get a Share Permission Description Get a share permission by ID API Endpoint GET api/rest/shares/{shareId}/permissions/{id} URL Parameters shareId long ID of the share id long ID of the permission Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "access": "READWRITE", "share_id": 1002, "id": 2863, "sid": "S-1-5-1234567890-12345-642" }, "error": null } Errors SHARE_PERMISSION_NOT_FOUND HTTP 404 Share permissions not found SHARE_NOT_FOUND HTTP 404 Share not found Get all Shares Description Get all shares Filterable and Sortable fields:access_based_enumeration,created_at,default_file_unix_permissions,default_folder_unix_permissions,description,enabled,encryption,id,inner_path,leases_enabled,name,offline_caching,snapdir_visible,updated_at. API Endpoint GET api/rest/shares URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "inner_path": "/home/%d/%u", "created_at": 1774519407003, "user_directory": "%d/%u", "name": "%u", "tenant_id": 1, "offline_caching": "MANUAL", "encryption": false, "description": "", "enabled": true, "default_folder_unix_permissions": null, "default_file_unix_permissions": null, "updated_at": 1774519407003, "leases_enabled": true, "is_home_share": true, "access_based_enumeration": true, "internal_base_path": "/home", "filesystem_id": 1001, "permissions": [ { "access": "FULLCONTROL", "share_id": 1003, "id": 2441, "sid": "S-1-1-0" } ], "user_dir_auto_create": false, "id": 1003, "snapdir_visible": false } ], "error": null } Errors See general list of error codes. Get Share Permissions Description Get all permissions of a share Filterable and Sortable fields:access_based_enumeration,created_at,default_file_unix_permissions,default_folder_unix_permissions,description,enabled,encryption,id,inner_path,leases_enabled,name,offline_caching,snapdir_visible,updated_at. API Endpoint GET api/rest/shares/{shareId}/permissions URL Parameters shareId long ID of the share Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "access": "FULLCONTROL", "share_id": 1002, "id": 2710, "sid": "S-1-1-0" } ], "error": null } Errors SHARE_NOT_FOUND HTTP 404 Share not found Get Share Root Folder Acl Description Get the ACL details of the root folder of a share Filterable and Sortable fields:access_based_enumeration,created_at,default_file_unix_permissions,default_folder_unix_permissions,description,enabled,encryption,id,inner_path,leases_enabled,name,offline_caching,snapdir_visible,updated_at. API Endpoint GET api/rest/shares/{shareId}/folder_acl URL Parameters shareId long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 6, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "filesystem_id": 1004, "share_id": 1005, "permissions": "FULLCONTROL", "principal": "S-1-5-21-1234-5678-3579-101" }, { "filesystem_id": 1004, "share_id": 1005, "permissions": "READEXECUTE", "principal": "S-1-5-21-1234-5678-3579-102" }, { "filesystem_id": 1004, "share_id": 1005, "permissions": "FULLCONTROL", "principal": "S-1-5-21-1234-5678-3579-103" }, { "filesystem_id": 1004, "share_id": 1005, "permissions": "OTHER", "principal": "S-1-5-21-1234-5678-3579-111" }, { "filesystem_id": 1004, "share_id": 1005, "permissions": "OTHER", "principal": "S-1-5-21-1234-5678-3579-112" }, { "filesystem_id": 1004, "share_id": 1005, "permissions": "OTHER", "principal": "S-1-5-21-1234-5678-3579-113" } ], "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges DACL_EDIT_ON_REPLICATION_TARGET_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB shares on replication target filesystems do not support ACL queries or edits DACL_COMMAND_FAILED HTTP 409 Shared folder ACL command failed: DUMMY_RESON DACL_EDIT_SHARE_ON_UNIX_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB share 'smb-share-3363752925275778' is defined on UNIX security-style filesystem 'auto-filesystem--ecc0c85f-', which does not support ACLs Remove Ace from Share Root Folder Acl Description Remove an ACE from the ACL of the root folder of the share Approval required This is a dangerous operation Removing the ACE for principal 'principal' from the ACL of the root folder of the SMB share might affect the principal's access to the share. Are you sure you want to remove it? API Endpoint POST api/rest/shares/{shareId}/folder_acl_remove URL Parameters shareId long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "principal": "S-1-5-21-1234-5678-3579-555" } Returns { "metadata": { "ready": true }, "result": { "filesystem_id": 1004, "share_id": 1005, "permissions": "FULLCONTROL", "principal": "S-1-5-21-1234-5678-3579-555" }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for READ_ONLY APPROVAL_REQUIRED HTTP 403 Removing the ACE for principal 'S-1-5-21-1234-5678-3579-555' from the ACL of the root folder of the SMB share might affect the principal's access to the share. Are you sure you want to remove it? DACL_EDIT_ON_REPLICATION_TARGET_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB shares on replication target filesystems do not support ACL queries or edits DACL_EDIT_SHARE_ON_UNIX_FILESYSTEM_NOT_SUPPORTED HTTP 409 SMB share 'smb-share-3363759970231858' is defined on UNIX security-style filesystem 'auto-filesystem--cb22b954-', which does not support ACLs DACL_EDIT_SHARE_ON_WRITE_PROTECTED_FILESYSTEM_NOT_SUPPORTED HTTP 409 Cannot modify the ACL of the root folder of SMB share 'smb-share-3363760243686263', which is defined on the write protected filesystem 'auto-filesystem--20bb8cea-' DACL_EDIT_PRINCIPAL_DOES_NOT_EXIST HTTP 409 The principal 'S-1-5-21-1234-5678-3579-555' does not exist in the ACL of the root folder of SMB share 'smb-share-3363760243686263' DACL_COMMAND_FAILED HTTP 409 Shared folder ACL command failed: DUMMY_RESON Update a Share Description Update share attributes Approval required This is a dangerous operation Disabling the shareType 'shareName' will disconnect all clients that use this share API Endpoint PUT api/rest/shares/{id} URL Parameters id long ID of the share Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "user_dir_auto_create": false } Returns { "metadata": { "ready": true }, "result": { "inner_path": "/home/%d/%u", "created_at": 1774519378780, "user_directory": "%d/%u", "name": "test-%u", "tenant_id": 1, "offline_caching": "MANUAL", "encryption": false, "description": "", "enabled": true, "default_folder_unix_permissions": null, "default_file_unix_permissions": null, "updated_at": 1774519379124, "leases_enabled": true, "is_home_share": true, "access_based_enumeration": true, "internal_base_path": "/home", "filesystem_id": 1001, "permissions": [ { "access": "FULLCONTROL", "share_id": 1002, "id": 2264, "sid": "S-1-1-0" } ], "user_dir_auto_create": false, "id": 1002, "snapdir_visible": false }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('user_dir_auto_create') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('is_home_share') APPROVAL_REQUIRED HTTP 403 Disabling the share 'test-share-on-win' will disconnect all clients that use this share UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify share 'existing-share' SHARE_NOT_FOUND HTTP 404 Share not found SMB_UNIX_DEFAULTS_ON_WIN_FS_REJECTED HTTP 409 UNIX file and folder default permissions are not relevant for shares on a Windows filesystem SHARE_ALREADY_DISABLED HTTP 409 The share 'test-share-on-win' is already disabled SHARE_ILLEGAL_VALUE HTTP 409 'null' is not a valid user_dir_auto_create in the SMB share 'test-%u' SHARE_ALREADY_ENABLED HTTP 409 The share 'test-share-on-win' is already enabled FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--20b3e977-') USER_DIR_AUTO_CREATE_FOR_UNIQUE_SHARENAME_ONLY HTTP 409 User directory auto creation cannot be enabled for more than one home share of the same name TARGET_REPLICA_SHARE_NOT_ALLOWED HTTP 409 A replica target cannot be shared Update a Share Permission Description Update a share permission API Endpoint PUT api/rest/shares/{shareId}/permissions/{id} URL Parameters shareId long ID of the share id long ID of the permission Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "access": "FULLCONTROL" } Returns { "metadata": { "ready": true }, "result": { "access": "FULLCONTROL", "share_id": 1002, "id": 3381, "sid": "S-1-5-1234567890-12345-642" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('access') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('id') USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-35b83693-5' is forbidden to modify share permission '[sid=S-1-5-12345-1, access=READWRITE]' UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges SHARE_NOT_FOUND HTTP 404 Share not found SHARE_PERMISSION_NOT_FOUND HTTP 404 Share permissions not found Smb File Lock Break Orphan Smb File Locks Description Break Orphan SMB File Locks Approval required This is a dangerous operation Breaking locks on a file may cause clients to lose data API Endpoint POST api/rest/smb/filelocks/break_orphans URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "filesystem_id": 1002, "file_path": "/" } Returns { "metadata": { "ready": true }, "result": { "locks_broken": 1234 }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('filesystem_id') is missing in an object passed APPROVAL_REQUIRED HTTP 403 Breaking locks on a file may cause clients to lose data FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found Get Smb File Lock Description Query SMB File Locks per filesystem and file path API Endpoint GET api/rest/smb/filelocks URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 15, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "domain": null, "tenant_id": 1, "handle_id": -1, "session_id": -1, "file_path": "/my-path", "share_delete": null, "share_write": null, "sid": null, "share_read": null, "number_of_locks": 3, "user_name": null, "filesystem_id": 1001 }, { "domain": "test.infinidat.com", "tenant_id": 1, "handle_id": 3000002, "session_id": 10002, "file_path": "/my-path", "share_delete": false, "share_write": false, "sid": "S-1-5-32-1003", "share_read": false, "number_of_locks": 8, "user_name": "SmbUser3", "filesystem_id": 1001 }, { "domain": "test.infinidat.com", "tenant_id": 1, "handle_id": 3000003, "session_id": 10003, "file_path": "/my-path", "share_delete": false, "share_write": true, "sid": "S-1-5-32-1010", "share_read": true, "number_of_locks": 2, "user_name": "SmbUser10", "filesystem_id": 1001 }, { "domain": "test.infinidat.com", "tenant_id": 1, "handle_id": 3000004, "session_id": 10004, "file_path": "/my-path", "share_delete": true, "share_write": false, "sid": "S-1-5-32-1009", "share_read": true, "number_of_locks": 5, "user_name": "SmbUser9", "filesystem_id": 1001 }, { "domain": "test.infinidat.com", "tenant_id": 1, "handle_id": 3000005, "session_id": 10005, "file_path": "/my-path", "share_delete": true, "share_write": false, "sid": "S-1-5-32-1000", "share_read": true, "number_of_locks": 12, "user_name": "SmbUser0", "filesystem_id": 1001 } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('session_id') MISSING_QUERY_PARAMETER HTTP 400 A query parameter ('filesystem_id') is missing in the request UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'NE' is not supported by this resource UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('filesystem_id') FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found Smb Group Create Smb Group Description Create a new SMB group API Endpoint POST api/rest/smb_groups URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "name": "smb-group-1" } Returns { "metadata": { "ready": true }, "result": { "uid": null, "tenant_id": 1, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-21-1521456151-1486674189-1912075047-1011", "domain_members": null, "id": 1011, "name": "smb-group-1" }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (4294967296) of parameter 'uid' does not meet a condition: 'must be less than or equal to 4294967295' INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'na?me' MALFORMED_PARAMETER HTTP 400 A parameter ('privileges[0]') could not be translated to an expected type INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 255 characters MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed SMB_GROUP_COUNT_LIMIT HTTP 409 A new SMB group cannot be created. The system has reached the maximum number of groups SMB_GROUP_PRIVS_HAS_DUPLICATES HTTP 409 Remove duplicate privilege assignments, such as 'SeChangeNotifyPrivilege', from the SMB group 'smb-group' SMB_GROUP_NAME_CONFLICT HTTP 409 An SMB group named 'Unique-name' already exists. Enter a different name SMB_GROUP_MEMBERS_COUNT_LIMIT HTTP 409 Cannot add a new member. The SMB group 'smb-group-2' has reached the maximum number of members SMB_GROUP_DUPLICATE_DOMAIN_MEMBERS HTTP 409 Remove the duplicate domain members from the SMB group 'smb-group-1' INVALID_SID_VALUE HTTP 409 'X-1-abc-6782' is not a valid SID. Change it in the SMB group field 'domain_members' Delete Smb Group Description Delete an SMB by group by id Approval required This is a dangerous operation Members of the SMB group 'name' will no longer have the group's privilege levels API Endpoint DELETE api/rest/smb_groups/{id} URL Parameters id Long SMB group id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "uid": null, "tenant_id": 1, "privileges": [ "SETAKEOWNERSHIPPRIVILEGE" ], "gid": null, "sid": "S-1-5-21-2909179905-2575604524-2129297214-1002", "domain_members": null, "id": 1002, "name": "smb-group-1" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Members of the SMB group 'smb-group-1' will no longer have the group's privilege levels SMB_GROUP_NOT_FOUND HTTP 404 SMB group not found SMB_GROUP_BUILTIN_CONFLICT HTTP 409 The SMB group 'Administrators' is a predefined group and cannot be deleted SMB_GROUP_HAS_MEMBERS HTTP 409 The SMB group 'smb-group-2' cannot be deleted because it has members Get all Smb Groups Description Get all of the SMB groups API Endpoint GET api/rest/smb_groups URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "uid": 0, "tenant_id": 6038, "privileges": [ "SECHANGENOTIFYPRIVILEGE", "SETAKEOWNERSHIPPRIVILEGE" ], "gid": 0, "sid": "S-1-5-32-544", "domain_members": null, "id": 51, "name": "Administrators" }, { "uid": null, "tenant_id": 6038, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-32-545", "domain_members": null, "id": 52, "name": "Users" }, { "uid": null, "tenant_id": 6038, "privileges": [], "gid": null, "sid": "S-1-5-32-546", "domain_members": null, "id": 53, "name": "Guests" }, { "uid": null, "tenant_id": 6038, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-32-547", "domain_members": null, "id": 54, "name": "Power Users" }, { "uid": null, "tenant_id": 6038, "privileges": [ "SECHANGENOTIFYPRIVILEGE", "SEBACKUPPRIVILEGE", "SERESTOREPRIVILEGE" ], "gid": null, "sid": "S-1-5-32-551", "domain_members": null, "id": 55, "name": "Backup Operators" } ], "error": null } Errors See general list of error codes. Get Smb Group Description Get an SMB group by id API Endpoint GET api/rest/smb_groups/{id} URL Parameters id Long SMB group id Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "uid": null, "tenant_id": 1, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-21-1521456151-1486674189-1912075047-1011", "domain_members": null, "id": 1011, "name": "smb-group-1" }, "error": null } Errors SMB_GROUP_NOT_FOUND HTTP 404 SMB group not found Update Smb Group Attributes Description Update SMB group attributes API Endpoint PUT api/rest/smb_groups/{id} URL Parameters id Long SMB group id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "domain_members": [ "" ] } Returns { "metadata": { "ready": true }, "result": { "uid": null, "tenant_id": 1, "privileges": [ "SETAKEOWNERSHIPPRIVILEGE" ], "gid": null, "sid": "S-1-5-21-2909179905-2575604524-2129297214-1002", "domain_members": null, "id": 1002, "name": "smb-group-1" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('privileges') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('name') WRONG_PARAMETER HTTP 400 The value (4294967296) of parameter 'uid' does not meet a condition: 'must be less than or equal to 4294967295' SMB_GROUP_NOT_FOUND HTTP 404 SMB group not found INVALID_SID_VALUE HTTP 409 '' is not a valid SID. Change it in the SMB group field 'domain_members' SMB_GROUP_PRIVS_HAS_DUPLICATES HTTP 409 Remove duplicate privilege assignments, such as 'SeChangeNotifyPrivilege', from the SMB group 'smb-group' SMB_GROUP_DUPLICATE_DOMAIN_MEMBERS HTTP 409 Remove the duplicate domain members from the SMB group 'smb-group-1' SMB_GROUP_MEMBERS_COUNT_LIMIT HTTP 409 Cannot add a new member. The SMB group 'smb-group-1' has reached the maximum number of members Smb Lease Query Smb Leases Description Query SMB Leases per filesystem and file path (those parameters are mandatory) API Endpoint GET api/rest/smb/leases URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "lease_id": "6000001", "tenant_id": 1, "handle_id": 3000001, "lease_version": "V2", "session_id": 10001, "lease_type": "RH", "domain": "test.infinidat.com", "sid": "S-1-5-32-1005", "filesystem_id": 1001, "user_name": "SmbUser5", "file_path": "/my-path" }, { "lease_id": "6000002", "tenant_id": 1, "handle_id": 3000002, "lease_version": "V2", "session_id": 10002, "lease_type": "RW", "domain": "test.infinidat.com", "sid": "S-1-5-32-1001", "filesystem_id": 1001, "user_name": "SmbUser1", "file_path": "/my-path" }, { "lease_id": "6000003", "tenant_id": 1, "handle_id": 3000003, "lease_version": "V2", "session_id": 10003, "lease_type": "RWH", "domain": "test.infinidat.com", "sid": "S-1-5-32-1005", "filesystem_id": 1001, "user_name": "SmbUser5", "file_path": "/my-path" }, { "lease_id": "6000004", "tenant_id": 1, "handle_id": 3000004, "lease_version": "V1", "session_id": 10004, "lease_type": "RWH", "domain": "test.infinidat.com", "sid": "S-1-5-32-1005", "filesystem_id": 1001, "user_name": "SmbUser5", "file_path": "/my-path" }, { "lease_id": "6000005", "tenant_id": 1, "handle_id": 3000005, "lease_version": "V1", "session_id": 10005, "lease_type": "R", "domain": "test.infinidat.com", "sid": "S-1-5-32-1003", "filesystem_id": 1001, "user_name": "SmbUser3", "file_path": "/my-path" } ], "error": null } Errors MISSING_QUERY_PARAMETER HTTP 400 A query parameter ('filesystem_id') is missing in the request FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found FILE_DOES_NOT_EXIST HTTP 409 File '/.my-path' does not exist in filesystem 'auto-filesystem--0287fd75-' INVALID_FILE_PATH HTTP 409 Invalid file path: '/dummy' Smb Get Smb Server Capabilities Description Return the SMB server capabilities Filterable and Sortable fields:max_smb_protocol,min_smb_protocol,nfsv4_support,smb_encryption,smb_lease_break_timeout,smb_leases_enable,smb_signing,tenantId. API Endpoint GET api/rest/smb/server_capabilities URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "smb_leases_enable": true, "smb_encryption": "NEGOTIATE", "tenant_id": 1, "min_smb_protocol": "SMB_2_0_2", "smb_lease_break_timeout": 60, "smb_signing": "NEGOTIATE", "max_smb_protocol": "SMB_3_1_1" } ], "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('nfsv4_support') Update Smb Server Capabilities Description Update an attribute of SMB server capabilities API Endpoint PUT api/rest/smb/server_capabilities URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "max_smb_protocol": "SMB_3_0_2" } Returns { "metadata": { "ready": true }, "result": { "smb_leases_enable": true, "smb_encryption": "NEGOTIATE", "tenant_id": 1, "min_smb_protocol": "SMB_2_0_2", "smb_lease_break_timeout": 60, "smb_signing": "NEGOTIATE", "max_smb_protocol": "SMB_3_0_2" }, "error": null } Errors INVALID_SMB_LEASE_BREAK_TIMEOUT HTTP 409 'N/A' is not a supported SMB lease break timeout value. Enter a value between 1 and N/A seconds MIN_SMB_PROTOCOL_VERSION_HIGHER_THAN_MAX_SMB_PROTOCOL_VERSION HTTP 409 The minimum SMB Protocol Version must not be higher than the maximum SMB Protocol Version, but 'SMB_3_1_1' is higher than 'SMB_3_0' MAX_SMB_PROTOCOL_VERSION_LOWER_THAN_MIN_SMB_PROTOCOL_VERSION HTTP 409 The maximum SMB Protocol Version must not be lower than the minimum SMB Protocol Version, but 'SMB_2_0_2' is lower than 'SMB_2_1' Smb Session Delete Smb Handle Description Close an SMB Handle Approval required This is a dangerous operation Closing a file handle while an application is using it may cause clients to lose data API Endpoint DELETE api/rest/smb/sessions/{sessionId}/handles/{handleId} URL Parameters sessionId long session_id handleId long handle_id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "filesystem_name": "auto-filesystem--9be533ba-", "tenant_id": 1, "handle_id": 200001, "session_id": 100001, "sid": null, "created_timestamp": 1774522269948, "user_name": null, "file_path": "/my-file-1" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Closing a file handle while an application is using it may cause clients to lose data Disconnect Smb Session Description Disconnect an SMB Session Approval required This is a dangerous operation Disconnecting an SMB session may cause the client to lose data API Endpoint DELETE api/rest/smb/sessions/{sessionId} URL Parameters sessionId long session_id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "domain": "test.infinidat.com", "login_timestamp": 1774522248921, "num_leases": 4953, "tenant_id": 1, "num_opens": 31083, "last_action_timestamp": 1774522249821, "session_id": 10001, "signing": true, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": true }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Disconnecting an SMB session may cause the client to lose data Get Smb Handle Description Get an SMB Handle API Endpoint GET api/rest/smb/sessions/{sessionId}/handles/{handleId} URL Parameters sessionId long session_id handleId long handle_id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "filesystem_name": "auto-filesystem--a8be006a-", "tenant_id": 1, "handle_id": 200001, "session_id": 10001, "sid": null, "created_timestamp": 1774522276209, "user_name": null, "file_path": "/my-file-1" }, "error": null } Errors SMB_COMMAND_FAILED_NO_SUCH_SESSION HTTP 409 The requested command failed. Session '10001' was not found SMB_COMMAND_FAILED_NO_SUCH_HANDLE HTTP 409 The requested command failed. Handle '200001' was not found in session '10001' Query Smb Handles Description Query SMB Handles API Endpoint GET api/rest/smb/sessions/{sessionId}/handles URL Parameters sessionId long session_id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 10, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200001, "session_id": 10001, "sid": null, "created_timestamp": 1774522280689, "user_name": null, "file_path": "/my-file-1" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200002, "session_id": 10001, "sid": null, "created_timestamp": 1774522279689, "user_name": null, "file_path": "/my-file-2" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200003, "session_id": 10001, "sid": null, "created_timestamp": 1774522278689, "user_name": null, "file_path": "/my-file-3" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200004, "session_id": 10001, "sid": null, "created_timestamp": 1774522277689, "user_name": null, "file_path": "/my-file-4" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200005, "session_id": 10001, "sid": null, "created_timestamp": 1774522276689, "user_name": null, "file_path": "/my-file-5" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200006, "session_id": 10001, "sid": null, "created_timestamp": 1774522275689, "user_name": null, "file_path": "/my-file-6" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200007, "session_id": 10001, "sid": null, "created_timestamp": 1774522274689, "user_name": null, "file_path": "/my-file-7" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200008, "session_id": 10001, "sid": null, "created_timestamp": 1774522273689, "user_name": null, "file_path": "/my-file-8" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200009, "session_id": 10001, "sid": null, "created_timestamp": 1774522272689, "user_name": null, "file_path": "/my-file-9" }, { "filesystem_name": "auto-filesystem--75434c67-", "tenant_id": 1, "handle_id": 200010, "session_id": 10001, "sid": null, "created_timestamp": 1774522271689, "user_name": null, "file_path": "/my-file-10" } ], "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('file_path') NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('filesystem_name') Query Smb Sessions Description Query SMB Sessions API Endpoint GET api/rest/smb/sessions URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 5, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "domain": "test.infinidat.com", "login_timestamp": 1774522255949, "num_leases": 7279, "tenant_id": 1, "num_opens": 45332, "last_action_timestamp": 1774522256849, "session_id": 10001, "signing": false, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": false }, { "domain": "test.infinidat.com", "login_timestamp": 1774522254949, "num_leases": 47786, "tenant_id": 1, "num_opens": 7022, "last_action_timestamp": 1774522256749, "session_id": 10002, "signing": true, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": true }, { "domain": "test.infinidat.com", "login_timestamp": 1774522253949, "num_leases": 44431, "tenant_id": 1, "num_opens": 63805, "last_action_timestamp": 1774522256649, "session_id": 10003, "signing": false, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": true }, { "domain": "test.infinidat.com", "login_timestamp": 1774522252949, "num_leases": 42020, "tenant_id": 1, "num_opens": 40537, "last_action_timestamp": 1774522256549, "session_id": 10004, "signing": true, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": false }, { "domain": "test.infinidat.com", "login_timestamp": 1774522251949, "num_leases": 851, "tenant_id": 1, "num_opens": 15551, "last_action_timestamp": 1774522256449, "session_id": 10005, "signing": true, "sid": "S-1-5-32--1157407321", "user_name": "SmbUser-1157408321", "encryption": true } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('login_timestamp') SMB_COMMAND_FAILED_NO_SUCH_SESSION HTTP 409 The requested command failed. Session '1' was not found Smb User Create Smb User Description Create a new SMB user API Endpoint POST api/rest/smb_users URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "password": "Password1", "name": "smbUser1" } Returns { "metadata": { "ready": true }, "result": { "primary_group": null, "uid": null, "tenant_id": 6038, "privileges": null, "enabled": true, "group_ids": [], "groups": [], "sid": "S-1-5-21-3409979935-3072019085-2813367527-1001", "primary_group_id": null, "id": 1001, "name": "smbUser1" }, "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'na/me' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 20 characters WRONG_PARAMETER HTTP 400 The value (4294967296) of parameter 'uid' does not meet a condition: 'must be less than or equal to 4294967295' MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed MALFORMED_PARAMETER HTTP 400 A parameter ('password') could not be translated to an expected type SMB_GROUP_NOT_FOUND HTTP 404 SMB group not found SMB_GROUP_MEMBERS_COUNT_LIMIT HTTP 409 Cannot add a new member. The SMB group 'smb-group-1' has reached the maximum number of members SMB_USER_COUNT_LIMIT HTTP 409 A new SMB user cannot be created. The system has reached the maximum number of users SMB_USER_NAME_CONFLICT HTTP 409 An SMB user named 'Unique-name' already exists SMB_USER_PASSWORD_INVALID HTTP 409 The password for SMB user 'smb-user-1' does not meet the requirements. See InfiniBox user documentation for details SMB_USER_PRIVS_HAS_DUPLICATES HTTP 409 Remove duplicate privilege assignments, such as 'SeTakeOwnershipPrivilege', from the SMB user 'smb-user-7' Delete Smb User Description Delete an SMB user by id Approval required This is a dangerous operation Deleting an SMB user will permanently remove their access privileges API Endpoint DELETE api/rest/smb_users/{id} URL Parameters id Long SMB user id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "primary_group": null, "uid": null, "tenant_id": 6038, "privileges": [], "enabled": true, "group_ids": [], "groups": [], "sid": "S-1-5-21-3409979935-3072019085-2813367527-1001", "primary_group_id": null, "id": 1001, "name": "smbUser1" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting an SMB user will permanently remove their access privileges SMB_USER_NOT_FOUND HTTP 404 SMB user not found SMB_USER_GUEST_CONFLICT HTTP 409 The SMB user 'Guest' cannot be deleted SMB_USER_ADMINISTRATOR_CONFLICT HTTP 409 The SMB user 'Administrator' cannot be deleted Get all Smb Users Description Get all SMB users API Endpoint GET api/rest/smb_users URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "primary_group": { "uid": 0, "tenant_id": 6038, "privileges": [ "SECHANGENOTIFYPRIVILEGE", "SETAKEOWNERSHIPPRIVILEGE" ], "gid": 0, "sid": "S-1-5-32-544", "domain_members": null, "id": 51, "name": "Administrators" }, "uid": 0, "tenant_id": 6038, "privileges": [], "enabled": true, "group_ids": [], "groups": [], "sid": "S-1-5-21-3206103621-2706911766-3865859559-500", "primary_group_id": 51, "id": 56, "name": "Administrator" }, { "primary_group": { "uid": null, "tenant_id": 6038, "privileges": [], "gid": null, "sid": "S-1-5-32-546", "domain_members": null, "id": 53, "name": "Guests" }, "uid": null, "tenant_id": 6038, "privileges": [], "enabled": true, "group_ids": [], "groups": [], "sid": "S-1-5-21-3206103621-2706911766-3865859559-501", "primary_group_id": 53, "id": 57, "name": "Guest" } ], "error": null } Errors See general list of error codes. Get Smb User Description Get an SMB user by id API Endpoint GET api/rest/smb_users/{id} URL Parameters id Long SMB user id Roles INFINIDAT, ADMIN, POOL_ADMIN, TECHNICIAN, READ_ONLY System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "primary_group": { "uid": null, "tenant_id": 1, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-32-545", "domain_members": null, "id": 2, "name": "Users" }, "uid": null, "tenant_id": 1, "privileges": [], "enabled": true, "group_ids": [], "groups": [], "sid": "S-1-5-21-4091568562-1022951338-2823422509-1001", "primary_group_id": 2, "id": 1001, "name": "Unique-name" }, "error": null } Errors SMB_USER_NOT_FOUND HTTP 404 SMB user not found Update Smb User Attributes Description Update SMB user attributes Approval required This is a dangerous operation Disabling an SMB user will revoke their access privileges for as long as they remain disabled API Endpoint PUT api/rest/smb_users/{id} URL Parameters id Long SMB user id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "enabled": false } Returns { "metadata": { "ready": true }, "result": { "primary_group": { "uid": null, "tenant_id": 1, "privileges": [ "SECHANGENOTIFYPRIVILEGE" ], "gid": null, "sid": "S-1-5-32-545", "domain_members": null, "id": 2, "name": "Users" }, "uid": null, "tenant_id": 1, "privileges": [], "enabled": false, "group_ids": [], "groups": [], "sid": "S-1-5-21-1984300546-3755026423-1655821165-1002", "primary_group_id": 2, "id": 1002, "name": "smb-user-3" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('name') WRONG_PARAMETER HTTP 400 The value (4294967296) of parameter 'uid' does not meet a condition: 'must be less than or equal to 4294967295' MALFORMED_PARAMETER HTTP 400 A parameter ('password') could not be translated to an expected type APPROVAL_REQUIRED HTTP 403 Disabling an SMB user will revoke their access privileges for as long as they remain disabled SMB_USER_NOT_FOUND HTTP 404 SMB user not found SMB_GROUP_NOT_FOUND HTTP 404 SMB group not found SMB_USER_PASSWORD_INVALID HTTP 409 The password for SMB user 'smb-user-1' does not meet the requirements. See InfiniBox user documentation for details SMB_GROUP_MEMBERS_COUNT_LIMIT HTTP 409 Cannot add a new member. The SMB group 'smb-group-1' has reached the maximum number of members SMB_PRIMARY_GROUP_CONFLICT HTTP 409 The SMB group 'smb-group-1' cannot be both the primary group and a non-primary group of the user SMB_USER_PRIVS_HAS_DUPLICATES HTTP 409 Remove duplicate privilege assignments, such as 'SeTakeOwnershipPrivilege', from the SMB user 'smb-user' SMB_USER_ADMINISTRATOR_CONFLICT HTTP 409 The SMB user 'Administrator' cannot be updated with a change of primary group SMB_USER_ALREADY_DISABLED HTTP 409 The SMB user 'smb-user-1' is already disabled SMB_USER_ALREADY_ENABLED HTTP 409 The SMB user 'smb-user-1' is already enabled Snapshot Policy Assign Snapshot Policy to Entity Description Assign snapshot policy to an entity Approval required This is a dangerous operation entity 'assignedEntityName' will be assigned to snapshot policy 'newPolicyName' instead of snapshot policy 'oldPolicyName' API Endpoint POST api/rest/snapshot_policies/{snapshot_policy_id}/assign_entity URL Parameters snapshot_policy_id long Snapshot policy id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "assigned_entity_type": "CG", "assigned_entity_id": 1001 } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors MISSING_FIELD HTTP 400 A field ('assigned_entity_type') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (assigned_entity_type) of parameter 'VOLUME' does not meet a condition: 'Entity with id 1001 is not of type VOLUME' MALFORMED_PARAMETER HTTP 400 A parameter ('assigned_entity_type') could not be translated to an expected type SNAPSHOT_POLICY_CANNOT_BE_ASSIGNED_TO_CG_MEMBER HTTP 403 VOLUME 'auto-volume--d81cc458-86e3' belongs to a consistency group and cannot have its own snapshot policy USER_IS_FORBIDDEN HTTP 403 'volume2' is located in a pool on which the current user has read-only permissions APPROVAL_REQUIRED HTTP 403 Filesystem 'auto-filesystem--e1dfff4a-' will be assigned to snapshot policy 'weekly' instead of snapshot policy 'hourly' SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found CG_NOT_FOUND HTTP 404 Consistency group not found DATASET_NOT_FOUND HTTP 404 Dataset not found ENTITY_ALREADY_ASSIGNED_TO_SNAPSHOT_POLICY HTTP 409 Volume 'auto-volume--37383ff1-052e' is already assigned to snapshot policy 'daily' ASSIGN_SG_TO_SNAPSHOT_POLICY_NOT_SUPPORTED HTTP 409 A snap group cannot be assigned to a snapshot policy Create Snapshot Policy Description Create a new Snapshot policy API Endpoint POST api/rest/snapshot_policies URL Parameters none Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": "auto-hourly-d95cddc9-ac74-", "suffix": "auto--hourly-9b7d6fb2-d646" } Returns { "metadata": { "ready": true }, "result": { "suffix": "auto--hourly-9b7d6fb2-d646", "tenant_id": 1, "created_at": 1774519233730, "updated_at": 1774519233730, "assigned_entities_count": 0, "schedules": [], "default_snapshot_policy": false, "id": 182, "name": "auto-hourly-d95cddc9-ac74-" }, "error": null } Errors MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) of parameter 'suffix' does not meet a condition: 'size must be between 1 and 64' MALFORMED_PARAMETER HTTP 400 A parameter ('suffix') could not be translated to an expected type INVALID_CHARACTERS_IN_SNAPSHOT_POLICY_SUFFIX HTTP 400 Invalid characters in snapshot policy suffix 'some:thing' INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'some:thing' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters SNAPSHOT_POLICY_SUFFIX_CONFLICT HTTP 409 A snapshot policy with suffix 'unique' already exists SNAPSHOT_POLICY_NAME_CONFLICT HTTP 409 A snapshot policy named 'unique' already exists SNAPSHOT_POLICIES_COUNT_LIMIT HTTP 409 The maximum number of snapshot policies has been reached. A new snapshot policy cannot be added Delete Snapshot Policy Description Delete a snapshot policy by id Approval required This is a dangerous operation If you delete the snapshot policy, its scheduled snapshots will no longer be created for the assigned entities API Endpoint DELETE api/rest/snapshot_policies/{id} URL Parameters id Long Snapshot policy id Roles INFINIDAT, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "suffix": "-auto-snapshotPolicy-84ac6c", "tenant_id": 1, "created_at": 1774519847019, "updated_at": 1774519847019, "assigned_entities_count": 1, "schedules": [ { "name": "auto-schedule--b33a7667-5b", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774519848335, "interval": 1, "enabled": true, "updated_at": 1774519848335, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 4199, "type": "PERIODIC", "id": 4200, "retention": 3600 } ], "default_snapshot_policy": false, "id": 4199, "name": "auto-snapshotPolicy-84ac6c" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 If you delete the snapshot policy, its scheduled snapshots will no longer be created for the assigned entities SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found Get all Assigned Entities In Snapshot Policy Description Get all policy's assigned entities API Endpoint GET api/rest/snapshot_policies/{id}/assigned_entities URL Parameters id long Snapshot policy id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "assigned_entity_name": "auto-volume--47a3e473-9cee", "snapshot_policy_id": 11315, "assigned_entity_id": 1001, "assigned_entity_type": "VOLUME", "snapshot_policy_name": "auto-snapshotPolicy-5541ac" }, { "assigned_entity_name": "auto-volume--31e23986-72ba", "snapshot_policy_id": 11315, "assigned_entity_id": 1003, "assigned_entity_type": "VOLUME", "snapshot_policy_name": "auto-snapshotPolicy-5541ac" } ], "error": null } Errors SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found Get all Snapshot Policies Description Get all snapshot policies API Endpoint GET api/rest/snapshot_policies URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "suffix": "policy", "tenant_id": 1, "created_at": 1774521655124, "updated_at": 1774521655124, "assigned_entities_count": 0, "schedules": [ { "name": "Six-Hourly", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774521655124, "interval": 21600, "enabled": true, "updated_at": 1774521655124, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 11098, "type": "PERIODIC", "id": 11099, "retention": 86400 }, { "name": "Daily", "lock_snapshots": false, "tenant_id": 1, "created_at": 1774521655124, "interval": 86400, "enabled": true, "updated_at": 1774521655124, "day_of_week": null, "time_of_day": null, "snapshot_policy_id": 11098, "type": "PERIODIC", "id": 11100, "retention": 604800 } ], "default_snapshot_policy": true, "id": 11098, "name": "Default Policy" }, { "suffix": "-hourly", "tenant_id": 1, "created_at": 1774521655421, "updated_at": 1774521655421, "assigned_entities_count": 0, "schedules": [], "default_snapshot_policy": false, "id": 11101, "name": "hourly" } ], "error": null } Errors See general list of error codes. Get Snapshot Policy Description Get a snapshot policy by id API Endpoint GET api/rest/snapshot_policies/{id} URL Parameters id Long Snapshot policy id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "suffix": "-hourly", "tenant_id": 1, "created_at": 1774521663461, "updated_at": 1774521663461, "assigned_entities_count": 0, "schedules": [], "default_snapshot_policy": false, "id": 11160, "name": "hourly" }, "error": null } Errors SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found Unassign Snapshot Policy from Entity Description Unassign a snapshot policy from an entity by assigned entity's id Approval required This is a dangerous operation If you unassign the entity from the snapshot policy, scheduled snapshots will no longer be created for this entity API Endpoint POST api/rest/snapshot_policies/{snapshot_policy_id}/unassign_entity URL Parameters snapshot_policy_id long Snapshot policy id Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data { "assigned_entity_id": 1001 } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors APPROVAL_REQUIRED HTTP 403 If you unassign the volume from the snapshot policy, scheduled snapshots will no longer be created for this volume USER_IS_FORBIDDEN HTTP 403 'volume2' is located in a pool on which the current user has read-only permissions SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found ASSIGNED_ENTITY_TO_SNAPSHOT_POLICY_NOT_FOUND HTTP 404 The entity is not assigned to the snapshot policy Update Snapshot Policy Attributes Description Update snapshot policy attributes API Endpoint PUT api/rest/snapshot_policies/{id} URL Parameters id Long Snapshot policy id Roles INFINIDAT, ADMIN System States ALL JSON Data { "name": "updated hourly" } Returns { "metadata": { "ready": true }, "result": { "suffix": "-hourly", "tenant_id": 1, "created_at": 1774521663461, "updated_at": 1774521663833, "assigned_entities_count": 0, "schedules": [], "default_snapshot_policy": false, "id": 11160, "name": "updated hourly" }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) of parameter 'suffix' does not meet a condition: 'size must be between 1 and 64' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MALFORMED_CONTENT HTTP 400 The request content is malformed SNAPSHOT_POLICY_SUFFIX_CONFLICT HTTP 409 A snapshot policy with suffix '-unique' already exists SNAPSHOT_POLICY_NAME_CONFLICT HTTP 409 A snapshot policy named 'unique' already exists Ssa Express Get Ssa Express Active Datasets Description Get all active and loading datasets in the SSA Express API Endpoint GET api/rest/system/ssa_express/active URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors See general list of error codes. Get Ssa Express Queue Description Get all dataset in the SSA Express queue API Endpoint GET api/rest/system/ssa_express/queue URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 0, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('queue_index') NOT_SUPPORTED_MULTIPLE_FIELDS_IN_SORT HTTP 400 Sorting by multiple fields is not supported when the 'queue_index' field is included Ssh Disable Ssh Ports Description Close all the ssh ports API Endpoint POST api/rest/system/ssh/close URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "node1_ssh_port_status": "UNKNOWN", "sa_ssh_port_status": "CLOSED", "node3_ssh_port_status": "CLOSED", "overall_ssh_port_status": "UNKNOWN", "ssh_open_expiration_time": 1774522290067, "node2_ssh_port_status": "CLOSED" }, "error": null } Errors See general list of error codes. Enable Ssh Ports Description Open all the ssh ports API Endpoint POST api/rest/system/ssh/open URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "node1_ssh_port_status": "CLOSED", "sa_ssh_port_status": "CLOSED", "node3_ssh_port_status": "CLOSED", "overall_ssh_port_status": "CLOSED", "ssh_open_expiration_time": 1774522287610, "node2_ssh_port_status": "CLOSED" }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Get Ssh Ports Description Get all the ssh ports API Endpoint GET api/rest/system/ssh URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "node1_ssh_port_status": "UNKNOWN", "sa_ssh_port_status": "CLOSED", "node3_ssh_port_status": "CLOSED", "overall_ssh_port_status": "UNKNOWN", "ssh_open_expiration_time": 1774522290067, "node2_ssh_port_status": "CLOSED" }, "error": null } Errors See general list of error codes. Sso Update an Sso Identity Provider Attribute Description Update an attribute of an SSO identity provider Approval required This is a dangerous operation operation SSO identity provider 'ssoIdpName' will invalidate all its currently logged-in users API Endpoint PUT api/rest/config/sso/idps/{id} URL Parameters id long ID of the SSO identity provider Roles ADMIN, INFINIDAT System States ALL JSON Data { "name": "" } Returns { "metadata": { "ready": true }, "result": { "signed_assertion": true, "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d7", "name": "Oktaa6cd0008-a2e0-49e3-940a-d8c4b56c9b66", "enabled": true, "signing_certificate": "-----BEGIN CERTIFICATE-----MIIDqDCCApCgAwIBAgIGAYZ4CsAIMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTAeFw0yMzAyMjIwNzMyMzVaFw0zMzAyMjIwNzMzMzVaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v8+5fWRCFu2K9jyB75+27wLRg7pC9YCi7Xs+6N0C3XWPQW4Pb8NeYYwcFqpj+CGYVNlg6Qt7V84mJpEkqqDeSmnKW675xhTHhLYmJX6eOMJ7H3reoJPsk62A3Axo6ODJb2aukefm9CF8pLjxAwwGk1fLpmlGBZ+H2uU8N1LMDGlKEBYazyf/ttv+lmUrO5tDDp7ypAZKv9QiJllBnAzSLK8tlQazRueZpN1549IhzyhK0V3az8pBAd/FXh9C+HI78+d+4zGeBG/6bZ1JrOIBHvHvGNSMSgtbHY30dSS5/3klB3Ir2OoRCAhMOefH7AVykL892axbxcIIuhmLrEIcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAD4yZxAMk2XCROEQ5df66pypRG7oMSw9ZoC5Mvt+XC50sBOP76qk55jj2WoeKxxZPuZFraRPvJMrv4wTNuL7/Ss5P4zcihUu1pNZeWLCMv1DL6jmRIjSPUh5QuVsCCKO0jy4pPa6ANNfz6MfiErZYlNrPvCsvwkKn7t088ZaaUw22wiBSKzYX5Lz3CiBDBxbJHucSVVF0zFGIEhV+87m2VigNoBx3zbS6m9oJ3KNmmC1V6NXgSwuepuaxAr6xSY0IfsfejlGiS57kTCi7+whwbAs/q7KrWSd1ehHgi7Db6wRTQoTi6o5crVYWqtM5NoY9EHWrZDIqaLLvKb/RhvGydA==-----END CERTIFICATE-----", "signed_response": true, "signing_certificate_expiry": 1992670415000, "id": 4767, "signing_certificate_serial": "1677051215880", "issuer": "http://www.okta.com/exkeemapg7T769PU32p7a6cd0008-a2e0-49e3-940a-d8c4b56c9b66" }, "error": null } Errors INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 255 characters MALFORMED_PARAMETER HTTP 400 A parameter ('signed_response') could not be translated to an expected type INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'abc*def' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('issuer') APPROVAL_REQUIRED HTTP 403 Disabling SSO identity provider 'Okta61b44de2-5317-473d-af28-9ac2b6cda1ca' will invalidate all its currently logged-in users SSO_IDENTITY_PROVIDER_NOT_FOUND HTTP 404 SSO identity provider not found SSO_IDENTITY_PROVIDER_MISSING_SIGNING_CERTIFICATE HTTP 409 The signing certificate for SSO identity provider 'Okta046559d5-5bd1-49f7-84df-2e097e523c0a' is missing SSO_IDENTITY_PROVIDER_INVALID_VALUE HTTP 409 The value of the SSO identity provider's signing certificate is invalid. Failed to create a valid certificate from the provided input SSO_IDENTITY_PROVIDER_NAME_CONFLICT HTTP 409 An SSO identity provider named 'Okta3c216809-968c-4c20-9720-4745de600a52' already exists SSO_IDENTITY_PROVIDER_UNSECURED_LINK_URL HTTP 409 The SSO identity provider's sign on URL must be an SSL link that starts with 'https://' Authenticate With Sso Identity Provider Description Redirect to the SSO identity provider for authnetication API Endpoint GET api/rest/config/sso/idps/{id}/authenticate URL Parameters id Long SSO identity provider id JSON Data none Returns Errors See general list of error codes. No request examples available Create Sso Identity Provider Description Define a new SSO identity provider Approval required This is a dangerous operation Disabling an SSO identity provider signing option will prevent verification of that signature during SSO user authentication API Endpoint POST api/rest/config/sso/idps URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d7", "signed_assertion": false, "enabled": true, "signing_certificate": "", "signed_response": false, "issuer": "http://www.okta.com/exkeemapg7T769PU32p7dfd2c94c-d9e3-443d-988e-7a2820876ae6", "name": "Oktadfd2c94c-d9e3-443d-988e-7a2820876ae6" } Returns { "metadata": { "ready": true }, "result": { "signed_assertion": false, "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d7", "name": "Oktadfd2c94c-d9e3-443d-988e-7a2820876ae6", "enabled": true, "signing_certificate": "", "signed_response": false, "signing_certificate_expiry": null, "id": 4684, "signing_certificate_serial": null, "issuer": "http://www.okta.com/exkeemapg7T769PU32p7dfd2c94c-d9e3-443d-988e-7a2820876ae6" }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('signed_response') could not be translated to an expected type MISSING_FIELD HTTP 400 A field ('sign_on_url') is missing in an object passed INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 255 characters INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'abc*def' APPROVAL_REQUIRED HTTP 403 Disabling an SSO identity provider signing option will prevent verification of that signature during SSO user authentication SSO_IDENTITY_PROVIDER_COUNT_LIMIT HTTP 409 The maximum number of SSO identity providers has been reached. You cannot create another one SSO_IDENTITY_PROVIDER_INVALID_VALUE HTTP 409 The value of the SSO identity provider's sign_on_url is invalid. Sign on url value length must not exceed 512 characters SSO_IDENTITY_PROVIDER_ISSUER_CONFLICT HTTP 409 An SSO identity provider already exists for issuer 'abcdefg' SSO_IDENTITY_PROVIDER_UNSECURED_LINK_URL HTTP 409 The SSO identity provider's sign on URL must be an SSL link that starts with 'https://' SSO_IDENTITY_PROVIDER_NAME_CONFLICT HTTP 409 An SSO identity provider named 'abcdefg' already exists SSO_IDENTITY_PROVIDER_MISSING_SIGNING_CERTIFICATE HTTP 409 The signing certificate for SSO identity provider 'Okta1196382c5-92d7-47b3-9fc4-9647a98a6643' is missing Delete an Sso Identity Provider Description Delete an SSO identity provider Approval required This is a dangerous operation operation SSO identity provider 'ssoIdpName' will invalidate all its currently logged-in users API Endpoint DELETE api/rest/config/sso/idps/{id} URL Parameters id Long SSO identity provider id Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "signed_assertion": true, "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d7", "name": "Oktaa6cd0008-a2e0-49e3-940a-d8c4b56c9b66", "enabled": true, "signing_certificate": "-----BEGIN CERTIFICATE-----MIIDqDCCApCgAwIBAgIGAYZ4CsAIMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTAeFw0yMzAyMjIwNzMyMzVaFw0zMzAyMjIwNzMzMzVaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v8+5fWRCFu2K9jyB75+27wLRg7pC9YCi7Xs+6N0C3XWPQW4Pb8NeYYwcFqpj+CGYVNlg6Qt7V84mJpEkqqDeSmnKW675xhTHhLYmJX6eOMJ7H3reoJPsk62A3Axo6ODJb2aukefm9CF8pLjxAwwGk1fLpmlGBZ+H2uU8N1LMDGlKEBYazyf/ttv+lmUrO5tDDp7ypAZKv9QiJllBnAzSLK8tlQazRueZpN1549IhzyhK0V3az8pBAd/FXh9C+HI78+d+4zGeBG/6bZ1JrOIBHvHvGNSMSgtbHY30dSS5/3klB3Ir2OoRCAhMOefH7AVykL892axbxcIIuhmLrEIcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAD4yZxAMk2XCROEQ5df66pypRG7oMSw9ZoC5Mvt+XC50sBOP76qk55jj2WoeKxxZPuZFraRPvJMrv4wTNuL7/Ss5P4zcihUu1pNZeWLCMv1DL6jmRIjSPUh5QuVsCCKO0jy4pPa6ANNfz6MfiErZYlNrPvCsvwkKn7t088ZaaUw22wiBSKzYX5Lz3CiBDBxbJHucSVVF0zFGIEhV+87m2VigNoBx3zbS6m9oJ3KNmmC1V6NXgSwuepuaxAr6xSY0IfsfejlGiS57kTCi7+whwbAs/q7KrWSd1ehHgi7Db6wRTQoTi6o5crVYWqtM5NoY9EHWrZDIqaLLvKb/RhvGydA==-----END CERTIFICATE-----", "signed_response": true, "signing_certificate_expiry": 1992670415000, "id": 4765, "signing_certificate_serial": "1677051215880", "issuer": "http://www.okta.com/exkeemapg7T769PU32p7a6cd0008-a2e0-49e3-940a-d8c4b56c9b66" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting SSO identity provider 'Okta849955ad-1bec-43f8-b302-08a3f8a62145' will invalidate all its currently logged-in users SSO_IDENTITY_PROVIDER_NOT_FOUND HTTP 404 SSO identity provider not found CANNOT_REMOVE_SSO_IDENTITY_PROVIDER_WITH_MAPPED_GROUPS HTTP 409 SSO identity provider 'Okta375d4927-1543-4e73-9214-f4dd0c0f431d' contains groups with mapped pools. Remove the SSO user group 'ibox-pool-admins' and try again Get an Sso Identity Provider Description Get an SSO identity provider by id API Endpoint GET api/rest/config/sso/idps/{id} URL Parameters id Long SSO identity provider id Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "signed_assertion": true, "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d71", "name": "Okta1a0da6a2a-09af-4337-96b1-dec7c4068441", "enabled": true, "signing_certificate": "MIIDqDCCApCgAwIBAgIGAYZ4CsAIMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTAeFw0yMzAyMjIwNzMyMzVaFw0zMzAyMjIwNzMzMzVaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v8+5fWRCFu2K9jyB75+27wLRg7pC9YCi7Xs+6N0C3XWPQW4Pb8NeYYwcFqpj+CGYVNlg6Qt7V84mJpEkqqDeSmnKW675xhTHhLYmJX6eOMJ7H3reoJPsk62A3Axo6ODJb2aukefm9CF8pLjxAwwGk1fLpmlGBZ+H2uU8N1LMDGlKEBYazyf/ttv+lmUrO5tDDp7ypAZKv9QiJllBnAzSLK8tlQazRueZpN1549IhzyhK0V3az8pBAd/FXh9C+HI78+d+4zGeBG/6bZ1JrOIBHvHvGNSMSgtbHY30dSS5/3klB3Ir2OoRCAhMOefH7AVykL892axbxcIIuhmLrEIcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAD4yZxAMk2XCROEQ5df66pypRG7oMSw9ZoC5Mvt+XC50sBOP76qk55jj2WoeKxxZPuZFraRPvJMrv4wTNuL7/Ss5P4zcihUu1pNZeWLCMv1DL6jmRIjSPUh5QuVsCCKO0jy4pPa6ANNfz6MfiErZYlNrPvCsvwkKn7t088ZaaUw22wiBSKzYX5Lz3CiBDBxbJHucSVVF0zFGIEhV+87m2VigNoBx3zbS6m9oJ3KNmmC1V6NXgSwuepuaxAr6xSY0IfsfejlGiS57kTCi7+whwbAs/q7KrWSd1ehHgi7Db6wRTQoTi6o5crVYWqtM5NoY9EHWrZDIqaLLvKb/RhvGydA==", "signed_response": true, "signing_certificate_expiry": 1992670415000, "id": 4724, "signing_certificate_serial": "1677051215880", "issuer": "http://www.okta.com/exkeemapg7T769PU32p71a0da6a2a-09af-4337-96b1-dec7c4068441" }, "error": null } Errors SSO_IDENTITY_PROVIDER_NOT_FOUND HTTP 404 SSO identity provider not found Get Sso Identity Providers Description Get all SSO identity providers API Endpoint GET api/rest/config/sso/idps URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "signed_assertion": true, "sign_on_url": "https://55555555.okta.com/home/0oa8f9hrvvI2xb5875d7/aln8f9lgmyeUmiwv95d71", "name": "Okta1a0da6a2a-09af-4337-96b1-dec7c4068441", "enabled": true, "signing_certificate": "MIIDqDCCApCgAwIBAgIGAYZ4CsAIMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTAeFw0yMzAyMjIwNzMyMzVaFw0zMzAyMjIwNzMzMzVaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEUMBIGA1UECwwLU1NPUHJvdmlkZXIxFTATBgNVBAMMDGRldi01MTA4MTA3NDEcMBoGCSqGSIb3DQEJARYNaW5mb0Bva3RhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK2v8+5fWRCFu2K9jyB75+27wLRg7pC9YCi7Xs+6N0C3XWPQW4Pb8NeYYwcFqpj+CGYVNlg6Qt7V84mJpEkqqDeSmnKW675xhTHhLYmJX6eOMJ7H3reoJPsk62A3Axo6ODJb2aukefm9CF8pLjxAwwGk1fLpmlGBZ+H2uU8N1LMDGlKEBYazyf/ttv+lmUrO5tDDp7ypAZKv9QiJllBnAzSLK8tlQazRueZpN1549IhzyhK0V3az8pBAd/FXh9C+HI78+d+4zGeBG/6bZ1JrOIBHvHvGNSMSgtbHY30dSS5/3klB3Ir2OoRCAhMOefH7AVykL892axbxcIIuhmLrEIcCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAD4yZxAMk2XCROEQ5df66pypRG7oMSw9ZoC5Mvt+XC50sBOP76qk55jj2WoeKxxZPuZFraRPvJMrv4wTNuL7/Ss5P4zcihUu1pNZeWLCMv1DL6jmRIjSPUh5QuVsCCKO0jy4pPa6ANNfz6MfiErZYlNrPvCsvwkKn7t088ZaaUw22wiBSKzYX5Lz3CiBDBxbJHucSVVF0zFGIEhV+87m2VigNoBx3zbS6m9oJ3KNmmC1V6NXgSwuepuaxAr6xSY0IfsfejlGiS57kTCi7+whwbAs/q7KrWSd1ehHgi7Db6wRTQoTi6o5crVYWqtM5NoY9EHWrZDIqaLLvKb/RhvGydA==", "signed_response": true, "signing_certificate_expiry": 1992670415000, "id": 4724, "signing_certificate_serial": "1677051215880", ... TRUNCATED ... Errors See general list of error codes. Get Sso Identity Providers Links Description Get all SSO identity providers for GUI links API Endpoint GET api/rest/config/sso/idps/links URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 2, "page_size": 3 }, "result": [ { "sign_on_url": "/api/rest/config/sso/idps/4724/authenticate", "id": 4724, "name": "Okta1a0da6a2a-09af-4337-96b1-dec7c4068441" }, { "sign_on_url": "/api/rest/config/sso/idps/4725/authenticate", "id": 4725, "name": "Okta294f74b43-90a6-43b9-a327-4235f06f7521" }, { "sign_on_url": "/api/rest/config/sso/idps/4726/authenticate", "id": 4726, "name": "Okta3db53af99-6b13-4d27-8485-68c517a98e25" } ], "error": null } Errors See general list of error codes. Support Appliance Get all Support Appliances Description Return Racks' support appliances API Endpoint GET api/rest/components/support_appliances URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Get Sa by ID Description Return support appliance by index API Endpoint GET api/rest/components/support_appliances/{saIdx} URL Parameters saIdx int The SA id Roles INFINIDAT, TECHNICIAN, POOL_ADMIN, READ_ONLY, ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "state_description": "", "vendor": "", "last_probe_timestamp": 1390254009000, "firmware": "", "probe_ttl": 60000, "state": "ERROR", "model": "", "id": 1 }, "error": null } Errors See general list of error codes. System General system information and operations Accept Eula Description Accept the eula API Endpoint POST api/rest/system/eula/accepted URL Parameters none Roles INFINIDAT, ADMIN, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "status": "ACCEPTED", "accepted_by": "admin", "user_accepted_email": "dev.mgmt@infinidat.com", "eula_snooze_time": 2880, "eula_version": "3.0", "accepted_from": "2.3.4.5", "accepted_on": 1774520223630, "last_snoozed_on": null, "eula_first_snoozed_on": null, "eula_version_accepted": "3.0", "eula_time_left": 43200 }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges Get a Ping Message Description Get confirmation that the system is available for management API access, without requiring authentication. API Endpoint GET api/rest/system/ping URL Parameters none Roles ALL System States ALL JSON Data none Returns "OK" Errors See general list of error codes. Get Eula Description Get EULA API Endpoint GET api/rest/system/eula URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "status": "ACCEPTED", "accepted_by": "admin", "user_accepted_email": "dev.mgmt@infinidat.com", "eula_snooze_time": 2880, "eula_version": "3.0", "accepted_from": "2.3.4.5", "accepted_on": 1774520223630, "last_snoozed_on": null, "eula_first_snoozed_on": null, "eula_version_accepted": "3.0", "eula_time_left": 43200 }, "error": null } Errors See general list of error codes. Get Ntp Status Description Return NTP status API Endpoint GET api/rest/system/ntp_status URL Parameters node_id Integer State a specific node for status check Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "ntp_peers": [ { "delay_milliseconds": 0.042, "remote": "9.151.141.2", "offset_milliseconds": -0.018, "reach": 376, "poll_seconds": 64, "tally_code": "candidate", "when_seconds": 64, "stratum": 4, "jitter_milliseconds": 0.063, "type": "unicast", "refid": "172.20.255.1" }, { "delay_milliseconds": 0.028, "remote": "9.151.141.3", "offset_milliseconds": 0.196, "reach": 377, "poll_seconds": 64, "tally_code": "candidate", "when_seconds": 11, "stratum": 4, "jitter_milliseconds": 0.02, "type": "unicast", "refid": "172.20.255.1" }, { "delay_milliseconds": 0.38, "remote": "172.20.255.1", "offset_milliseconds": -0.114, "reach": 377, "poll_seconds": 64, "tally_code": "sys.peer", "when_seconds": 5, "stratum": 3, "jitter_milliseconds": 0.103, "type": "unicast", "refid": "109.226.40.40" } ], "last_probe_timestamp": 1774519826990, "node_id": 1 }, { "ntp_peers": [ { "delay_milliseconds": 0.025, ... TRUNCATED ... Errors See general list of error codes. Get Power Maintenance Mode Description Get the Power Maintenance Mode API Endpoint GET api/rest/system/power_maintenance_mode URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "in_maintenance": false, "duration_seconds": 0 }, "error": null } Errors See general list of error codes. Get Ssa Express Info Description Get SSA Express Info API Endpoint GET api/rest/system/ssa_express_info URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "ssa_express_status": "STATE_ACTIVE", "total_ssa_express_capacity": 70000000000000, "free_ssa_express_capacity": 70000000000000, "used_ssa_express_capacity": 0 }, "error": null } Errors See general list of error codes. Get System Management Statistics Description Get statistics on the management component of InfiniBox. API Endpoint GET api/rest/system/stats/mgmt URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Get System Security Description Get system security parameters API Endpoint GET api/rest/system/security URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "fips_best_practice": { "is_local_users_disabled": false, "is_http_redirection": false, "is_certificate_strength_sufficient": true, "num_users_password_hash_not_secured": 0, "is_ldap_connections_secured": false, "certificate_strength": 2048, "local_users_password_hash": "SHA256" }, "system_security_state": "FIPS1", "kmip_connectivity_state": "DISABLED", "encryption_enabled": false }, "error": null } Errors See general list of error codes. Get System Statistics Description Return statistics for the entire system API Endpoint GET api/rest/system/stats URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Get the System Health State Description Get the system health state. API Endpoint GET api/rest/system/health_state URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "rebuild_1_inprogress": false, "enclosure_failure_safe_distribution": true, "missing_drives": 0, "inactive_nodes": 0, "rebuild_2_inprogress": false, "active_cache_ssd_devices": 0, "active_encrypted_drives": 0, "bbu_protected_nodes": 1, "unknown_drives": 0, "raid_groups_pending_rebuild_2": 0, "raid_groups_pending_rebuild_1": 0, "testing_drives": 0, "ready_drives": 0, "node_bbu_protection": { "node-1": "PROTECTED" }, "phasing_out_drives": 0, "active_encrypted_cache_ssd_devices": 0, "bbu_aggregate_charge_percent": 0, "encryption_enabled": true, "active_drives": 480, "failed_drives": 0, "bbu_charge_level": {} }, "error": null } Errors See general list of error codes. Get the System Name Description Get the system name API Endpoint GET api/rest/system/name URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": "ibox012-mock-no-bbu", "error": null } Errors AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Get the System Total Physical Capacity Description Get the system total physical capacity. API Endpoint GET api/rest/system/capacity/total_physical_capacity URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": 9007199255003136, "error": null } Errors See general list of error codes. Get the System Total Virtual Capacity Description Get the system total virtual capacity. API Endpoint GET api/rest/system/capacity/total_virtual_capacity URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": 22517998137507840, "error": null } Errors See general list of error codes. Operational State Activate Description Activate the system. API Endpoint POST api/rest/system/operational_state/activate URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": "The required process started", "error": null } Errors SYSTEM_ACTIVATION_REQUIRES_STANDBY_STATE HTTP 409 The system can be activated only while in STANDBY state Operational State Shutdown Description Shut down the system. API Endpoint POST api/rest/system/operational_state/shutdown URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Operational State Shutdown and Poweroff Description Shut down and power off the system. Approval required This is a dangerous operation SHUTTING DOWN THE SYSTEM WILL CAUSE ALL SERVERS TO DISCONNECT API Endpoint POST api/rest/system/operational_state/shutdown_and_poweroff URL Parameters none Roles ADMIN, INFINIDAT System States ALL Invalid Operation States System States Methods IN_EMERGENCY_SHUTDOWN EMERGENCY_SHUTDOWN NOT_READY ALL JSON Data none Returns Errors APPROVAL_REQUIRED HTTP 403 SHUTTING DOWN THE SYSTEM WILL CAUSE ALL SERVERS TO DISCONNECT Set Kms Disabled Description Disable KMS Approval required This is a dangerous operation Disabling KMS places the systems encryption key in the system, removing the need for KMS during InfiniBox power up API Endpoint POST api/rest/system/kms_disable URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": false, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Disabling KMS places the systems encryption key in the system, removing the need for KMS during InfiniBox power up KMS_CANNOT_DISABLE_DUE_TO_ENCRYPTION_MODE HTTP 409 Cannot disable KMS while encryption is enabled Set Kms Enabled Description Enable KMS Approval required This is a dangerous operation Enabling KMS places the systems encryption keys in the KMS database and removes them from the system. As a result, should the KMS be inaccessible or corrupt then InfiniBox will fail to power up API Endpoint POST api/rest/system/kms_enable URL Parameters none Roles INFINIDAT, TECHNICIAN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Enabling KMS places the systems encryption keys in the KMS database and removes them from the system. As a result, should the KMS be inaccessible or corrupt then InfiniBox will fail to power up KMS_ENABLE_MANDATORY_FIELDS_MISSING HTTP 409 Cannot enable KMS when some of the following configuration mandatory fields are missing: [kms_servers, kms_ca_certificate, infinibox_kmip_private_key, infinibox_kmip_certificate] KMS_FIPS_NOT_ENABLED HTTP 409 Cannot enable KMS if system is not in FIPS mode KMS_CANNOT_ENABLE_DUE_TO_ENCRYPTION_MODE HTTP 409 Cannot enable KMS while encryption is enabled Set Power Maintenance Mode Description Enable / disable Power Maintenance Mode Approval required This is a dangerous operation Power Maintenance Mode prevents InfiniBox from taking automated actions following various power issues. Exception: In case of a total power outage, the system will start Emergency Shutdown regardless API Endpoint PUT api/rest/system/power_maintenance_mode URL Parameters none Roles INFINIDAT, TECHNICIAN System States ACTIVE JSON Data { "in_maintenance": true, "force": false, "duration_seconds": 1800 } Returns { "metadata": { "ready": true }, "result": { "in_maintenance": true, "duration_seconds": 1800 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Power Maintenance Mode prevents InfiniBox from taking automated actions following various power issues. Exception: In case of a total power outage, the system will start Emergency Shutdown regardless CANNOT_DISABLE_POWER_MAINTENANCE_MODE_WITHOUT_FORCE HTTP 403 Not all nodes are properly protected by the BBUs. Disabling the power maintenance mode at this time will lead to emergency shutdown or node quick exit. If you are sure you want to disable the PMM, use support.power_maintenance_mode.disable --force=yes Set the System Name Description Set the system name API Endpoint PUT api/rest/system/name URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data "\"\"" Returns { "metadata": { "ready": true }, "result": "some-other-name", "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name '/' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters Set Total Virtual Capacity Description Set system total virtual capacity Approval required This is a dangerous operation Extending the system virtual capacity requires INFINIDAT support approval API Endpoint PUT api/rest/system/capacity/total_virtual_capacity URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data "22517998139867136" Returns { "metadata": { "ready": true }, "result": 22517998139867136, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Extending the system virtual capacity requires INFINIDAT support approval SYSTEM_VIRTUAL_CAPACITY_LESS_THAN_USED HTTP 409 System virtual capacity cannot be less than current total provisioned soft capacity MAX_SYSTEM_VIRTUAL_CAPACITY_LIMIT HTTP 409 System virtual capacity maximum limit will be exceeded SYSTEM_VIRTUAL_CAPACITY_LESS_THAN_HARD HTTP 409 System virtual capacity cannot be less than hard capacity Snooze Eula Description Snooze the eula API Endpoint POST api/rest/system/eula/snoozed URL Parameters none Roles ADMIN, INFINIDAT, POOL_ADMIN System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "status": "SNOOZED", "accepted_by": null, "user_accepted_email": null, "eula_snooze_time": 1, "eula_version": "3.0", "accepted_from": null, "accepted_on": null, "last_snoozed_on": 1774520229124, "eula_first_snoozed_on": 1774520229124, "eula_version_accepted": null, "eula_time_left": 43200 }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges EULA_CANNOT_BE_SNOOZED HTTP 409 EULA can not be snoozed while in stage: SNOOZED Upgrade the Gui and Infinishell Software Description Install the GUI and InfiniShell upgrade packages. Approval required This is a dangerous operation This operation is irreversible. In addition, the GUI and InfiniShell are not available during the update API Endpoint POST api/rest/system/upgrade URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": null, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed APPROVAL_REQUIRED HTTP 403 This operation is irreversible. In addition, the GUI and InfiniShell are not available during the update UPGRADE_FILE_INVALID HTTP 409 Upgrade file is invalid: file is empty TreeQ Create a TreeQ Description Create a TreeQ API Endpoint POST api/rest/filesystems/{fsId}/treeqs URL Parameters fsId long Filesystem ID Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "soft_inodes": 2, "path": "/treeqPath1", "hard_capacity": 1000000000, "hard_inodes": 50, "name": "treeqName1" } Returns { "metadata": { "ready": true }, "result": { "name": "treeqName1", "soft_capacity": null, "hard_inodes": 50, "capacity_state": "BELOW_SOFT", "hard_capacity": 1000000000, "used_inodes": 1, "soft_inodes": 2, "path": "/treeqPath1", "filesystem_id": 1001, "used_capacity": 0, "id": 21955048183431200, "inodes_state": "BELOW_SOFT" }, "error": null } Errors INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'null' MISSING_FIELD HTTP 400 A field ('name') is missing in an object passed UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('capacity_state') USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-6840563b-9' is forbidden to modify filesystem 'auto-filesystem--1555751f-' FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found TREEQ_PATH_TOO_LONG HTTP 409 TreeQ path is too long, maximum length is 255 TREEQ_INVALID_PATH HTTP 409 Invalid TreeQ path TREEQ_INVALID_LIMITS_CAPACITY_SOFT_TOO_LOW HTTP 409 TreeQ soft capacity limit is too low, minimum is 500MB TREEQ_NAME_ALREADY_EXISTS HTTP 409 TreeQ name already exists in filesystem TREEQ_INVALID_LIMITS_CAPACITY_SOFT_TOO_HIGH HTTP 409 TreeQ soft capacity cannot be greater than 1000000000000000000 TREEQ_INVALID_LIMITS_CAPACITY_HARD_TOO_LOW HTTP 409 TreeQ hard capacity limit is too low, minimum is 1GB INVALID_OPTION_FOR_TREEQ_CREATE HTTP 409 'Mode' option is not available for TreeQs on WINDOWS security-style filesystems TREEQ_INVALID_LIMITS_CAPACITY_HARD_TOO_HIGH HTTP 409 TreeQ hard capacity cannot be greater than 1000000000000000000 TREEQ_NOT_SUPPORTED HTTP 409 TreeQ operations are not supported while the filesystem is a replication target TREEQ_INVALID_LIMITS_INODE_HARD_TOO_HIGH HTTP 409 TreeQ hard iNodes cannot be greater than 1000000000000000000 TREEQ_INVALID_LIMITS_INODE_HARD_TOO_LOW HTTP 409 TreeQ hard iNodes limit is too low, minimum is 3 TREEQ_INVALID_LIMITS_CAPACITY_INTERVAL_TOO_SMALL HTTP 409 TreeQ hard capacity has to be at least 100MB above soft capacity TREEQ_INVALID_LIMITS_INODE_SOFT_TOO_LOW HTTP 409 TreeQ soft iNodes limit is too low, minimum is 2 FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--3853f7de-') TREEQ_ILLEGAL_VALUE HTTP 409 The value '"/"' of 'path' is illegal. TreeQ path is too short, minimum length is 2 TREEQ_INVALID_LIMITS_INODE_INTERVAL_TOO_SMALL HTTP 409 TreeQ hard iNodes has to be at least 1 above soft iNodes TREEQ_INVALID_LIMITS_INODE_SOFT_TOO_HIGH HTTP 409 TreeQ soft iNodes cannot be greater than 1000000000000000000 TREEQ_INVALID_LIMITS_CAPACITY_HARD_BELOW_SOFT HTTP 409 TreeQ hard capacity has to be at least 100MB above soft capacity TREEQ_PATH_NESTING HTTP 409 TreeQ is only supported on the filesystem root folder TREEQ_INVALID_LIMITS_INODE_HARD_BELOW_SOFT HTTP 409 TreeQ hard iNodes has to be at least 1 above soft iNodes TREEQ_PATH_MISMATCH HTTP 409 TreeQ path '/MySnapshotDir' cannot be identical to the name of a filesystem snapshot directory TREEQ_FILESYSTEM_READ_ONLY HTTP 409 Filesystem is write protected Get a TreeQ Description Return a TreeQ by ID API Endpoint GET api/rest/filesystems/{fsId}/treeqs/{id} URL Parameters fsId long Filesystem ID id long TreeQ ID Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "treeqName1", "soft_capacity": null, "hard_inodes": 50, "capacity_state": "BELOW_SOFT", "hard_capacity": 1000000000, "used_inodes": 1, "soft_inodes": 2, "path": "/treeqPath1", "filesystem_id": 1001, "used_capacity": 0, "id": 21955048183431200, "inodes_state": "BELOW_SOFT" }, "error": null } Errors FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found TREEQ_NOT_SUPPORTED HTTP 409 TreeQ operations are not supported while the filesystem is a replication target FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--66d1e8be-') Get all Filesystem TreeQ Description Return all of the TreeQ of a filesystem Filterable and Sortable fields:capacity_state,filesystem_id,hard_capacity,hard_inodes,id,inodes_state,name,path,soft_capacity,soft_inodes,used_capacity,used_inodes. API Endpoint GET api/rest/filesystems/{fsId}/treeqs URL Parameters fsId long Filesystem ID Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "name": "treeqName1", "soft_capacity": null, "hard_inodes": 50, "capacity_state": "BELOW_SOFT", "hard_capacity": 1000000000, "used_inodes": 3, "soft_inodes": 2, "path": "/treeqPath1", "filesystem_id": 1001, "used_capacity": 1000, "id": 21955048183431200, "inodes_state": "SOFT_EXCEEDED" }, { "name": "treeqName2", "soft_capacity": null, "hard_inodes": 321, "capacity_state": "BELOW_SOFT", "hard_capacity": 321, "used_inodes": 321, "soft_inodes": 2, "path": "/treeqPath2", "filesystem_id": 1001, "used_capacity": 300, "id": 21955048183431201, "inodes_state": "NONE" } ], "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('aaaaa') WRONG_PARAMETER HTTP 400 The value (null) of parameter 'BETWEEN' does not meet a condition: 'not null' MALFORMED_PARAMETER HTTP 400 A parameter ('123') could not be translated to an expected type NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('mode') FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--66d1e8be-') TREEQ_NOT_SUPPORTED HTTP 409 TreeQ operations are not supported while the filesystem is a replication target Remove a TreeQ Description Remove a TreeQ by ID API Endpoint DELETE api/rest/filesystems/{fsId}/treeqs/{id} URL Parameters fsId long Filesystem ID id long TreeQ ID Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "name": "treeqName1", "soft_capacity": null, "hard_inodes": 50, "capacity_state": "BELOW_SOFT", "hard_capacity": 1000000000, "used_inodes": 1, "soft_inodes": 2, "path": "/treeqPath1", "filesystem_id": 1001, "used_capacity": 0, "id": 21955048183431200, "inodes_state": "BELOW_SOFT" }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-323dc9cc-9' is forbidden to modify filesystem 'auto-filesystem--c2a7b9d9-' FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--b8777c61-') TREEQ_FILESYSTEM_READ_ONLY HTTP 409 Filesystem is write protected TREEQ_FILESYSTEM_HAS_EXPORTS HTTP 409 The TreeQ 'My Treeq' cannot be deleted because it has active exports on filesystem 'My Filesystem' TREEQ_NOT_SUPPORTED HTTP 409 TreeQ operations are not supported while the filesystem is a replication target TREEQ_FILESYSTEM_HAS_SHARES HTTP 409 The TreeQ 'My Treeq' cannot be deleted because it has active shares on filesystem 'My Filesystem' Update a TreeQ Attribute Description Update an attribute of a TreeQ API Endpoint PUT api/rest/filesystems/{fsId}/treeqs/{id} URL Parameters fsId long Filesystem ID id long TreeQ ID Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "name": "treeqName1" } Returns { "metadata": { "ready": true }, "result": { "name": "treeqName1", "soft_capacity": null, "hard_inodes": 50, "capacity_state": "BELOW_SOFT", "hard_capacity": 1000000000, "used_inodes": 1, "soft_inodes": 2, "path": "/treeqPath1", "filesystem_id": 1001, "used_capacity": 0, "id": 21955048183431200, "inodes_state": "BELOW_SOFT" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('path') MISSING_CONTENT HTTP 400 The request is empty INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'null' USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-f8e567bb-c' is forbidden to modify filesystem 'auto-filesystem--4332e5ca-' FILESYSTEM_NOT_FOUND HTTP 404 Filesystem not found TREEQ_ILLEGAL_VALUE HTTP 409 The value '"/y"' of 'name' is illegal. Cannot update name together with limits FILESYSTEM_IS_SUSPENDED HTTP 409 The operation cannot be performed as the filesystem is suspended ('auto-filesystem--fe461086-') TREEQ_NOT_SUPPORTED HTTP 409 TreeQ operations are not supported while the filesystem is a replication target TREEQ_WORM_FILESYSTEM HTTP 409 Cannot rename a WORM Filesystem TreeQ TREEQ_FILESYSTEM_READ_ONLY HTTP 409 Filesystem is write protected TREEQ_INVALID_LIMITS_CAPACITY_INTERVAL_TOO_SMALL HTTP 409 TreeQ hard capacity has to be at least 100MB above soft capacity Users Repository Create a User Repository Description Create a repository of users whose members can log into InfiniBox. API Endpoint POST api/rest/config/ldap URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "name": "auto-filter_sort_-60360396", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "groups_basedn": "cn=users,dc=mgmt,dc=local", "users_basedn": "cn=users,dc=mgmt,dc=local", "username_attribute": "sAMAccountName", "group_class": "group", "user_class": "user" }, "bind_username": "administrator", "servers": null, "domain_name": "mgmt.local", "bind_password": "XXXXXXX" } Returns { "metadata": { "ready": true }, "result": { "ldap_port": 636, "name": "auto-filter_sort_-60360396", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "cn=users,dc=mgmt,dc=local", "users_basedn": "cn=users,dc=mgmt,dc=local" }, "use_ldaps": true, "domain_name": "mgmt.local", "bind_username": "administrator", "search_order": 0, "servers": null, "repository_type": "ActiveDirectory", "id": 2405 }, "error": null } Errors WRONG_PARAMETER HTTP 400 The value (123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890) of parameter 'domain_name' does not meet a condition: 'size must be between 0 and 255' UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value () for field ('servers') INVALID_CHARACTERS_IN_DOMAIN_NAME HTTP 400 Invalid domain name DOMAIN_NAME_CONFLICT HTTP 409 Domain name 'mgmt.local' already configured LDAP_NAME_CONFLICT HTTP 409 LDAP name 'dev' already configured LDAP_REPOSITORIES_LIMIT HTTP 409 LDAP repositories count has reached the limit of 2 LDAP_SERVERS_LIMIT HTTP 409 Maximum servers in LDAP repository reached. Please set up to 3 different servers Delete a User Repository Description Disconnect a repository from InfiniBox. Approval required This is a dangerous operation LDAP server ldap has configured groups. Removing the server will remove the groups as well API Endpoint DELETE api/rest/config/ldap/{id} URL Parameters id long ID of the repository Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "ldap_port": 636, "name": "repo2", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "", "users_basedn": "" }, "use_ldaps": true, "domain_name": null, "bind_username": "administrator", "search_order": 1, "servers": [ "1.0.0.3", "1.0.0.9" ], "repository_type": "LDAP", "id": 6573 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 LDAP server repo1 has configured groups. Removing the server will remove the groups as well Get a Repository Description Get a repository that is connected to InfiniBox. API Endpoint GET api/rest/config/ldap/{id} URL Parameters id long ID of the repository Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "ldap_port": 636, "name": "repo1", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "cn=users,dc=mgmt,dc=local", "users_basedn": "cn=users,dc=mgmt,dc=local" }, "use_ldaps": true, "domain_name": "mgmt.local", "bind_username": "administrator", "search_order": 0, "servers": [], "repository_type": "ActiveDirectory", "id": 6650 }, "error": null } Errors USERS_REPOSITORY_NOT_FOUND HTTP 404 Invalid user repository ID Get Repositories Description Get all of the repositories that are connected to InfiniBox. API Endpoint GET api/rest/config/ldap URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "ldap_port": 636, "name": "auto-ldap-1-e4f6c979-7911-", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "cn=users,dc=mgmt,dc=local", "users_basedn": "cn=users,dc=mgmt,dc=local" }, "use_ldaps": true, "domain_name": "mgmt1.local", "bind_username": "administrator", "search_order": 1, "servers": [], "repository_type": "ActiveDirectory", "id": 2406 }, { "ldap_port": 636, "name": "auto-ldap-2-37284599-b144-", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "cn=users,dc=mgmt,dc=local", "users_basedn": "cn=users,dc=mgmt,dc=local" }, "use_ldaps": true, "domain_name": "mgmt2.local", "bind_username": "administrator", "search_order": 2, "servers": [], "repository_type": "ActiveDirectory", "id": 2407 } ], "error": null } Errors See general list of error codes. Reload Description Force refresh of authentication services API Endpoint POST api/rest/config/ldap/reload URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": null, "error": null } Errors See general list of error codes. Reorder Description Reorder the search priority of ldap repositories API Endpoint POST api/rest/config/ldap/set_order URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data [ 6900, 6898, -1 ] Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed MISSING_CONTENT HTTP 400 The request is empty LDAP_LIST_NOT_UNIQUE HTTP 400 LDAP list must contain unique values MALFORMED_PARAMETER HTTP 400 A parameter ('[0]') could not be translated to an expected type USERS_REPOSITORY_NOT_FOUND HTTP 404 Invalid user repository ID Resolve Domain Description Resolve the addresses of the domain controllers for a specified domain API Endpoint POST api/rest/config/ldap/resolve_domain URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Test Group by Ldap ID Description Test specific group in AD by entity-id, and return its DN API Endpoint POST api/rest/config/ldap/{id}/test_group URL Parameters id long ID of the repository JSON Data none Returns Errors See general list of error codes. No request examples available Test Ldap by ID Description Test specific users repository by entity-id API Endpoint POST api/rest/config/ldap/{id}/test URL Parameters id long ID of the repository JSON Data none Returns Errors See general list of error codes. No request examples available Test the Repository Communication to Infini Box Description Verify that the repository is connected to InfiniBox. API Endpoint POST api/rest/config/ldap/test URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Update the Repository Attributes Description Update the repository definition. API Endpoint PUT api/rest/config/ldap/{id} URL Parameters id long ID of the repository Roles ADMIN, INFINIDAT System States ALL JSON Data { "servers": [ "1.0.0.9" ] } Returns { "metadata": { "ready": true }, "result": { "ldap_port": 636, "name": "repo2", "schema_definition": { "group_memberof_attribute": "memberof", "group_name_attribute": "cn", "group_class": "group", "user_class": "user", "username_attribute": "sAMAccountName", "groups_basedn": "", "users_basedn": "" }, "use_ldaps": true, "domain_name": null, "bind_username": "administrator", "search_order": 1, "servers": [ "1.0.0.9" ], "repository_type": "LDAP", "id": 6573 }, "error": null } Errors INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (1.0.0.3, 1.0.0.3) for field ('servers') MALFORMED_CONTENT HTTP 400 The request content is malformed MALFORMED_PARAMETER HTTP 400 A parameter ('servers') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('repository_type') LDAP_SERVER_CONFLICT HTTP 409 LDAP server(s) 'Server' already configured LDAP_NAME_CONFLICT HTTP 409 LDAP name 'otherName' already configured Users InfiniBox supports both in-session and basic authentication. To start a new session, log into InfiniBox using: POST /api/rest/users/login {"username": "jabba", "password": "the hut", "clientid": "optional client identifier"}. Upon a successful login the client receives a cookie {"Set-Cookie", "JSESSIONID=6977862313998501146;Version=1;Path=/״} Each subsequent request is authenticated with a cookie. To end the session, log out of InfiniBox using: POST /api/rest/users/logout A User object looks like this: {"id": 17, "username": "sherlock", "email": "sherlock@example.com", "role": "ADMIN"} Each user belongs to one of the following roles: Admin ,PoolAdmin or ReadOnly. The ReadOnly role provides read-only access to the API. The Admin and PoolAdmin roles provide read-write access. Note: user names are case-sensitive. Create a User Description Add a user to the InfiniBox. API Endpoint POST api/rest/users URL Parameters none Roles ADMIN, INFINIDAT System States ALL JSON Data { "password": "Password#1234567890_1", "role": "POOL_ADMIN", "name": "auto-POOL_ADMIN-7bdb1375-9", "email": "POOL_ADMIN@infinidat.com" } Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": true, "password_digest_version": 1, "name": "auto-POOL_ADMIN-7bdb1375-9", "roles": [ "POOL_ADMIN" ], "enabled": true, "id": 194, "role": "POOL_ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "POOL_ADMIN@infinidat.com" }, "error": null } Errors MULTIPLE_ROLES_NOT_SUPPORTED HTTP 400 A user cannot have multiple roles MALFORMED_CONTENT HTTP 400 The request content is malformed ROLE_NOT_ALLOWED HTTP 400 Cannot assign LDAP users with role INFINIDAT INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'Lir,an' EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 'null' USER_PASSWORD_DOES_NOT_COMPLY_WITH_POLICY HTTP 400 User operation failed due to the password not complying with the policy MISSING_ROLE HTTP 400 Cannot have a user without a role MISSING_FIELD HTTP 400 A field ('password') is missing in an object passed WRONG_PARAMETER HTTP 400 The value (-1) of parameter 'password_digest_version' does not meet a condition: 'must be greater than 0 and lower or equal to 1' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('password_digest_version') UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges USER_ROLE_CREATE_FORBIDDEN HTTP 403 Insufficient privileges to create user with role: [TECHNICIAN] USER_ALREADY_EXISTS HTTP 409 User 'foobar1' already exists SSO_GROUP_COUNT_LIMIT HTTP 409 Group cannot be created: the number of SSO groups has reached system limit DUPLICATE_DISTINGUISHED_NAME HTTP 409 The Distinguished Name 'cn=all' provided is already mapped to group 'group1' on repository 'mgmt'. Please edit the permissions of this group SSO_USER_GROUP_NAME_CONFLICT HTTP 409 An SSO user group named '123' already exists for SSO identity provider 'Oktaa1113521-d359-41da-9245-ad5f7880b518' USER_COUNT_LIMIT HTTP 409 User cannot be created: the number of users has reached system limit SSO_USER_GROUP_ROLE_NOT_ALLOWED HTTP 409 Cannot assign role 'N/A' to SSO users LDAP_GROUP_COUNT_LIMIT HTTP 409 Group cannot be created: the number of Ldap groups has reached system limit Delete a User Description Delete a user Approval required This is a dangerous operation Deleting SSO user group 'ssoUgName' will invalidate all users currently logged in through SSO identity provider 'ssoIdpName' API Endpoint DELETE api/rest/users/{id} URL Parameters id Long ID of the user Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": true, "password_digest_version": 1, "name": "auto-POOL_ADMIN-2bb47277-0", "roles": [ "POOL_ADMIN" ], "enabled": true, "id": 4083, "role": "POOL_ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "POOL_ADMIN@infinidat.com" }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Deleting SSO user group 'ibox-readers' will invalidate all users currently logged in through SSO identity provider 'Oktac75f6284-ace1-4d58-94d4-9138b9a589b8' USER_ROLE_DELETE_FORBIDDEN HTTP 403 Insufficient privileges to delete user with role: [INFINIDAT] USER_NOT_FOUND HTTP 404 User not found USER_CANNOT_BE_SELF_DELETED HTTP 409 Users cannot delete themselves Disable User Description Disable user account API Endpoint POST api/rest/users/{id}/disable URL Parameters id Long ID of the user Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": true, "password_digest_version": 1, "name": "auto-ADMIN-e66ba95a-2c7c-4", "roles": [ "ADMIN" ], "enabled": false, "id": 19986, "role": "ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "ADMIN@infinidat.com" }, "error": null } Errors ACTION_NOT_ALLOWED_FOR_ROLE HTTP 403 User with role [READ_ONLY] is not allowed to perform this action USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('technician') does not have access to user '20062' USER_CANNOT_BE_SELF_MODIFIED HTTP 409 Users cannot disable themselves Do Reset Password Description API Endpoint GET api/rest/users/{name}/reset_password/{token} URL Parameters name String Name of the user token String Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "message": "The password has been updated" }, "error": null } Errors PASSWORD_RESET_REQUEST_EXPIRED HTTP 403 Password reset request has expired Enable User Description Enable user account API Endpoint POST api/rest/users/{id}/enable URL Parameters id Long ID of the user Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": true, "password_digest_version": 1, "name": "auto-ADMIN-a367a894-f179-4", "roles": [ "ADMIN" ], "enabled": true, "id": 20062, "role": "ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "ADMIN@infinidat.com" }, "error": null } Errors USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('technician') does not have access to user '-1' USER_CANNOT_BE_SELF_MODIFIED HTTP 409 Users cannot disable themselves Get a User Description Get a specific user. API Endpoint GET api/rest/users/{id} URL Parameters id Long ID of the user Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": true, "password_digest_version": 1, "name": "auto-POOL_ADMIN-7bdb1375-9", "roles": [ "POOL_ADMIN" ], "enabled": true, "id": 194, "role": "POOL_ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "POOL_ADMIN@infinidat.com" }, "error": null } Errors USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('auto-POOL_ADMIN-8c5b7d08-b') does not have access to user '20143' USER_NOT_FOUND HTTP 404 User not found Get a User by Name Description Get a specific user. API Endpoint GET api/rest/users/{name}/by_username URL Parameters name String Name of the user Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "infinidat", "roles": [ "INFINIDAT" ], "enabled": true, "id": -1, "role": "INFINIDAT", "is_digest_sufficient": true, "type": "Local", "email": "dev.mgmt@infinidat.com" }, "error": null } Errors USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('auto-POOL_ADMIN-8c5b7d08-b') does not have access to user 'auto-TECHNICIAN-63b61c94-7' USER_NOT_FOUND HTTP 404 User not found Get all Ldap Groups Description Get the InfiniBox Ldap user groups. Filterable and Sortable fields:id,name. API Endpoint GET api/rest/users/ldap_groups URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "dn": "admins.group.1", "name": "admins1", "roles": [ "ADMIN" ], "ldap_id": 19179, "role": "ADMIN", "ldap_name": "mgmt1", "type": "Ldap", "id": 19181 }, { "dn": "admins.group.2", "name": "admins2", "roles": [ "ADMIN" ], "ldap_id": 19180, "role": "ADMIN", "ldap_name": "mgmt2", "type": "Ldap", "id": 19182 }, { "dn": "guests.group.2", "name": "guests2", "roles": [ "READ_ONLY" ], "ldap_id": 19180, "role": "READ_ONLY", "ldap_name": "mgmt2", "type": "Ldap", "id": 19183 } ], "error": null } Errors See general list of error codes. Get all Sso Groups Description Get the InfiniBox SSO user groups. Filterable and Sortable fields:id,name. API Endpoint GET api/rest/users/sso_groups URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "idp_id": 19220, "name": "ibox-admins-1", "roles": [ "ADMIN" ], "idp_name": "Okta152a31291-c453-4959-ace6-6312bb162e72", "role": "ADMIN", "type": "Sso", "id": 19222 }, { "idp_id": 19221, "name": "ibox-admins-2", "roles": [ "ADMIN" ], "idp_name": "Okta2fab51302-0904-4349-8dff-262e191dbdad", "role": "ADMIN", "type": "Sso", "id": 19223 }, { "idp_id": 19221, "name": "ibox.guests-2", "roles": [ "READ_ONLY" ], "idp_name": "Okta2fab51302-0904-4349-8dff-262e191dbdad", "role": "READ_ONLY", "type": "Sso", "id": 19224 } ], "error": null } Errors See general list of error codes. Get all User Roles Description View all of the user roles provided by InfiniBox. API Endpoint GET api/rest/users/roles URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 6, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ "INFINIDAT", "ADMIN", "POOL_ADMIN", "TECHNICIAN", "READ_ONLY", "INFINIGUARD" ], "error": null } Errors See general list of error codes. Get all Users Description Get the InfiniBox users. Filterable and Sortable fields:id,name. API Endpoint GET api/rest/users URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 3, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "technician", "roles": [ "TECHNICIAN" ], "enabled": true, "id": -3, "role": "TECHNICIAN", "is_digest_sufficient": true, "type": "Local", "email": "dev.mgmt@infinidat.com" }, { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "admin", "roles": [ "ADMIN" ], "enabled": true, "id": -2, "role": "ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "dev.mgmt@infinidat.com" }, { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "infinidat", "roles": [ "INFINIDAT" ], "enabled": true, "id": -1, "role": "INFINIDAT", "is_digest_sufficient": true, "type": "Local", "email": "dev.mgmt@infinidat.com" } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('ldap_id') AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Get User Pools Description Get all of the pools that the user administers. API Endpoint GET api/rest/users/{uid}/pools URL Parameters uid Long ID of the user Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774520345611, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1000, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [ 4063, 4064 ], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--e7185ec6-ada5-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774520344079, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null }, { "non_reducible_host_written_data": null, "host_written_data": null, "standard_entities_count": 0, "updated_at": 1774520345682, "standard_filesystem_snapshots_count": 0, "standard_snapshots_count": 0, "max_extend": -1, "free_virtual_space": 1000000192512, "volumes_count": 0, "allocated_physical_space": 0, "fs_used_default_critical": 100, "non_reducible_data_reduction_ratio": null, "id": 1001, "reserved_capacity": 100000000000, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "s3_buckets_count": 0, "standard_filesystems_count": 0, "non_reducible_data_percents": null, "reducible_data_reduction_ratio": null, "vvol_entities_count": 0, "snapshots_count": 0, "state": "NORMAL", "tenant_id": 1, "fs_used_default_warning": 100, "type": "STANDARD", "free_physical_space": 1000000192512, "data_reduction_ratio": 1.0, "total_disk_usage": null, "filesystems_count": 0, "reducible_data_disk_usage_capacity": null, "vvol_snapshots_count": 0, "s3_bound": false, "thin_capacity_savings": null, "zeros_capacity": null, "entities_count": 0, "physical_capacity_critical": 90, "standard_volumes_count": 0, "internal_entities_count": null, "reducible_host_written_data": null, "owners": [ 4064 ], "vvol_volumes_count": 0, "capacity_savings": null, "name": "auto-pool--23c6e1a5-5b20-4", "virtual_capacity": 1000000192512, "allocated_internal_physical_space": 0, "created_at": 1774520345389, "filesystem_snapshots_count": 0, "compression_enabled": true, "qos_policies": [], "physical_capacity_warning": 80, "physical_capacity": 1000000192512, "thick_capacity_savings": null } ], "error": null } Errors USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('technician') does not have access to user '20207' Login the Sso User Description Login the SSO user. API Endpoint POST api/rest/users/login/sso URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Login the User Description Login the user. API Endpoint POST api/rest/users/login URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data { "username": "uuuu", "password": "paspas" } Returns { "metadata": { "ready": true }, "result": { "user_objects": null, "name": "uuuu", "roles": [ "ADMIN" ] }, "error": null } Errors BAD_USER HTTP 403 Authentication request failed Logout the User Description Logout the user. API Endpoint POST api/rest/users/logout URL Parameters none Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "user_objects": [ { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "admin", "roles": [ "ADMIN" ], "enabled": true, "id": -2, "role": "ADMIN", "is_digest_sufficient": true, "type": "Local", "email": "dev.mgmt@infinidat.com" } ], "name": "admin", "roles": [ "ADMIN" ] }, "error": null } Errors AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Modify User Attribute Description Modify user attribute Approval required This is a dangerous operation Enforce Password Policy for user 'user_name' will be disabled API Endpoint PUT api/rest/users/{id} URL Parameters id Long ID of the user Roles ALL System States ALL JSON Data { "password": "123" } Returns { "metadata": { "ready": true }, "result": { "enforce_user_password_policy": false, "password_digest_version": 1, "name": "INFINIDATUser", "roles": [ "INFINIDAT" ], "enabled": true, "id": 13444, "role": "INFINIDAT", "is_digest_sufficient": true, "type": "Local", "email": "infinidatuser@infinidat.com" }, "error": null } Errors MISSING_ROLE HTTP 400 Cannot have a user without a role SET_MISSING_ATTRIBUTE HTTP 400 Attribute not found: 'enabled' MALFORMED_PARAMETER HTTP 400 A parameter ('enforce_user_password_policy') could not be translated to an expected type INVALID_PASSWORD HTTP 400 Password must contain only ASCII characters INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters EMAIL_INVALID_RECIPIENT HTTP 400 Invalid email address: 'a@gmail.com.' UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('is_digest_sufficient') INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'Lir,an' USER_PASSWORD_DOES_NOT_COMPLY_WITH_POLICY HTTP 400 User operation failed due to the password not complying with the policy MISSING_FIELD HTTP 400 A field ('password') is missing in an object passed MALFORMED_CONTENT HTTP 400 The request content is malformed MISSING_CONTENT HTTP 400 The request is empty AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication USER_ROLE_MODIFY_FORBIDDEN HTTP 403 Insufficient privileges to modify user with role: [INFINIDAT] APPROVAL_REQUIRED HTTP 403 Enforce Password Policy for user 'admin' will be disabled UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Changing the enforce_user_password_policy is not allowed for the current roles: [POOL_ADMIN] USER_ROLE_ACCESS_FORBIDDEN HTTP 403 Your user ('auto-POOL_ADMIN-384a6cf4-3') does not have access to user '-2' USER_NOT_FOUND HTTP 404 User not found SSO_USER_GROUP_NAME_CONFLICT HTTP 409 An SSO user group named 'ibox-admins' already exists for SSO identity provider 'Oktac75f6284-ace1-4d58-94d4-9138b9a589b8' DUPLICATE_DISTINGUISHED_NAME HTTP 409 The Distinguished Name 'cn=all' provided is already mapped to group 'group1' on repository 'mgmt'. Please edit the permissions of this group USER_ALREADY_EXISTS HTTP 409 User 'local-admin' already exists USER_CANNOT_BE_SELF_MODIFIED HTTP 409 Users cannot modify their own role Reset Password for a User Description Reset the user’s password. API Endpoint POST api/rest/users/{name}/reset_password URL Parameters name String Name of the user Roles ALL System States ALL Invalid Operation States System States Methods LOCAL LOCAL_SHUTDOWN ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "message": "A password reset link has been sent to the email address registered for this user" }, "error": null } Errors See general list of error codes. Vm Get all Vms Description Returns vms according to filter and sort parameters. Filterable and Sortable fields:id,name. API Endpoint GET api/rest/vms URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "uuid": "naa.6742b0f0000000130000000000000001", "id": 89, "name": "vvolc1a211f3-d7b5-4fbc-a244-ca1a75835917" } ], "error": null } Errors See general list of error codes. Get Vm by ID Description Returns a vm by ID. API Endpoint GET api/rest/vms/{id} URL Parameters id long Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "uuid": "naa.6742b0f0000000130000000000000001", "id": 89, "name": "vvolc1a211f3-d7b5-4fbc-a244-ca1a75835917" }, "error": null } Errors See general list of error codes. Update Vm Description Updates a vm attributes with input map data. API Endpoint PUT api/rest/vms/{id} URL Parameters id long Roles ADMIN, INFINIDAT System States ALL JSON Data { "name": "newName" } Returns { "metadata": { "ready": true }, "result": { "uuid": "naa.6742b0f0000000130000000000000001", "id": 96, "name": "newName" }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('uuid') UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges VIRTUAL_MACHINE_NOT_FOUND HTTP 404 Virtual machine not found ATTRIBUTE_NOT_FOUND HTTP 404 Attribute not found: 'namee' Volume Create a Snapshot Group Description Create a snapshot group for several volumes at once. API Endpoint POST api/rest/volumes/group_snapshot URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "entities": [ { "id": 1001, "snap_name": "nnn" }, { "id": 1002 }, { "id": 1003 } ], "snap_suffix": "_suf", "snap_prefix": "pre_" } Returns { "metadata": { "ready": true }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--b4fa8b2a-2c63-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520049025, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1004, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, ... TRUNCATED ... Errors DATASET_NAME_WILL_BE_DUPLICATED HTTP 400 volume name 'pre_auto-volume--6fa42d45-5881_suf' would be duplicated WRONG_PARAMETER HTTP 400 The value (999) of parameter 'entity id' does not meet a condition: ' unique' USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-0a4963a3-d' is forbidden to modify pool 'auto-pool--6552f3b5-365d-4' VOLUME_NOT_FOUND HTTP 404 Volume not found VOLUME_NAME_CONFLICT HTTP 409 An entity with this name already exists OPERATION_NOT_SUPPORTED HTTP 409 Create protocol endpoint snapshot is not supported is not supported GROUP_MEMBERS_LIMIT_EXCEEDED HTTP 409 A snapshot group cannot have more than 2 members ACTIVE_ACTIVE_GROUP_SNAPSHOT_NOT_ALLOWED HTTP 409 Group snapshot cannot be created on an active active peer DATASET_BELONG_TO_DIFFERENT_POOL HTTP 409 volume 'auto-volume--3a7d7654-2bd6' belongs to a different pool REPLICATED_VOLUME_SNAPSHOT_NOT_ALLOWED HTTP 409 Snapshot cannot be created on replication target Create a Volume Description Create a new volume. Approval required This is a dangerous operation Dataset 'datasetName' will be added to SSA Express cache API Endpoint POST api/rest/volumes URL Parameters replicate_to_async_target boolean Replicate the created snapshot/s to the remote side Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "snapshot_policy_id": 0, "pool_id": 1000, "name": "auto-volume--b1f3e85a-097f", "provtype": "THIN", "size": 2000000000000 } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--dce1e4ba-1773-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519024480, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 2000000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--b1f3e85a-097f", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519024480, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 3906250000 }, "error": null } Errors MALFORMED_PARAMETER HTTP 400 A parameter ('size') could not be translated to an expected type UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') WRONG_PARAMETER HTTP 400 The value (0) of parameter 'remote_snapshot_retention' does not meet a condition: 'must be greater than or equal to 1' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters MISSING_FIELD HTTP 400 A field ('pool_id') is missing in an object passed INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'auto-infinidat-volume-*-6b' APPROVAL_REQUIRED HTTP 403 Dataset 'auto-volume--8f57d6bc-dfb0' will be added to SSA Express cache UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for [POOL_ADMIN] SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express VERSION_MISMATCH HTTP 403 The target system does not support 'remote_snapshot_retention_lock' attribute USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-0ec1afc1-2' is forbidden to modify pool 'auto-pool--774c64b0-2790-4' INVALID_SSA_EXPRESS_DATASET_TYPE HTTP 403 SSA Express does not support snapshots, consistency groups, snapshot groups and vVols NO_RMR_SNAPSHOT_FOUND HTTP 404 No replication snapshots found VOLUME_NOT_FOUND HTTP 404 Volume not found SNAPSHOT_POLICY_NOT_FOUND HTTP 404 Snapshot policy not found REPLICA_ALREADY_RECLAIMED HTTP 409 The entity requested is a replication staging area and has already been reclaimed with name auto-rmr-test-snap-a89b801 MAX_FAMILY_SIZE HTTP 409 The volume family whose root is 'auto-FamilyTestVolume-f2aa' now has 1 snapshots, which is the maximum allowed. New snapshots for this family can only be created after other snapshots are deleted REPLICA_INCONSISTENT_DATASETS HTTP 409 Taking a snapshot cannot be completed because at least one dataset has not reached a consistent state PROTOCOL_ENDPOINT_NAME_CONFLICT HTTP 409 An entity with this name already exists ILLEGAL_POOL_TYPE HTTP 409 Cannot create a VOLUME 'vol1' in vVol pool 'storage container' because it is dedicated for VMware vVols DATASET_MIN_CAPACITY HTTP 409 The requested volume size is less than the minimum volume size: 1GB REMOTE_SNAPSHOT_RETENTION_LOCK_INVALID HTTP 409 The 'remote_snapshot_retention_lock' field for source snapshots to be replicated cannot be set to null OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, creating a snapshot from an Active Active replica which is not consistent is not supported DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit INVALID_LOCK_DURATION_EXCEEDS_SNAPSHOT_RETENTION HTTP 409 A replicated snapshot's lock duration cannot be longer than the snapshot's retention POOL_PHYSICAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough physical capacity UNSUPPORTED_REMOTE_SNAPSHOT_RETENTION HTTP 409 The 'remote_snapshot_retention' field can only be set for snapshots of replicated datasets WRITABLE_LOCKED_SNAPSHOT HTTP 409 A snapshot cannot be both writable and locked MAX_TREE_DEPTH HTTP 409 Tree depth limit reached INVALID_LOCK_DURATION HTTP 409 Lock expiry cannot exceed 365 days UDID_NOT_VALID HTTP 409 The specified UDID value is not valid INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking volume is not allowed CANNOT_CREATE_WRITABLE_SNAPSHOT HTTP 409 A snapshot of a replica target cannot be write-enabled when created UNSUPPORTED_REMOTE_SNAPSHOT_RETENTION_LOCK HTTP 409 The 'remote_snapshot_retention_lock' field can only be set for snapshots of replicated datasets INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future ENTITY_NAME_IS_RESERVED HTTP 409 'Default_Protocol_Endpoint' is a reserved name and cannot be used by volumes CANNOT_TAKE_SNAPSHOT HTTP 409 Cannot take a snapshot due to a background process. Please retry later AUTO_UDID_UNIQUE_NOT_FOUND HTTP 409 Cannot assign a unique UDID within the specified range VOLUME_NAME_CONFLICT HTTP 409 An entity with this name already exists INSUFFICIENT_SSA_EXPRESS_CAPACITY HTTP 409 Not enough free capacity in SSA Express cache for this action REMOTE_SNAPSHOT_RETENTION_INVALID HTTP 409 The 'remote_snapshot_retention' field for source snapshots to be replicated cannot be set to null AUTO_UDID_DISABLED HTTP 409 Auto UDID is disabled SSA_EXPRESS_DATASET_MUST_BE_SSD_ENABLED HTTP 409 Datasets in SSA Express cache must be SSD enabled Create Volume Snapshot Description Create a new volume. API Endpoint POST api/rest/volumes URL Parameters replicate_to_async_target boolean Replicate the created snapshot/s to the remote side Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "parent_id": 1001, "name": "auto-volume--8dd33e72-043c" } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--637d59cc-822b-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519153033, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--8dd33e72-043c", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519153033, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 1, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('pool_id') INVALID_SSA_EXPRESS_DATASET_TYPE HTTP 403 SSA Express does not support snapshots, consistency groups, snapshot groups and vVols VOLUME_NOT_FOUND HTTP 404 Volume not found DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit REPLICA_INCONSISTENT_DATASETS HTTP 409 Taking a snapshot cannot be completed because at least one dataset has not reached a consistent state VOLUME_NAME_CONFLICT HTTP 409 An entity with this name already exists MAX_FAMILY_SIZE HTTP 409 The volume family whose root is 'auto-volume--89937539-86d9' now has 1 snapshots, which is the maximum allowed. New snapshots for this family can only be created after other snapshots are deleted Delete a Volume Description Delete a volume. Approval required This is a dangerous operation Deleting the entity 'dataset_name' will also delete all of its snapshots API Endpoint DELETE api/rest/volumes/{id} URL Parameters id long ID of the volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--1376728b-8494-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519218032, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "vol1", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519216920, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-0ec1afc1-2' is forbidden to modify pool 'auto-pool--774c64b0-2790-4' SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express APPROVAL_REQUIRED HTTP 403 Deleting the volume 'auto-volume-for-snapshot-d' will also delete all of its snapshots UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges for deleting a Protocol Endpoint DELETE_LOCKED_SNAPSHOT HTTP 409 Snapshot 'snap' is locked, and can only be deleted after '2026-03-31 13:29:41' UTC CHILD_VOLUMES_ARE_MAPPED HTTP 409 The volume 'auto-volume-test--46b38e0d' cannot be deleted. One or more of its children have active mappings REPLICATED_DATASET_DELETE_NOT_ALLOWED HTTP 409 A replicated volume cannot be deleted. Remove the replication, then delete the volume DELETE_SNAPSHOT_WITH_LOCKED_DESCENDANTS HTTP 409 Snapshot 'auto-volume--ffe9f7e9-d61f' has locked descendants, and can only be deleted after they expire, on: '2026-03-31 13:29:48' UTC VOLUME_HAS_RMR_SNAPSHOTS HTTP 409 The volume has replication snapshots VOLUME_IS_MAPPED HTTP 409 The volume cannot be deleted. Volume 'auto-volume--c7529683-04d2' has active mappings DELETE_VOLUME_IN_PROMOTION_PROCESS HTTP 409 Cannot delete this volume because a process is running in the background. Please retry later CG_DATASET_DELETE_NOT_ALLOWED HTTP 409 Volume vol1 belongs to consistency group cg1 and cannot be deleted Get a Volume Description Get a volume. API Endpoint GET api/rest/volumes/{id} URL Parameters id long ID of the volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--e6d24649-22cb-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519029435, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--89de154e-1f89", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519029435, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1002, "compression_enabled": true, "family_id": 1003, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": true, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors VOLUME_NOT_FOUND HTTP 404 Volume not found MALFORMED_ID_TYPE HTTP 404 Object Not Found. Invalid id type (expect to get Number) Get a Volume Attribute Description Get a volume attribute. API Endpoint GET api/rest/volumes/{id}/{attribute} URL Parameters id long ID of the volume attribute String An attribute of the volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": 1000, "error": null } Errors See general list of error codes. Get all Internal Volumes Description Return all internal volumes according to type; master or snapshot Filterable and Sortable fields:_cg_guid,_cg_snapshot_guid,compression_enabled,created_at,data_snapshot_guid,dataset_type,depth,family_id,id,lock_expires_at,mapped,mgmt_snapshot_guid,mobility_source,name,provtype,_reclaimed_snapshot_remote_system_serial,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_active_active_peer,rmr_snapshot_guid,rmr_source,rmr_target,serial,size,snapshot_retention,source_replicated_sg_id,ssa_express_enabled,ssd_enabled,type,udid,updated_at,write_protected. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/volumes/internal_volumes/{internal_type} URL Parameters internal_type VolumeType The type of the internal volume; master or snapshot Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--e1144bdf-b163-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 0, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": null, "non_reducible_data_reduction_ratio": null, "id": 1003, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": null, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": null, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": true, "reducible_host_written_data": null, "nguid": null, "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "internal-auto-volume--eeb47d75-17ae", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 0, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": null, "family_id": null, "depth": 0, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": null } ], "error": null } Errors See general list of error codes. Get all Volumes Description Get all of the volumes. Filterable and Sortable fields:_cg_guid,_cg_snapshot_guid,compression_enabled,created_at,data_snapshot_guid,dataset_type,depth,family_id,id,lock_expires_at,mapped,mgmt_snapshot_guid,mobility_source,name,provtype,_reclaimed_snapshot_remote_system_serial,remote_snapshot_retention,remote_snapshot_retention_lock,rmr_active_active_peer,rmr_snapshot_guid,rmr_source,rmr_target,serial,size,snapshot_retention,source_replicated_sg_id,ssa_express_enabled,ssd_enabled,type,udid,updated_at,write_protected. Filterable only fields:reducible_data_percents,reducible_data_reduction_ratio. API Endpoint GET api/rest/volumes URL Parameters include_data_reduction_hist boolean Show the effective capacity histogram and reserve fields Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 10, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--a8790b33-70aa-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519115507, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, ... TRUNCATED ... Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('promote_source_id') UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'EQ' is not supported by this resource MALFORMED_PARAMETER HTTP 400 A parameter ('111') could not be translated to an expected type AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication Get LUNs by Vol ID Description Returns volume LUNs API Endpoint GET api/rest/volumes/{volume_id}/luns URL Parameters volume_id long ID of the volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 2, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 0, "id": 98, "lun": 11 }, { "udid": null, "host_cluster_id": 1001, "volume_id": 1003, "clustered": true, "host_id": 1000, "id": 99, "lun": 11 } ], "error": null } Errors See general list of error codes. Get Replication Pairs by Vol ID Description Returns volume replication pairs API Endpoint GET api/rest/volumes/{id}/replication_pairs URL Parameters id long ID of the volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "local_base_action": "NO_BASE_DATA", "local_entity": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--a940f466-d1ca-4", "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520749198, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "num_blocks": 1953125, "replication_types": [ "ASYNC_SOURCE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, ... TRUNCATED ... Errors See general list of error codes. Get Volume Internal Children by ID Description Return all internal volumes of a volume by its id API Endpoint GET api/rest/volumes/{parent_id}/internal_volumes URL Parameters parent_id long The id of the parent volume Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--c70aa7af-81f6-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 0, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": null, "non_reducible_data_reduction_ratio": null, "id": 1004, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": null, "parent_id": 1005, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": null, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": true, "reducible_host_written_data": null, "nguid": null, "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "internal-auto-volume--66b50d1f-ef16", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 0, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": null, "family_id": null, "depth": 0, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": null } ], "error": null } Errors See general list of error codes. Get Volumes Raw Description Returns volumes list API Endpoint GET api/rest/volumes/_raw URL Parameters none JSON Data none Returns Errors See general list of error codes. No request examples available Move a Volume to Another Pool Description Move the volume to another pool in InfiniBox. API Endpoint POST api/rest/volumes/{id}/move URL Parameters id long ID of the volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "pool_id": 1001, "with_capacity": true } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--a9264e9e-9545-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519577602, "paths_available": null, "lock_state": "UNLOCKED", "used": null, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1499999999488, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": false, "snapshot_policy_id": 3636, "mobility_source": null, "tree_allocated": null, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": "Default Policy", "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THICK", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--7da030a0-3bfb", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519577298, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1001, "compression_enabled": true, "family_id": 1002, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": null, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 2929687499 }, "error": null } Errors USER_IS_FORBIDDEN HTTP 403 User 'auto-POOL_ADMIN-d544dcaa-8' is forbidden to modify pool 'auto-pool--be758630-b26b-4' VOLUME_NOT_FOUND HTTP 404 Volume not found OPERATION_NOT_SUPPORTED HTTP 409 Move protocol endpoint is not supported CG_DATASET_MOVE_NOT_ALLOWED HTTP 409 A dataset in a consistency group cannot be moved DATASET_NOT_MASTER HTTP 409 The volume is not a master volume POOL_BELONGS_TO_DIFFERENT_TENANT HTTP 409 Pool 'auto-pool--d2fdd1f7-7ff3-4' belongs to a different tenant REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Moving an active-active replicated entity to a pool assigned with a QoS policy INSUFFICIENT_POOL_CAPACITY HTTP 409 The pool has insufficient capacity. Reason: The capacity of the target pool is insufficient for this action. Pool free capacity is approximately: 1TB, required capacity is approximately: 1.5TB. The capacity is accurate up to 1GB due to internal conversions ILLEGAL_MOVE_TO_VVOL_POOL HTTP 409 Cannot move VOLUME 'volume-for-move-test' into vVol pool 'test-vvol-move-pool', because 'test-vvol-move-pool' is dedicated for VMware vVols ILLEGAL_POOL_CAPACITY HTTP 409 The requested capacity is not allowed. Reason: Pool capacity is less than the minimum capacity of 1TB. Wrong capacity value: 327.68KB POOL_VIRTUAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough virtual capacity S3_POOL_MOVE_ENTITIES_NOT_ALLOWED HTTP 409 Entities cannot be moved to or from an S3 pool Promote Snapshot Description Promote a snapshot to a master volume Approval required This is a dangerous operation If this snapshot is promoted, its retention period will be cleared API Endpoint POST api/rest/volumes/{id}/promote URL Parameters id long The ID of the snapshot to promote Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--7aea0c01-bd07-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519837812, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": 1003, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": false, "data_reduction_ratio": 1.0, "has_internal_children": true, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": 0, "name": "auto-volume--45001a92-1bfa", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774519837742, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1002, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 If this snapshot is promoted, its retention period will be cleared FEATURE_NOT_ENABLED HTTP 409 Promote Snapshot feature is not enabled POOL_VIRTUAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough virtual capacity PROMOTE_SNAPSHOT_WITH_CHILDREN HTTP 409 This snapshot has sub-snapshots and cannot be promoted PROMOTE_MASTER_ENTITY HTTP 409 Only snapshots and snap groups can be promoted DATASET_COUNT_LIMIT HTTP 409 The request exceeds the dataset count limit PROMOTE_VVOL_OR_FILESYSTEM_NOT_SUPPORTED HTTP 409 A filesystem or vVol cannot be promoted PROMOTE_SNAPSHOT_PART_OF_SG HTTP 409 This snapshot is part of a snap group and cannot be promoted PROMOTE_LOCKED_SNAPSHOT HTTP 409 This snapshot is locked and cannot be promoted Refresh a Volume Snapshot Description Refresh a volume snapshot Approval required This is a dangerous operation Refreshing entity 'dataset_name' will overwrite its cg_membersdata API Endpoint POST api/rest/volumes/{id}/refresh URL Parameters id long ID of the target snapshot Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1003 } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--fc5a8359-e7c8-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520616288, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "555666", "non_reducible_data_reduction_ratio": null, "id": 1005, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": false, "parent_id": 1003, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": null, "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "s1", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774520616202, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1001, "compression_enabled": true, "family_id": 1003, "depth": 1, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors APPROVAL_REQUIRED HTTP 403 Refreshing snapshot 'auto-volume--b9613025-1b68' will overwrite its data DATASET_NOT_FOUND HTTP 404 Dataset not found REFRESH_TARGET_NOT_DIRECT_SNAPSHOT HTTP 409 The target that is provided for this operation is not a direct snapshot of the source ILLEGAL_POOL_STATE HTTP 409 Illegal pool state REFRESH_TARGET_IS_MEMBER_OF_SG HTTP 409 The target is a member of snapshot group 'sg1' REFRESH_TARGET_IS_NOT_POSSIBLE HTTP 409 Refreshing a snapshot of a replica target can only take place once in a sync cycle. Please wait for the next sync cycle to refresh again TARGET_REPLICATED_SNAPSHOT_REFRESH_NOT_ALLOWED HTTP 409 A target replicated snapshot cannot be refreshed REPLICA_INCONSISTENT_DATASETS HTTP 409 Refreshing a snapshot on target cannot be completed because at least one dataset has not reached a consistent state REFRESH_TARGET_IS_RMR_SNAPSHOT HTTP 409 The target is a replication snapshot INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires OPERATION_NOT_SUPPORTED HTTP 409 Please try to suspend the replica again, refreshing a snapshot from an Active Active replica which is not consistent is not supported REFRESH_TARGET_IS_NOT_AVAILABLE HTTP 409 Refresh snapshot of a replica target is currently not available since there is no new consistent data to refresh REFRESH_TARGET_HAS_CHILDREN HTTP 409 The target that is provided for this operation has children REFRESH_TARGET_NOT_SNAPSHOT HTTP 409 The target that is provided for this operation is not a snapshot Reset Volume Serial Description Reset volume serial API Endpoint POST api/rest/volumes/{id}/reset_serial URL Parameters id long The id of the volume Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--e0668ce8-0a61-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520296116, "paths_available": null, "lock_state": "UNLOCKED", "used": null, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1001, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": false, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": null, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-volume--2be09a03-0268", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774520296116, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": null, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges CANNOT_RESET_VOLUME_SERIAL HTTP 409 Cannot reset volume serial since it is a snapshot OPERATION_NOT_SUPPORTED HTTP 409 Reset protocol endpoint serial is not supported Restore Volume from Snap Description Restore volume using supplied snapshot ID Approval required This is a dangerous operation Restoring entity 'dataset_name' will overwrite its cg_membersdata API Endpoint POST api/rest/volumes/{id}/restore URL Parameters id long ID of the target volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "source_id": 1002 } Returns { "metadata": { "ready": true }, "result": true, "error": null } Errors MALFORMED_CONTENT HTTP 400 The request content is malformed APPROVAL_REQUIRED HTTP 403 Restoring volume 'auto-volume-for-snapshot-d' will overwrite its data SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express USER_IS_FORBIDDEN HTTP 403 'auto-volume--bab191df-4c11' is located in a pool on which the current user has read-only permissions VOLUME_NOT_FOUND HTTP 404 Volume not found INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires REPLICATED_DATASET_RESTORE_NOT_ALLOWED HTTP 409 Replicated volume cannot be restored PROTECTED_DATASET_CANNOT_BE_RESTORED HTTP 409 A dataset (auto-volume--5f2b6287-c368) that is write-protected cannot be restored ILLEGAL_RESTORE_REQUEST HTTP 409 Dataset cannot be restored. auto-volume--b7b7c226-e7de is not a descendant of auto-volume-for-snapshot-2-462e3043-8f17-4598-9 OPERATION_NOT_SUPPORTED HTTP 409 Restore protocol endpoint is not supported CORE_IN_PROGRESS HTTP 409 Core service failed to execute the request due to another ongoing request. Core status: STATUS_NORESOURCE, core description: null SYSTEM_READ_ONLY HTTP 409 The system is now Read-Only. No data can be written while the system is in this state Simulate a Volume Deletion Description Estimates the capacity that will be reclaimed following a volume deletion. Approval required This is a dangerous operation This involves a dataset that was previously part of a promote action. The calculation might be inaccurate API Endpoint POST api/rest/volumes/delete_simulation URL Parameters none Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "entities": [ 1002 ] } Returns { "metadata": { "ready": true }, "result": { "valid": true, "space_reclaimable": 0 }, "error": null } Errors UNSUPPORTED_VALUE HTTP 400 The request contains an unsupported value (null) for field ('entities') APPROVAL_REQUIRED HTTP 403 This involves a dataset that was previously part of a promote action. The calculation might be inaccurate Take Rmr Snapshot Ownership Description Takes ownership of the latest RMR snapshot of a volume and gives it requested name. API Endpoint POST api/rest/volumes/{id}/own_snapshot URL Parameters id Long ID of the volume Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--834e9610-5db2-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774520098352, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": false, "parent_id": 1001, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "SNAPSHOT", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": null, "has_internal_children": null, "snapshot_policy_id": null, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": null, "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "unique_name", "data_snapshot_guid": null, "udid": null, "reducible_data_reduction_ratio": null, "created_at": 1774520098352, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1001, "depth": 1, "dataset_type": "VOLUME", "write_protected": true, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors MISSING_CONTENT HTTP 400 The request is empty VOLUME_NOT_FOUND HTTP 404 Volume not found NO_RMR_SNAPSHOT_FOUND HTTP 404 No replication snapshots found OPERATION_NOT_SUPPORTED HTTP 409 Take RMR protocol endpoint snapshot is not supported VOLUME_NAME_CONFLICT HTTP 409 An entity with this name already exists RMR_SNAPSHOT_ALREADY_RECLAIMED HTTP 409 Replication snapshot has been already reclaimed ManagedVolume [id=1002, name=unique_name, createdAt=1774520098, type=SNAPSHOT, writeProtected=true, size=1000000000, provtype=THIN, mapped=false, serial=a112233445566778899aabbccddeeff, depth=1, pool=Pool [id=1000, name=auto-pool--834e9610-5db2-4, hard_capacity=1000000192512, soft_capacity=1000000192512], rmrTarget=false, rmrSource=false, replicationPairs={IndirectList: not instantiated}, rmrSnapshotGUID=null, lockExpiresAt=null, tenantId=1] Update a Volume Attribute Description Update an attribute of a volume. For example: set the volume capacity to be compressed by setting the value of compression_enabled to yes Approval required This is a dangerous operation Disabling writes to entity 'volume_name' will prevent the hosts from writing to it, which may cause the application to fail API Endpoint PUT api/rest/volumes/{id} URL Parameters id long ID of the volume force_resize boolean Allow force resize Roles POOL_ADMIN, ADMIN, INFINIDAT System States ALL JSON Data { "udid": 1234 } Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "remote_snapshot_retention": null, "host_written_data": null, "pool_name": "auto-pool--27bd458f-ac53-4", "cg_name": null, "_cg_snapshot_guid": null, "rmr_target": false, "updated_at": 1774519445519, "paths_available": null, "lock_state": "UNLOCKED", "used": 0, "qos_policy_name": null, "serial": "a112233445566778899aabbccddeeff", "non_reducible_data_reduction_ratio": null, "id": 1002, "qos_shared_policy_name": null, "ssa_express_enabled": false, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "parent_id": 0, "source_replicated_sg_id": null, "remote_snapshot_retention_lock": null, "snapshot_retention": null, "mgmt_snapshot_guid": null, "ssa_express_status": null, "tenant_id": 1, "_reclaimed_snapshot_remote_system_serial": null, "promote_source_id": null, "created_by_schedule_id": null, "replication_types": [ "NONE" ], "created_by_schedule_name": null, "created_by_snapshot_policy_id": null, "size": 1000000000, "type": "MASTER", "has_children": false, "qos_shared_policy_id": null, "rmr_source": false, "compression_suppressed": null, "data_reduction_ratio": 1.0, "has_internal_children": null, "snapshot_policy_id": 1678, "mobility_source": null, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "created_by_snapshot_policy_name": null, "zeros_capacity": null, "lock_expires_at": null, "cg_id": null, "snapshot_policy_name": "Default Policy", "is_internal": false, "reducible_host_written_data": null, "nguid": "8899aabb-ccdd-eeff-a112-230344556677", "provtype": "THIN", "capacity_savings_per_entity": null, "rmr_snapshot_guid": null, "capacity_savings": null, "name": "auto-Volume4Test-9bed128a-", "data_snapshot_guid": null, "udid": 1234, "reducible_data_reduction_ratio": null, "created_at": 1774519445041, "qos_policy_id": null, "snapshot_expires_at": null, "pool_id": 1000, "compression_enabled": true, "family_id": 1002, "depth": 0, "dataset_type": "VOLUME", "write_protected": false, "mapped": false, "replica_ids": [], "allocated": 0, "_cg_guid": null, "non_reducible_data_percents": null, "rmr_active_active_peer": false, "num_blocks": 1953125 }, "error": null } Errors NOT_SUPPORTED_MULTIPLE_UPDATE HTTP 400 This resource does not support updating multiple fields in one request MALFORMED_CONTENT HTTP 400 The request content is malformed MALFORMED_PARAMETER HTTP 400 A parameter ('udid') could not be translated to an expected type INVALID_CHARACTERS_IN_NAME HTTP 400 Invalid characters in name 'blablabla****' WRONG_PARAMETER HTTP 400 The value (null) of parameter 'write_protected' does not meet a condition: 'must be valid boolean' INVALID_NAME_LENGTH HTTP 400 Name must be of length between 1 and 65 characters UNSUPPORTED_FIELD HTTP 400 The request contains an unsupported field ('tenant_id') SSA_EXPRESS_BUSY HTTP 403 You cannot add or remove a dataset from SSA Express that is in the process of being removed or added to SSA Express REMOTE_PERMISSION_REQUIRED HTTP 403 The operation failed as it requires permission on the remote system APPROVAL_REQUIRED HTTP 403 Disabling writes to volume 'auto-volume--7ec1aea0-4314' will prevent the hosts from writing to it, which may cause the application to fail UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: Method is not allowed for [POOL_ADMIN] SSA_EXPRESS_QUEUE_FULL HTTP 403 The SSA Express queue has reached its limit of 100 datasets. You cannot add more datasets at this time INVALID_SSA_EXPRESS_DATASET_TYPE HTTP 403 SSA Express does not support snapshots, consistency groups, snapshot groups and vVols POOL_VIRTUAL_CAPACITY HTTP 409 Cannot perform the operation because the pool does not have enough virtual capacity REPLICA_OPERATION_NOT_ALLOWED_ON_SOURCE_AND_TARGET HTTP 409 This operation cannot be performed on entity 'auto-volume--05170e76-2097' which is both a replication source and target REPLICA_NOT_ALLOWED_ON_TARGET HTTP 409 This operation can only be performed on the source side of the replica VOLUME_CANNOT_BE_RESIZED_ACTIVE_AA_REPLICA HTTP 409 A peer of an active-active replica auto-volume--86d752fe-2c2d cannot be resized when the replica is active. Suspend the replica before resizing the volume DATASET_SHRINKING_NOT_ALLOWED HTTP 409 volume size cannot be reduced INVALID_LOCK_EXPIRY HTTP 409 Lock expiry date has to be in the future SNAP_RESIZE_NOT_ALLOWED HTTP 409 A write-protected snapshot cannot be resized SNAPSHOT_RETENTION_FIELD_NOT_SUPPORTED HTTP 409 The retention cannot be changed because snapshot 'auto-snap--83c17ca3-36ba-4' is not a replicated snapshot, and it was not created by a snapshot policy COMPRESSION_OPERATION_NOT_ALLOWED HTTP 409 Compression cannot be enabled or disabled on a single snapshot REPLICA_PARTIAL_FAILURE HTTP 409 Replica(s) local entity operation (Updating a volume attribute) failed, replica(s) status is unknown. User intervention is required. Replicas in partial failure state: Replica between auto-volume--6c349b55-5bc0 on system ibox012-mock-no-bbu and auto-volume--6c349b55-5bc0 on system fred, Replica between auto-volume--6c349b55-5bc0 on system ibox012-mock-no-bbu and auto-volume--6c349b55-5bc0 on system fred SSA_EXPRESS_DATASET_MUST_BE_SSD_ENABLED HTTP 409 Datasets in SSA Express cache must be SSD enabled VOLUME_REPLICA_CANNOT_BE_RESIZED_ON_LOCAL_SYSTEM HTTP 409 A peer of an active-active replica auto-volume--a922f134-93e5 cannot be resized from the lagging side REPLICATED_DATASET_WP_REMOVAL_NOT_ALLOWED HTTP 409 Replicated volume write-protect attribute cannot be changed UDID_ILLEGAL_MODIFICATION HTTP 409 Modifying the UDID value of a mapped volume is prohibited ACTIVE_ACTIVE_REPLICA_PROVTYPE_CHANGE_NOT_ALLOWED HTTP 409 Changing the provisioning type for an active-active replicated entity is not allowed INSUFFICIENT_SSA_EXPRESS_CAPACITY HTTP 409 Not enough free capacity in SSA Express cache for this action NON_SNAPSHOT_RETENTION_CANNOT_BE_MODIFIED HTTP 409 Only snapshots and snap groups can have a retention time INVALID_OPERATION_ON_LOCKED_SNAPSHOT HTTP 409 This operation is not allowed on a locked snapshot until its lock expires WRITE_ENABLE_LOCKED_SNAPSHOT HTTP 409 Snapshot 'snap' is locked, and can only be write-enabled after '2026-04-02 13:28:59' UTC OPERATION_NOT_SUPPORTED HTTP 409 Resizing an Active Active replica which is not consistent. Please try to suspend the replica again is not supported VOLUME_RESIZE_NOT_ALLOWED HTTP 409 A write-protected volume cannot be resized ILLEGAL_DATASET_SIZE HTTP 409 The requested volume size is not allowed SNAPSHOT_LOCK_FORBIDDEN HTTP 409 Snapshot 'p_auto-volume--503475bd-ad14_s' cannot be further locked as it is member of a snap-group UDID_NOT_VALID HTTP 409 The specified UDID value is not valid UNLOCK_FORBIDDEN HTTP 409 Snapshot 'snap' is locked until '2026-03-31 13:29:10' UTC, the lock cannot be removed ACTIVE_ACTIVE_REPLICA_CANNOT_BE_WRITE_PROTECTED HTTP 409 An active-active replicated entity 'auto-volume--86d752fe-2c2d' cannot be write-protected DATASET_SSA_EXPRESS_ALREADY_DISABLED HTTP 409 Dataset 'auto-volume--6f5532ba-caa5' was not in SSA Express cache SNAPSHOT_RETENTION_INVALID HTTP 409 The new snapshot retention must be longer than the current one LOCK_EXPIRY_TOO_SHORT HTTP 409 The lock expiry of snapshot 'snap' cannot be lowered. Current expiry time is '2026-03-31 13:28:59' UTC OPERATION_CANNOT_BE_DONE_ON_CONCURRENT_ASYNC_REPLICA HTTP 409 Resize dataset failed because it is not supported for concurrent async replica DATASET_NOT_MASTER HTTP 409 The volume is not a master volume DATASET_SSA_EXPRESS_ALREADY_ENABLED HTTP 409 Dataset 'auto-volume--6f5532ba-caa5' is already in SSA Express cache REPLICA_UNSUPPORTED_FEATURE HTTP 409 Replication feature not yet supported: Replicated dataset can be resized only if it is part of an async replica or a suspended active active replica INVALID_LOCK_ENTITY_TYPE HTTP 409 Locking volume is not allowed REPLICA_IS_RESERVED_FOR_INFINISAFE HTTP 409 Replica is reserved for infinisafe, Dataset resize is not allowed Vvol Delete Vvol Description Deletes a single vvol. API Endpoint DELETE api/rest/vvols/{id} URL Parameters id long Roles ADMIN, INFINIDAT System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "host_written_data": null, "_core_vvol_guid": "3fa340f9-8138-48ad-8569-82d4592c884e", "updated_at": 1774519077961, "vvol_type": "Config", "create_time": null, "vm_uuid": "naa.6742b0f0000000130000000000000001", "non_reducible_data_reduction_ratio": null, "id": 1002, "size": 1048576, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "uuid": "naa.6742b0f00000001300000000000003ea", "non_reducible_data_percents": null, "parent_id": 0, "type": "MASTER", "pool_name": "auto-pool-0849823c-68cd-4620-9", "data_reduction_ratio": 1.0, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "replication_group_id": null, "guest_os": null, "zeros_capacity": null, "_consistent_guid": null, "reducible_host_written_data": null, "vm_id": 77, "provtype": "THIN", "capacity_savings_per_entity": null, "capacity_savings": null, "name": "Config-3ea", "reducible_data_reduction_ratio": null, "created_at": 1774519077961, "pool_id": 1001, "compression_enabled": true, "depth": 0, "is_replicated": false }, "error": null } Errors UNAUTHORIZED HTTP 403 You are not authorized for this operation, reason: insufficient privileges VVOL_NOT_FOUND HTTP 404 vVol not found VVOL_CANNOT_BE_DELETED HTTP 409 The vvol 'Config-3eb' cannot be deleted. reason: vvol is a member of RG: auto-RG-219e2288-1ae9-44ee Get all Vvols Description Returns vvols according to filter and sort parameters. Filterable and Sortable fields:_core_vvol_guid,create_time,created_at,depth,guest_os,id,name,pool_id,provtype,size,type,updated_at,uuid,vm_uuid,vvol_type. API Endpoint GET api/rest/vvols URL Parameters none Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true, "number_of_objects": 1, "pages_total": 1, "page": 1, "page_size": 50 }, "result": [ { "disk_usage": null, "non_reducible_host_written_data": null, "host_written_data": null, "_core_vvol_guid": "0ebc56ad-15b4-4981-ac3e-9faf481fbdf6", "updated_at": 1774518662391, "vvol_type": "Other", "create_time": null, "vm_uuid": null, "non_reducible_data_reduction_ratio": null, "id": 55, "size": 1048576, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "uuid": "naa.6742b0f0000000130000000000000037", "non_reducible_data_percents": null, "parent_id": 0, "type": "MASTER", "pool_name": "auto-pool-4389fd36-9be9-474a-a", "data_reduction_ratio": 1.0, "tree_allocated": null, "reducible_data_disk_usage_capacity": null, "replication_group_id": 1002, "guest_os": null, "zeros_capacity": null, "_consistent_guid": null, "reducible_host_written_data": null, "vm_id": 0, "provtype": "THIN", "capacity_savings_per_entity": null, "capacity_savings": null, "name": "Other-37", "reducible_data_reduction_ratio": null, "created_at": 1774518662391, "pool_id": 1001, "compression_enabled": true, "depth": 0, "is_replicated": true } ], "error": null } Errors NOT_FILTERABLE_FIELD HTTP 400 The request contains a field that cannot be filtered: ('ssd_enabled') MALFORMED_PARAMETER HTTP 400 A parameter ('0') could not be translated to an expected type UNSUPPORTED_FILTER_RELATION HTTP 400 The filtering operator 'IN' is not supported by this resource AUTHENTICATION_REQUIRED HTTP 401 The operation requires authentication OPERATION_NOT_SUPPORTED HTTP 409 Sorting by field: 'is_replicated' is not supported Get Vvol by ID Description Returns a vvol by ID. API Endpoint GET api/rest/vvols/{id} URL Parameters id long Roles ALL System States ALL JSON Data none Returns { "metadata": { "ready": true }, "result": { "disk_usage": null, "non_reducible_host_written_data": null, "host_written_data": null, "_core_vvol_guid": "c92def24-cba6-42f5-b3cf-96ab13917932", "updated_at": 1774518678270, "vvol_type": "Config", "create_time": null, "vm_uuid": "naa.6742b0f0000000130000000000000001", "non_reducible_data_reduction_ratio": null, "id": 1003, "size": 1048576, "non_reducible_data_disk_usage_capacity": null, "reducible_data_percents": null, "ssd_enabled": true, "uuid": "naa.6742b0f00000001300000000000003eb", "non_reducible_data_percents": null, "parent_id": 0, "type": "MASTER", "pool_name": "auto-pool--e624254c-d942-4", "data_reduction_ratio": 1.0, "tree_allocated": 0, "reducible_data_disk_usage_capacity": null, "replication_group_id": 1002, "guest_os": null, "zeros_capacity": null, "_consistent_guid": null, "reducible_host_written_data": null, "vm_id": 9, "provtype": "THIN", "capacity_savings_per_entity": null, "capacity_savings": null, "name": "Config-3eb", "reducible_data_reduction_ratio": null, "created_at": 1774518678270, "pool_id": 1001, "compression_enabled": true, "depth": 0, "is_replicated": true }, "error": null } Errors VVOL_NOT_FOUND HTTP 404 vVol not found