Create Logical Device Accounts
/logicalDeviceAccount
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
-
fields: string
The fields to include in the response.
-
quantity: integer
Minimum Value:
1
Maximum Value:10000
The number of resources to create.
- application/json
-
object
allOf
LogicalResource
The base class for logical resources.
-
object
type
object
-
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type" }
A base resource Class. -
object
LogicalResource-allOf[1]
object
-
@baseType: string
Read Only:
true
Allowed Values:[ "PhysicalResource", "LogicalResource" ]
The list of valid values for the type of base resource. -
@type: string
Allowed Values:
[ "DeviceInterface", "Equipment", "EquipmentHolder", "LogicalDevice", "LogicalDeviceAccount", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPNetwork", "IPSubnet", "NetworkAddressDomain", "FlowIdentifier", "CustomObject", "CustomNetworkAddress", "Pipe" ]
The list of valid values for the resource type. -
category: string
The category of the concrete resource, such as Gold or Silver for a MSISDN concrete resource.
-
description: string
A free-text description for the resource.
-
endOperatingDate: string
(date-time)
The date and time when the resource is no longer effective.
-
externalIdentity: object
externalIdentity
Read Only:
true
The external identity details for the federated resource. -
href: string
(uri)
Read Only:
true
The URI for the resource class. -
id: string
The ID of the resource.
-
lifecycleState: string
Allowed Values:
[ "END_OF_LIFE", "INSTALLED", "PENDING_INSTALL", "PENDING_REMOVE", "PENDING_UNAVAILABLE", "PENDING_AVAILABLE", "PLANNED", "UNAVAILABLE", "PENDING_DISCONNECT", "DISCONNECTED" ]
The list of valid values for inventory state. -
lifecycleSubState: string
Allowed Values:
[ "PENDING_ASSIGN", "ASSIGNED", "PENDING_UNASSIGN", "UNASSIGNED", "DISCONNECTED", "TRANSITIONAL", "PORTED" ]
The list of valid values for assignment state. -
name: string
The name of the resource.
-
place: array
place
The list of associated geographic places.
-
resourceCharacteristic: array
resourceCharacteristic
The list of characteristics for the resource.
-
resourceRelationship: array
resourceRelationship
The list of all resources referenced with the current resource. For example, parent resource, associated resource, etc.
-
resourceSpecification: object
Specification
A specification.
-
resourceStatus: string
Allowed Values:
[ "Standby", "Alarm", "Available", "Reserved", "Unknown", "Suspended" ]
The list of valid values for resource status type, which indicates if entity has reservations. -
resourceVersion: string
Read Only:
true
A field that identifies the version of a resource instance. -
startOperatingDate: string
(date-time)
Read Only:
true
The starting date and time when the resource becomes effective.
object
object
-
logicalDeviceName: string
Read Only:
true
Name of the associated logical device.
Response
- application/json
201 Response
-
object
allOf
LogicalResource
The base class for logical resources.
-
object
type
object
-
object
Discriminator: @type
Discriminator:
{ "propertyName":"@type" }
A base resource Class. -
object
LogicalResource-allOf[1]
object
-
@baseType: string
Read Only:
true
Allowed Values:[ "PhysicalResource", "LogicalResource" ]
The list of valid values for the type of base resource. -
@type: string
Allowed Values:
[ "DeviceInterface", "Equipment", "EquipmentHolder", "LogicalDevice", "LogicalDeviceAccount", "PhysicalConnector", "PhysicalDevice", "PhysicalPort", "TelephoneNumber", "IPV4Address", "IPV6Address", "IPNetwork", "IPSubnet", "NetworkAddressDomain", "FlowIdentifier", "CustomObject", "CustomNetworkAddress", "Pipe" ]
The list of valid values for the resource type. -
category: string
The category of the concrete resource, such as Gold or Silver for a MSISDN concrete resource.
-
description: string
A free-text description for the resource.
-
endOperatingDate: string
(date-time)
The date and time when the resource is no longer effective.
-
externalIdentity: object
externalIdentity
Read Only:
true
The external identity details for the federated resource. -
href: string
(uri)
Read Only:
true
The URI for the resource class. -
id: string
The ID of the resource.
-
lifecycleState: string
Allowed Values:
[ "END_OF_LIFE", "INSTALLED", "PENDING_INSTALL", "PENDING_REMOVE", "PENDING_UNAVAILABLE", "PENDING_AVAILABLE", "PLANNED", "UNAVAILABLE", "PENDING_DISCONNECT", "DISCONNECTED" ]
The list of valid values for inventory state. -
lifecycleSubState: string
Allowed Values:
[ "PENDING_ASSIGN", "ASSIGNED", "PENDING_UNASSIGN", "UNASSIGNED", "DISCONNECTED", "TRANSITIONAL", "PORTED" ]
The list of valid values for assignment state. -
name: string
The name of the resource.
-
place: array
place
The list of associated geographic places.
-
resourceCharacteristic: array
resourceCharacteristic
The list of characteristics for the resource.
-
resourceRelationship: array
resourceRelationship
The list of all resources referenced with the current resource. For example, parent resource, associated resource, etc.
-
resourceSpecification: object
Specification
A specification.
-
resourceStatus: string
Allowed Values:
[ "Standby", "Alarm", "Available", "Reserved", "Unknown", "Suspended" ]
The list of valid values for resource status type, which indicates if entity has reservations. -
resourceVersion: string
Read Only:
true
A field that identifies the version of a resource instance. -
startOperatingDate: string
(date-time)
Read Only:
true
The starting date and time when the resource becomes effective.
object
object
-
logicalDeviceName: string
Read Only:
true
Name of the associated logical device.
400 Response
object
-
code: string
The error code.
-
entityType: string
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: array
message
The text that provides more details about the error as well as corrective actions.
-
reason: string
The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
-
referenceError: string
The URL pointing to the documentation that describes the error.
-
status: string
The HTTP error code extension, such as 400-2.
array
401 Response
object
-
code: string
The error code.
-
entityType: string
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: array
message
The text that provides more details about the error as well as corrective actions.
-
reason: string
The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
-
referenceError: string
The URL pointing to the documentation that describes the error.
-
status: string
The HTTP error code extension, such as 400-2.
array
403 Response
object
-
code: string
The error code.
-
entityType: string
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: array
message
The text that provides more details about the error as well as corrective actions.
-
reason: string
The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
-
referenceError: string
The URL pointing to the documentation that describes the error.
-
status: string
The HTTP error code extension, such as 400-2.
array
500 Response
object
-
code: string
The error code.
-
entityType: string
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: array
message
The text that provides more details about the error as well as corrective actions.
-
reason: string
The short, user-friendly summary of the problem, which does not change for subsequent occurrences of the problem.
-
referenceError: string
The URL pointing to the documentation that describes the error.
-
status: string
The HTTP error code extension, such as 400-2.
array
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"
}
]