Twins - DigitalTwins Add

Adds or replaces a digital twin. Status codes:

  • 200 OK
  • 400 Bad Request
    • InvalidArgument - The digital twin id or payload is invalid.
    • ModelDecommissioned - The model for the digital twin is decommissioned.
    • TwinLimitReached - The maximum number of digital twins allowed has been reached.
    • ValidationFailed - The digital twin payload is not valid.
  • 412 Precondition Failed
    • PreconditionFailed - The precondition check (If-Match or If-None-Match) failed.
PUT https://digitaltwins-hostname/digitaltwins/{id}?api-version=2023-10-31

URI Parameters

Name In Required Type Description
id
path True

string

The id of the digital twin. The id is unique within the service and case sensitive.

api-version
query True

string

The requested API version.

Request Header

Name Required Type Description
If-None-Match

string

Only perform the operation if the entity does not already exist.

traceparent

string

Identifies the request in a distributed tracing system.

tracestate

string

Provides vendor-specific trace identification information and is a companion to traceparent.

Request Body

Name Type Description
twin

object

The digital twin instance being added. If provided, the $dtId property is ignored.

Responses

Name Type Description
200 OK

DigitalTwin

Success

Headers

ETag: string

Other Status Codes

ErrorResponse

Default response.

Headers

x-ms-error-code: string

Security

oauth2

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize?resource=0b07f429-9f4b-4714-9392-cc5e8e80c8b0

Examples

Add a digital twin
Add a digital twin (with properties and components)

Add a digital twin

Sample request

PUT https://digitaltwins-hostname/digitaltwins/myNewTwinId?api-version=2023-10-31

{
  "$metadata": {
    "$model": "dtmi:com:example:interfaces:interfaceName;1"
  }
}

Sample response

{
  "$dtId": "myNewTwinId",
  "$metadata": {
    "$model": "dtmi:com:example:interfaces:interfaceName;1",
    "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
  }
}

Add a digital twin (with properties and components)

Sample request

PUT https://digitaltwins-hostname/digitaltwins/myNewTwinId?api-version=2023-10-31


{
  "$metadata": {
    "$model": "dtmi:com:example:interfaces:interfaceName;1",
    "property1": {
      "sourceTime": "2022-05-31T12:00:01.000125009Z"
    }
  },
  "property1": 1,
  "property2": {
    "subProperty1": "some value",
    "subProperty2": "some other value"
  },
  "component1": {
    "$metadata": {
      "componentProperty": {
        "sourceTime": "2022-05-31T12:00:00.000125009Z"
      }
    },
    "componentProperty": "some value"
  }
}

Sample response

{
  "$dtId": "myNewTwinId",
  "$etag": "W/\"9c2876c2-aff0-40b3-9fba-0c6be9d020a6\"",
  "property1": 1,
  "property2": {
    "subProperty1": "some value",
    "subProperty2": "some other value"
  },
  "component1": {
    "componentProperty": "some value",
    "$metadata": {
      "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
      "componentProperty": {
        "lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
        "sourceTime": "2022-05-31T12:00:01.000125009Z"
      }
    }
  },
  "$metadata": {
    "$lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
    "$model": "dtmi:com:example:interfaces:interfaceName;1",
    "property1": {
      "lastUpdateTime": "2022-02-28T00:30:00.1234567Z",
      "sourceTime": "2022-05-31T12:00:01.000125009Z"
    },
    "property2": {
      "lastUpdateTime": "2022-02-28T00:30:00.1234567Z"
    }
  }
}

Definitions

Name Description
Error

Error definition.

ErrorResponse

Error response.

InnerError

A more specific error description than was provided by the containing error.

Error

Error definition.

Name Type Description
code

string

Service specific error code which serves as the substatus for the HTTP error code.

details

Error[]

Internal error details.

innererror

InnerError

An object containing more specific information than the current object about the error.

message

string

A human-readable representation of the error.

ErrorResponse

Error response.

Name Type Description
error

Error

The error details.

InnerError

A more specific error description than was provided by the containing error.

Name Type Description
code

string

A more specific error code than was provided by the containing error.

innererror

InnerError

An object containing more specific information than the current object about the error.