@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AzureDigitalTwinsManagementClient
@base https://management.azure.com
@version 2020-03-01-preview
@auth OAuth2
@common_fields {api-version: any # Version of the DigitalTwinsInstance Management API.}
@endpoints 12
@toc subscriptions(11), providers(1)

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}
@desc Get DigitalTwinsInstances resource.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance.}
@returns(200) The body contains all the non-security properties of the DigitalTwinsInstance. Security-related properties are set to null.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}
@desc Create or update the metadata of a DigitalTwinsInstance. The usual pattern to modify a property is to retrieve the DigitalTwinsInstance and security metadata, and then combine them with the modified values in a new body to update the DigitalTwinsInstance.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance., digitalTwinsCreate: map # The DigitalTwinsInstance and security metadata.}
@returns(200) This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.
@returns(201) Created - Put request accepted; the operation will complete asynchronously.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}
@desc Update metadata of DigitalTwinsInstance.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance., digitalTwinsPatchDescription: map # The DigitalTwinsInstance and security metadata.}
@returns(200) This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.
@returns(201) Accepted - Put request accepted; the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}
@desc Delete a DigitalTwinsInstance.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance.}
@returns(200) This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.
@returns(202) Accepted - Delete request accepted; the operation will complete asynchronously.
@returns(204) Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the DigitalTwins service metadata in the service and the status of the delete operation is set to a completed state.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints
@desc Get DigitalTwinsInstance Endpoints.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance.}
@returns(200) The body contains all the non-security properties of the DigitalTwinsInstance. Security-related properties are set to null.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints/{endpointName}
@desc Get DigitalTwinsInstances Endpoint.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance., endpointName: any # Name of Endpoint Resource.}
@returns(200) The body contains all the non-security properties of the DigitalTwinsInstance. Security-related properties are set to null.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints/{endpointName}
@desc Create or update DigitalTwinsInstance endpoint.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance., endpointName: any # Name of Endpoint Resource., endpointDescription: any # The DigitalTwinsInstance endpoint metadata and security metadata.}
@returns(200) This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.
@returns(201) Created - Put request accepted; the operation will complete asynchronously.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances/{resourceName}/endpoints/{endpointName}
@desc Delete a DigitalTwinsInstance endpoint.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance., resourceName: any # The name of the DigitalTwinsInstance., endpointName: any # Name of Endpoint Resource.}
@returns(200) This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.
@returns(202) Accepted - Delete request accepted; the operation will complete asynchronously.
@returns(204) Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the DigitalTwins service metadata in the service and the status of the delete operation is set to a completed state.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/digitalTwinsInstances
@desc Get all the DigitalTwinsInstances in a subscription.
@required {subscriptionId: any # The subscription identifier.}
@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DigitalTwinsInstances in the subscription.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DigitalTwins/digitalTwinsInstances
@desc Get all the DigitalTwinsInstances in a resource group.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the DigitalTwinsInstance.}
@returns(200) This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the DigitalTwinsInstances in the resource group.

@endgroup

@group providers
@endpoint GET /providers/Microsoft.DigitalTwins/operations
@desc Lists all of the available DigitalTwins service REST API operations.
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.DigitalTwins/locations/{location}/checkNameAvailability
@desc Check if a DigitalTwinsInstance name is available.
@required {subscriptionId: any # The subscription identifier., location: any # Location of DigitalTwinsInstance., digitalTwinsInstanceCheckName: map # Set the name parameter in the DigitalTwinsInstanceCheckName structure to the name of the DigitalTwinsInstance to check.}
@returns(200) This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the DigitalTwins service name is available. If the name is not available, the body contains the reason.

@endgroup

@end
