Create Logical Device Accounts

post

/logicalDeviceAccount

Creates one or more logical device accounts with the given details. To create multiple logical device accounts, include the quantity parameter set to the number to create. If you create multiple logical device accounts, they will all have the same details.

The following fields are mandatory for successful creation:

  • @type
  • name
  • resourceSpecification

To create a resource relationship, resourceRelationship.type and resourceRelationship.resourceRef are mandatory. ResourceRef should contain the minimum details of id and @type. The relationship type can be ASSOCIATES or INVOLVE. The created logical device account will be shown in the response along with the location URL, except when "fields=none" is provided in the request.

Request

Query Parameters
Supported Media Types
Request Body - application/json ()
The logical device account to be created.
Root Schema : schema
A logical device account.
Match All
Show Source
Nested Schema : LogicalResource
Type: object
The base class for logical resources.
Match All
Show Source
Nested Schema : Discriminator: @type
Type: object
A base resource Class.
Show Source
Nested Schema : LogicalResource-allOf[1]
Type: object
Nested Schema : type
Type: object
Show Source
Back to Top

Response

Supported Media Types

201 Response

The logical device accounts were created successfully.
Body ()
Root Schema : schema
Type: array
Show Source
Nested Schema : schema
A logical device account.
Match All
Show Source
Nested Schema : LogicalResource
Type: object
The base class for logical resources.
Match All
Show Source
Nested Schema : Discriminator: @type
Type: object
A base resource Class.
Show Source
Nested Schema : LogicalResource-allOf[1]
Type: object
Nested Schema : type
Type: object
Show Source

400 Response

The request isn't valid.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

401 Response

You aren't authorized to make this request.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

403 Response

The request is forbidden.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source

500 Response

An internal server error occurred.
Body ()
Root Schema : Error
Type: object
Used when an API throws an error. This is typically used with HTTP error response codes (3xx, 4xx, 5xx).
Show Source
  • The error code.
  • Allowed Values: [ "CustomObject", "CustomNetworkAddress", "DeviceInterface", "Equipment", "EquipmentHolder", "FlowIdentifier", "GeographicLocation", "GeographicSite", "GeographicAddress", "PropertyLocation", "LogicalDevice", "LogicalDeviceAccount", "MediaStream", "Network", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "Pipe", "Service", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPSubnet", "NetworkAddressDomain", "Connectivity", "Party" ]
    The list of valid values for an entity class.
  • message
    The text that provides more details about the error as well as corrective actions.
  • The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
  • The URL pointing to the documentation that describes the error.
  • The HTTP error code extension, such as 400-2.
Nested Schema : message
Type: array
The text that provides more details about the error as well as corrective actions.
Show Source
Back to Top

Examples

Create a Single Logical Device Account

This example shows how to create a single logical device account by submitting a POST request on the REST resource using cURL. For more information about cURL, see "Install and Use cURL".

cURL Command

curl -X POST "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/logicalDeviceAccount" -H 'content-type: application/json' -H credentials -d @ldacreate.json

where:

  • hostname is the URL for the UIM REST server.
  • port is the port for the UIM REST server.
  • version is the version of the API you're using.
  • credentials is the base64 encoding of the user ID and password joined by a single colon (ID:password). See "Authentication and Authorization".
  • ldacreate.json is the JSON file that specifies the logical device account to create.

Example of Request Body

This shows an example of the contents of the ldacreate.json file sent as the request body.

{
   "@type": "LogicalDeviceAccount",
      "@baseType": "LogicalResource",
      "name": "VoIP User - Admin",
      "resourceRelationship": [
         {
            "type": "ASSOCIATES",
            "resourceRef": {
               "id": "1-975001",
               "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-975001",
               "@type": "LogicalDevice"
            }
         }
      ],
      "resourceSpecification": {
         "id": "VoIP_User",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/VoIP_User",
         "name": " VoIP_User"
      },
      "logicalDeviceName": "IP Phone"
}   

Example of Response Body

This example shows the contents of the response body in JSON format. The ID is auto-generated and returned in the response.

[
   {
      "id": "22-75001",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/22-75001",
      "@type": "LogicalDeviceAccount",
      "@baseType": "LogicalResource",
      "name": "VoIP User - Admin",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-09T15:38:59.696Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceRelationship": [
         {
            "type": "ASSOCIATES",
            "resourceRef": {
               "id": "1-975001",
               "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-975001",
               "@type": "LogicalDevice"
            },
            "validFor": {
               "startDate": "2019-12-03T14:54:53.164Z",
               "endDate": "2038-01-19T08:44:07.000Z"
            }
         }
      ],
      "resourceSpecification": {
         "id": "VoIP_User",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/VoIP_User",
         "name": "VoIP_User",
         "version": "1",
         "entityType": "LogicalDeviceAccount",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "logicalDeviceName": "IP Phone"
   }
]

Create Multiple Logical Device Accounts

This example shows how to create multiple logical device accounts with the same details by submitting a POST request on the REST resource using cURL. For more information about cURL, see "Install and Use cURL".

cURL Command

curl -X POST "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/Account?quantity=qty" -H 'content-type: application/json' -H credentials -d @ldacreate.json

where:

  • hostname is the URL for the UIM REST server.
  • port is the port for the UIM REST server.
  • version is the version of the API you're using.
  • credentials is the base64 encoding of the user ID and password joined by a single colon (ID:password). See "Authentication and Authorization".
  • qty is the number of logical device accounts to create.
  • ldacreate.json is the JSON file that specifies the logical device account details.

Example of Request Body

This shows an example of the contents of the ldacreate.json file sent as the request body.

{
   "@type": "LogicalDeviceAccount",
   "@baseType": "LogicalResource",
   "name": "VoIP User - HYD",
   "resourceRelationship": [
      {
         "type": "ASSOCIATES",
         "resourceRef": {
            "id": "1-975001",
            "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-975001",
            "@type": "LogicalDevice"
         }
      }
   ],
   "resourceSpecification": {
      "id": "VoIP_User",
      "href": "http://hostname:port/InventoryRSOpenAPI/specification/VoIP_User",
      "name": " VoIP_User"
   },
   "logicalDeviceName": "IP Phone"
}  

Example of Response Body

This example shows the contents of the response body in JSON format. The ID is auto-generated as indicated by the specification, and it's included in the response.

[
   {
      "id": "22-75002",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/22-75002",
      "@type": "LogicalDeviceAccount",
      "@baseType": "LogicalResource",
      "name": "VoIP User - HYD",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-09T16:20:03.654Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceRelationship": [
         {
            "type": "ASSOCIATES",
            "resourceRef": {
               "id": "1-975001",
               "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-975001",
               "@type": "LogicalDevice"
            },
            "validFor": {
               "startDate": "2019-12-03T14:54:53.164Z",
               "endDate": "2038-01-19T08:44:07.000Z"
            }
         }
      ],
      "resourceSpecification": {
         "id": "IP_Phone",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/IP_Phone",
         "name": "IP_Phone",
         "version": "1",
         "entityType": "LogicalDeviceAccount",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "logicalDeviceName": "IP Phone"
   },
   {
      "id": "22-75003",
      "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/22-75003",
      "@type": "LogicalDeviceAccount",
      "@baseType": "LogicalResource",
      "name": "VoIP User - HYD",
      "version": "1",
      "lifecycleState": "INSTALLED",
      "lifecycleSubState": "UNASSIGNED",
      "startDate": "2020-01-09T16:20:03.657Z",
      "endDate": "2038-01-19T08:44:07.000Z",
      "resourceRelationship": [
         {
            "type": "ASSOCIATES",
            "resourceRef": {
               "id": "1-975001",
               "href": "http://hostname:port/InventoryRSOpenAPI/resourceInventoryManagement/version/resource/1-975001",
               "@type": "LogicalDevice"
            },
            "validFor": {
               "startDate": "2019-12-03T14:54:53.164Z",
               "endDate": "2038-01-19T08:44:07.000Z"
            }
         }
      ],
      "resourceSpecification": {
         "id": "IP_Phone",
         "href": "http://hostname:port/InventoryRSOpenAPI/specification/IP_Phone",
         "name": "IP_Phone",
         "version": "1",
         "entityType": "LogicalDeviceAccount",
         "startDate": "2020-01-07T00:00:01.000Z",
         "endDate": "2038-01-19T08:44:07.000Z"
      },
      "logicalDeviceName": "IP Phone"
   }
]
Back to Top