swagger: '2.0' info: version: 2020-08-01-preview title: Microsoft Azure AccessControlClient AccessConnector featureStateSets API schemes: - https tags: - name: featureStateSets paths: /featureStateSets: post: x-publish: true description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This POST API allows the user to create a new Stateset and define stateset style using request body.

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. The Feature State API is part of Creator.

The Feature State service allows the user to update the states of a feature and query them to be used in other services. The dynamic properties of a feature that don''t belong to the dataset are referred to as *states* here.

This Feature State service pivot on the Stateset. Like Tileset, Stateset encapsulates the storage mechanism for feature states for a dataset.

Once the stateset is created, users can use that statesetId to post feature state updates and retrieve the current feature states. A feature can have only one state at a given point in time.

Feature state is defined by the key name, value and the timestamp. When a feature state update is posted to Azure Maps, the state value gets updated only if the provided state’s timestamp is later than the stored timestamp.

Azure Maps MapControl provides a way to use these feature states to style the features. Please refer to the [State Tile documentation](https://docs.microsoft.com/en-us/rest/api/maps/render/get-map-state-tile-preview) for more information.' operationId: microsoftAzureFeaturestateCreatestateset x-ms-examples: Create a new stateset with a datasetId: $ref: ./examples/CreateStateset.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/DatasetIdForCreate' - $ref: '#/parameters/FeatureStateSetDescription' - name: statesetCreateRequestBody in: body description: The stateset style JSON data. required: true schema: $ref: '#/definitions/StylesObject' responses: '200': description: Stateset created. schema: $ref: '#/definitions/StatesetCreatedResponse' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Post Featurestatesets tags: - featureStateSets get: x-publish: true description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API allows the caller to fetch a list of all previously successfully created statesets.' operationId: microsoftAzureFeaturestateListstateset x-ms-examples: List all the previously created statesets: $ref: ./examples/Stateset_List.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' responses: '200': description: The list stateset request completed successfully. The response body contains a list of all the previously created statesets. schema: $ref: '#/definitions/StatesetListResponse' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Get Featurestatesets tags: - featureStateSets /featureStateSets/{statesetId}: put: x-publish: true description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This PUT API allows the user to update the stateset style rules.' operationId: microsoftAzureFeaturestatePutstateset x-ms-examples: Update stateset style rules with a statesetId: $ref: ./examples/UpdateStateset.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' - name: statesetStyleUpdateRequestBody in: body description: The stateset style JSON data. Only style rules are allowed to be updated, update on keyname and type is not allowed. required: true schema: $ref: '#/definitions/StylesObject' responses: '200': description: Stateset styles are updated successfully. '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Put Featurestatesets Statesetid tags: - featureStateSets delete: x-publish: true description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This DELETE API allows the user to delete the stateset and the associated data.' operationId: microsoftAzureFeaturestateDeletestateset x-ms-examples: Delete an existing stateset: $ref: ./examples/DeleteStateset.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' responses: '204': description: Stateset Deleted. '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Delete Featurestatesets Statesetid tags: - featureStateSets get: x-publish: true description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This GET API allows the user to get the stateset Information.

The stateset Information includes the datasetId associated to the stateset, and the styles of that stateset.' operationId: microsoftAzureFeaturestateGetstateset x-ms-examples: Get stateset information with a statesetId: $ref: ./examples/GetStateset.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' responses: '200': description: Get request completed successfully. schema: $ref: '#/definitions/StatesetGetResponse' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Get Featurestatesets Statesetid tags: - featureStateSets /featureStateSets/{statesetId}/featureStates/{featureId}: put: x-publish: true operationId: microsoftAzureFeaturestateUpdatestates description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This PUT API allows the user to update the state of the given feature in the given stateset.' x-ms-examples: Update the states of a feature: $ref: ./examples/UpdateStates.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' - $ref: '#/parameters/FeatureIdSet' - name: featureStateUpdateRequestBody in: body description: The feature state JSON data. A feature can have only one state at a given point in time. The specified state keyname must have been defined during the stateset creation. required: true schema: $ref: '#/definitions/FeatureStatesStructure' responses: '200': description: Feature states are updated successfully. '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Put Featurestatesets Statesetid Featurestates Featureid tags: - featureStateSets delete: x-publish: true operationId: microsoftAzureFeaturestateDeletestate description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API deletes the state information identified by the StateKeyName parameter for the feature identified by the FeatureId parameter in the the stateset.' x-ms-examples: Delete the given feature state: $ref: ./examples/DeleteFeatureState.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' - $ref: '#/parameters/FeatureIdDelete' - $ref: '#/parameters/StateKeyNameDelete' responses: '204': description: Feature states deleted successfully. '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '409': $ref: '#/responses/409' '500': $ref: '#/responses/500' summary: Microsoft Azure Delete Featurestatesets Statesetid Featurestates Featureid tags: - featureStateSets get: x-publish: true operationId: microsoftAzureFeaturestateGetstates description: '**Applies to:** see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

Creator makes it possible to develop applications based on your private indoor map data using Azure Maps API and SDK. [This](https://docs.microsoft.com/azure/azure-maps/creator-indoor-maps) article introduces concepts and tools that apply to Azure Maps Creator.

This API returns the current state information associated with the given feature in the given stateset.' x-ms-examples: Get the current states of a feature: $ref: ./examples/GetStates.json parameters: - $ref: '#/parameters/SubscriptionKey' - $ref: '#/parameters/ApiVersion' - $ref: '#/parameters/StatesetIdInPath' - $ref: '#/parameters/FeatureIdGet' responses: '200': description: Get request completed successfully. schema: $ref: '#/definitions/FeatureStatesStructure' '400': $ref: '#/responses/400' '401': $ref: '#/responses/401' '403': $ref: '#/responses/403' '404': $ref: '#/responses/404' '500': $ref: '#/responses/500' summary: Microsoft Azure Get Featurestatesets Statesetid Featurestates Featureid tags: - featureStateSets definitions: StatesetCreatedResponse: description: The response model for the successful Stateset Create API. type: object properties: statesetId: description: The ID for the new stateset created. type: string readOnly: true StatesetInfoObject: description: The stateset information detail. type: object properties: statesetId: description: The stateset ID of this stateset. type: string description: description: Description associated with the stateset. type: string readOnly: true datasetIds: description: Dataset ID associated with the stateset. type: array items: type: string statesetStyle: $ref: '#/definitions/StylesObject' StatesetListResponse: description: The response model for the successful Stateset List API. type: object properties: statesets: description: A list of statesets information. type: array items: $ref: '#/definitions/StatesetInfoObject' nextLink: description: If present, the location of the next page of data. type: string readOnly: true StatesetGetResponse: description: The response model for the successful Stateset Get API. type: object properties: description: description: Description associated with the stateset. type: string readOnly: true datasetIds: description: Dataset ID associated with the stateset. type: array items: type: string statesetStyle: $ref: '#/definitions/StylesObject' StylesObject: description: The styles model. type: object properties: styles: description: 'An array of stateset styles. The style rule could be a numeric or string or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ' type: array items: $ref: '#/definitions/StyleObject' StyleObject: description: 'The stateset style model. The style rule could be a numeric type style rule or a boolean type style rule. Refer to NumberRuleObject, StringRuleObject and BooleanRuleObject definitions [here](https://aka.ms/AzureMapsStatesetStylesObject). ' type: object ODataErrorResponse: type: object description: This response object is returned when an error occurs in the Azure Maps API. properties: error: $ref: '#/definitions/ODataError' FeatureStateObject: description: Single feature state model. type: object properties: keyName: description: Feature state Keyname. Maximum length allowed is 1000. type: string value: description: Value for the feature state. Type should comply with the style definition attached to the featurestate. Maximum length allowed for string type is 1024. type: object eventTimestamp: description: Valid Timestamp when the feature state was captured. type: string ODataError: type: object description: This object is returned when an error occurs in the Azure Maps API. properties: code: type: string readOnly: true description: The ODataError code. message: type: string readOnly: true description: If available, a human-readable description of the error. details: type: array items: $ref: '#/definitions/ODataError' target: type: string readOnly: true description: If available, the target causing the error. FeatureStatesStructure: description: The feature states model for a feature. type: object properties: states: description: The feature states array. type: array items: $ref: '#/definitions/FeatureStateObject' parameters: DatasetIdForCreate: name: datasetId description: The datasetId must have been obtained from a successful [Dataset Create API](https://docs.microsoft.com/en-us/rest/api/maps/v2/dataset/create) call. type: string in: query required: true x-ms-parameter-location: method FeatureIdGet: name: featureId description: The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned. type: string in: path required: true x-ms-parameter-location: method FeatureIdDelete: name: featureId description: The id of a feature in the given stateset. If no state was set for the featureId in the stateset earlier, Bad Request response will be returned. type: string in: path required: true x-ms-parameter-location: method SubscriptionKey: name: subscription-key description: One of the Azure Maps keys provided from an Azure Map Account. Please refer to this [article](https://docs.microsoft.com/azure/azure-maps/how-to-manage-authentication) for details on how to manage authentication. type: string in: query required: false x-ms-parameter-location: client FeatureIdSet: name: featureId description: The id of a feature in the given dataset. If the featureId is not present in the dataset, Bad Request response will be returned. type: string in: path required: true x-ms-parameter-location: method StatesetIdInPath: name: statesetId description: The stateset id that was created. type: string in: path required: true x-ms-parameter-location: method ApiVersion: name: api-version description: Version number of Azure Maps API. Current version is 2.0 type: string in: query required: true default: '2.0' x-ms-parameter-location: client StateKeyNameDelete: name: stateKeyName description: The Name of the state to be deleted. type: string in: query required: true x-ms-parameter-location: method FeatureStateSetDescription: name: description description: Description for the stateset. Max length allowed is 1000. type: string in: query required: false x-ms-parameter-location: method responses: '500': description: An error occurred while processing the request. Please try again later. schema: $ref: '#/definitions/ODataErrorResponse' '404': description: 'Not Found: the requested resource could not be found, but it may be available again in the future.' schema: $ref: '#/definitions/ODataErrorResponse' '401': description: Access denied due to invalid subscription key or invalid Microsoft Entra ID bearer token. Make sure to provide a valid key for an active Azure subscription and Maps resource. Otherwise, verify the [WWW-Authenticate](https://tools.ietf.org/html/rfc6750#section-3.1) header for error code and description of the provided Microsoft Entra ID bearer token. schema: $ref: '#/definitions/ODataErrorResponse' headers: WWW-Authenticate: type: string description: Bearer realm="https://atlas.microsoft.com/", error="invalid_token", error_description="The access token expired" '400': description: 'Bad request: one or more parameters were incorrectly specified or are mutually exclusive.' schema: $ref: '#/definitions/ODataErrorResponse' '409': description: The request could not be completed due to a conflict with the current state of the resource. Likely caused by a parallel update to the same resource. schema: $ref: '#/definitions/ODataErrorResponse' '403': description: Permission, capacity, or authentication issues. schema: $ref: '#/definitions/ODataErrorResponse' x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/parameters/Endpoint'