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'