Microsoft Azure Maps Data Registry Service

Microsoft Azure Maps Data Registry Service is a cloud-based platform that allows users to manage and access geospatial data at scale. This service provides a centralized location for storing, cataloging, and sharing various types of geographic data, such as maps, satellite imagery, and location-based information. Users can easily upload, update, and reference their spatial data, enabling efficient collaboration and decision-making across teams.

OpenAPI Specification

azure-maps-data-registry-service-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Azure Maps Data Registry Service
  version: '2023-06-01'
  description: APIs for managing data registry in Azure Maps.
x-ms-parameterized-host:
  hostTemplate: '{geography}.atlas.microsoft.com'
  parameters:
    - $ref: >-
        ../../../Common/preview/1.0/common.json#/parameters/MapsAccountGeographicResourceLocation
schemes:
  - https
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  AADToken:
    type: oauth2
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    flow: implicit
    description: >-
      These are the [Microsoft Entra OAuth
      2.0](https://docs.microsoft.com/azure/active-directory/develop/v1-overview)
      Flows. When paired with [Azure role-based
      access](https://docs.microsoft.com/azure/role-based-access-control/overview)
      control it can be used to control access to Azure Maps REST APIs. Azure
      role-based access controls are used to designate access to one or more
      Azure Maps resource account or sub-resources. Any user, group, or service
      principal can be granted access via a built-in role or a custom role
      composed of one or more permissions to Azure Maps REST APIs.


      To implement scenarios, we recommend viewing [authentication
      concepts](https://aka.ms/amauth). In summary, this security definition
      provides a solution for modeling application(s) via objects capable of
      access control on specific APIs and scopes.


      #### Notes

      * This security definition **requires** the use of the `x-ms-client-id`
      header to indicate which Azure Maps resource the application is requesting
      access to. This can be acquired from the [Maps management
      API](https://aka.ms/amauthdetails).

      * 

      The `Authorization URL` is specific to the Azure public cloud instance.
      Sovereign clouds have unique Authorization URLs and Microsoft Entra ID
      configurations. 

      * 

      The Azure role-based access control is configured from the [Azure
      management plane](https://aka.ms/amrbac) via Azure portal, PowerShell,
      CLI, Azure SDKs, or REST APIs.

      * 

      Usage of the [Azure Maps Web SDK](https://aka.ms/amaadmc) allows for
      configuration based setup of an application for multiple use cases.

      * For more information on Microsoft identity platform, see [Microsoft
      identity platform
      overview](https://learn.microsoft.com/entra/identity-platform/v2-overview).
    scopes:
      https://atlas.microsoft.com/.default: https://atlas.microsoft.com/.default
  AzureKey:
    type: apiKey
    description: >-
      This is a shared key that is provisioned when creating an [Azure Maps
      resource](https://aka.ms/amauth) through the Azure management plane via
      Azure portal, PowerShell, CLI, Azure SDKs, or REST APIs.

       With this key, any application is authorized to access all REST APIs. In other words, these can currently be treated as master keys to the account they are issued for.

       For publicly exposed applications, our recommendation is to use server-to-server access of Azure Maps REST APIs where this key can be securely stored.
    name: subscription-key
    in: header
  SasToken:
    type: apiKey
    description: >-
      This is a shared access signature token is created from the List SAS
      operation on the [Azure Maps resource](https://aka.ms/amauth) through the
      Azure management plane via Azure portal, PowerShell, CLI, Azure SDKs, or
      REST APIs.

       With this token, any application is authorized to access with Azure role-based access controls and fine-grain control to the expiration, rate, and region(s) of use for the particular token. In other words, the SAS Token can be used to allow applications to control access in a more secured way than the shared key.

       For publicly exposed applications, our recommendation is to configure a specific list of allowed origins on the [Map account resource](https://aka.ms/amauth) to limit rendering abuse and regularly renew the SAS Token.
    name: SAS Token
    in: header
security:
  - AADToken:
      - https://atlas.microsoft.com/.default
  - AzureKey: []
  - SasToken: []
responses: {}
parameters:
  ApiVersion:
    name: api-version
    description: The version number of Azure Maps API.
    type: string
    in: query
    required: true
    x-ms-parameter-location: client
  UserDataId:
    name: udid
    description: The user data ID of the data registry.
    type: string
    pattern: >-
      ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
    in: path
    required: true
    x-ms-parameter-location: method
  OperationIdHeader:
    name: Operation-Id
    description: The operation ID, in GUID format.
    type: string
    pattern: >-
      ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
    in: header
    required: false
    x-ms-parameter-location: method
  OperationIdQuery:
    name: operationId
    description: The ID used to query the status of a data register request.
    type: string
    pattern: >-
      ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
    in: path
    required: true
    x-ms-parameter-location: method
paths:
  /dataRegistries:
    get:
      summary: 'Microsoft Azure Use To Get A List Of All Data Registries In The Azure Maps Account'
      description: >-
        <br><br>The `List` API is an HTTP `GET` request that returns an array
        containing all data registries previously registered using the [Register
        or Replace
        API](https://docs.microsoft.com/rest/api/maps/data-registry/register-or-replace).<br><br>The
        data registry service endpoint is limited in scope to the region of your
        Azure Maps account and is not available for global Azure Maps
        accounts.<br><br>## Submit List Request<br><br>To list all your data
        registries, issue a `GET` request with no additional
        parameters.<br><br>## List Response<br><br>The `List` request returns an
        array of data registries in `JSON` format in the body of the response.
      operationId: microsoftAzureDataregistryList
      x-ms-examples:
        List all previously registered data registries:
          $ref: ./examples/DataRegistries_List.json
      parameters:
        - $ref: ../../../Common/preview/1.0/common.json#/parameters/ClientId
        - $ref: '#/parameters/ApiVersion'
      responses:
        '200':
          description: >-
            The `List` request completed successfully. The response body
            contains an array of data registries.
          schema:
            $ref: '#/definitions/DataRegistryList'
        default:
          description: An unexpected error occurred.
          schema:
            $ref: >-
              ../../../Common/preview/1.0/common.json#/definitions/MapsErrorResponse
          headers:
            x-ms-error-code:
              type: string
              description: Error code of the error that occurred.
          x-ms-error-response: true
      tags:
        - dataRegistries
  /dataRegistries/{udid}:
    get:
      summary: 'Microsoft Azure Use To Get The Specified Data Registry Information'
      description: >-
        <br><br>The `Get Data Registry` API is an HTTP `GET` request that
        returns data registry information, as an [AzureBlob](#azureblob) object
        in JSON format, in the body of the response, along with the HTTP status
        code 200, when successful. If Azure Maps cannot access the underlying
        content or the integrity check fails, the `status` is set to `Failed`
        and an error is returned.<br><br>The data registry service endpoint is
        limited in scope to the region of your Azure Maps account and is not
        available for global Azure Maps accounts.<br><br>## Submit Get Data
        Registry Request<br><br>A data registry `GET` request returns details of
        the requested data registry, as determined by the specified `udid`. The
        details are returned in the body of the response in JSON format.
      operationId: microsoftAzureDataregistryGetdataregistry
      x-ms-examples:
        Get the data registry of a completed udid:
          $ref: ./examples/DataRegistries_GetDataRegistryCompleted.json
        Get the data registry of a failed udid:
          $ref: ./examples/DataRegistries_GetDataRegistryFailed.json
      parameters:
        - $ref: ../../../Common/preview/1.0/common.json#/parameters/ClientId
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/UserDataId'
      responses:
        '200':
          description: >-
            The `Get Data Registry` request completed successfully. The response
            body contains the data registry of the specified `udid`.
          schema:
            $ref: '#/definitions/DataRegistry'
        default:
          description: An unexpected error occurred.
          schema:
            $ref: >-
              ../../../Common/preview/1.0/common.json#/definitions/MapsErrorResponse
          headers:
            x-ms-error-code:
              type: string
              description: Error code of the error that occurred.
          x-ms-error-response: true
      tags:
        - dataRegistries
    put:
      summary: >-
        Microsoft Azure Use To Register Data Stored In An Azure Storage Account With An Azure Maps Account
      description: >-
        <br><br>The `Register` API is an HTTP `PUT` request used to register the
        data in an Azure Storage Account with an Azure Maps account. The maximum
        file size that can be registered is one gigabyte.<br><br>This is useful
        in scenarios like registering a collection of Geofences in `GeoJSON`
        format for use in [Azure Maps Geofencing
        Service](https://docs.microsoft.com/rest/api/maps/spatial), or
        registering a set of DWG design files as a zipped [Drawing
        Package](https://docs.microsoft.com/azure/azure-maps/drawing-requirements)
        for use in the Azure Maps Creator [Conversion
        Service](https://docs.microsoft.com/rest/api/maps/v2/conversion).<br><br>The
        data registry service endpoint is limited in scope to the region of your
        Azure Maps account and is not available for global Azure Maps
        accounts.<br><br>## Submit Register or Replace Request<br><br>The
        `Register` and `Replace` requests are both long-running operations that
        contain an [AzureBlob](#azureblob) JSON object in the body of the
        request that defines the data registry details.
      operationId: microsoftAzureDataregistryRegisterorreplace
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
      x-ms-examples:
        Register or replace a udid:
          $ref: ./examples/DataRegistries_RegisterOrReplace.json
      parameters:
        - $ref: ../../../Common/preview/1.0/common.json#/parameters/ClientId
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/UserDataId'
        - $ref: '#/parameters/OperationIdHeader'
        - name: dataRegistry
          in: body
          description: The data to be registered.
          required: true
          schema:
            $ref: '#/definitions/DataRegistry'
      responses:
        '200':
          description: 'Resource replacing: The request has been accepted for processing.'
          headers:
            Operation-Id:
              type: string
              description: ID of the status monitor for the operation.
            Operation-Location:
              type: string
              description: >-
                A URL used to check the status or results of the request when it
                is a long-running operation. `api-version` is not included in
                the URL.
          schema:
            $ref: '#/definitions/DataRegistry'
        '201':
          description: 'Resource creating: The request has been accepted for processing.'
          headers:
            Operation-Id:
              type: string
              description: ID of the status monitor for the operation.
            Operation-Location:
              type: string
              description: >-
                New URL to check for the results of the long-running operation.
                `api-version` is not included in the URL.
          schema:
            $ref: '#/definitions/DataRegistry'
        default:
          description: An unexpected error occurred.
          schema:
            $ref: >-
              ../../../Common/preview/1.0/common.json#/definitions/MapsErrorResponse
          headers:
            x-ms-error-code:
              type: string
              description: Error code of the error that occurred.
          x-ms-error-response: true
      tags:
        - dataRegistries
    delete:
      summary: >-
        Microsoft Azure Use To Unregister Data Stored In An Azure Storage Account That Is Registered With An Azure Maps Account
      description: >-
        <br><br>The `Unregister` API is an HTTP `DELETE` request that removes a
        data registry without deleting the underlying content from the Azure
        storage account.<br><br>Useful in scenarios like unregistering geofence
        files previously registered using the [Register or
        Replace](https://docs.microsoft.com/rest/api/maps/data-registry/register-or-replace)
        API for use in the [Azure Maps Geofencing
        Service](https://docs.microsoft.com/rest/api/maps/spatial), or
        unregistering a compressed (ZIP) file containing DWG design files used
        by the Azure Maps Creator [Conversion
        Service](https://docs.microsoft.com/rest/api/maps/v2/conversion).<br><br>The
        data registry service endpoint is limited in scope to the region of your
        Azure Maps account and is not available for global Azure Maps
        accounts.<br><br>## Submit Unregister Request<br><br>Use an HTTP
        `DELETE` request with the `udid` of the data registry to
        unregister.<br><br>## Unregister Response<br><br>The `Unregister`
        request returns a HTTP '204 No Content' response with an empty body, if
        the data registry was deleted successfully.
      operationId: microsoftAzureDataregistryUnregister
      x-ms-examples:
        Unregister a data registry without deleting the underlying contents:
          $ref: ./examples/DataRegistries_Unregister.json
      parameters:
        - $ref: ../../../Common/preview/1.0/common.json#/parameters/ClientId
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/UserDataId'
      responses:
        '204':
          description: >-
            The `Unregister` request completed successfully. The data registry
            is deleted but the data has not been removed from the storage
            account.
        default:
          description: An unexpected error occurred.
          schema:
            $ref: >-
              ../../../Common/preview/1.0/common.json#/definitions/MapsErrorResponse
          headers:
            x-ms-error-code:
              type: string
              description: Error code of the error that occurred.
          x-ms-error-response: true
      tags:
        - dataRegistries
  /dataRegistries/operations/{operationId}:
    get:
      summary: >-
        Microsoft Azure Use To Check The Status Of The [data Register Or Replace] Rest Api Maps Data Registry Register Or Replace Request
      description: >-
        The `Get Operation` API is an HTTP `GET` request used to get the status
        of a [data register or
        replace](/rest/api/maps/data-registry/register-or-replace) request is
        returned in the header of the register or replace response as the value
        of the `Operation-Location` key. While in progress, a HTTP `200 OK`
        response will be returned with `Retry-After` header - followed by a HTTP
        `200 OK` with no extra header once completed.<br><br>The data registry
        service endpoint is limited in scope to the region of your Azure Maps
        account and is not available for global Azure Maps accounts.<br><br>
      operationId: microsoftAzureDataregistryGetoperation
      x-ms-examples:
        Get the status of an operation that is still running:
          $ref: ./examples/DataRegistries_GetOperationStillRunning.json
        Get the status of an operation that failed:
          $ref: ./examples/DataRegistries_GetOperationFailed.json
        Get the status of an operation that finished successfully:
          $ref: ./examples/DataRegistries_GetOperationCompleted.json
      parameters:
        - $ref: '#/parameters/ApiVersion'
        - $ref: '#/parameters/OperationIdQuery'
      responses:
        '200':
          description: The status of the long-running operation.
          headers:
            Retry-After:
              type: integer
              format: int32
              description: Recommended minimum number of seconds to wait before next check.
          schema:
            $ref: '#/definitions/LongRunningOperationResult'
        default:
          description: An unexpected error occurred.
          schema:
            $ref: >-
              ../../../Common/preview/1.0/common.json#/definitions/MapsErrorResponse
          headers:
            x-ms-error-code:
              type: string
              description: Error code of the error that occurred.
          x-ms-error-response: true
      tags:
        - dataRegistries
definitions:
  DataRegistry:
    description: The data registry in Azure Maps.
    type: object
    properties:
      udid:
        description: The user data ID for the data registry.
        type: string
        readOnly: true
      description:
        description: >-
          The description given to the data registry. The max length is 1024
          characters.
        type: string
      kind:
        description: Data registry kind.
        type: string
        enum:
          - AzureBlob
        x-ms-enum:
          name: DataRegistryKind
          modelAsString: true
          values:
            - value: AzureBlob
              description: Azure Blob
      azureBlob:
        $ref: '#/definitions/AzureBlob'
      status:
        $ref: '#/definitions/LongRunningOperationStatus'
      error:
        $ref: ../../../Common/preview/1.0/common.json#/definitions/MapsErrorDetail
  AzureBlob:
    description: Azure blob data registry details.
    type: object
    properties:
      dataFormat:
        $ref: '#/definitions/DataFormat'
      msiClientId:
        description: >-
          Client ID of user-assigned managed identity. Use system-assigned
          managed identity if not provided.
        type: string
      linkedResource:
        description: The ID of the datastore in the Azure Maps account.
        type: string
      blobUrl:
        description: The blob URL contains the path to the file being registered.
        type: string
      sizeInBytes:
        description: The size of the content in bytes.
        type: integer
        format: int64
        readOnly: true
      contentMD5:
        description: The content MD5 of the content, used for data validation.
        type: string
        readOnly: true
    required:
      - dataFormat
      - linkedResource
      - blobUrl
  DataRegistryList:
    description: >-
      The response model for the data registry List API. Returns a list of all
      the previously registered data.
    type: object
    properties:
      value:
        description: An array of data registries.
        type: array
        items:
          $ref: '#/definitions/DataRegistry'
        readOnly: true
      nextLink:
        description: The URL to get the next set of data registries.
        type: string
        readOnly: true
  DataFormat:
    description: The data format of the uploaded content used for validation purposes.
    type: string
    enum:
      - geojson
      - zip
    x-ms-enum:
      name: DataFormat
      modelAsString: true
      values:
        - value: geojson
          description: >-
            [GeoJSON](https://tools.ietf.org/html/rfc7946) is a JSON based
            geospatial data interchange format.
        - value: zip
          description: Compressed data format.
  LongRunningOperationStatus:
    description: The status of a long-running operation.
    type: string
    readOnly: true
    enum:
      - Running
      - Failed
      - Completed
    x-ms-enum:
      name: LongRunningOperationStatus
      modelAsString: true
      values:
        - value: Running
          description: The request is currently processing.
        - value: Failed
          description: The request has one or more failures.
        - value: Completed
          description: The request completed successfully.
  LongRunningOperationResult:
    description: The response model for a long-running operation.
    type: object
    properties:
      id:
        description: The operationId
        type: string
        readOnly: true
      status:
        $ref: '#/definitions/LongRunningOperationStatus'
      error:
        $ref: ../../../Common/preview/1.0/common.json#/definitions/MapsErrorDetail
tags:
  - name: dataRegistries