swagger: '2.0'
info:
title: Microsoft Azure Azure Maps Time Zone Service
version: '1.0'
description: Azure Maps Time Zone REST APIs
host: atlas.microsoft.com
schemes:
- https
consumes: []
produces:
- application/json
- application/xml
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
SharedKey:
type: apiKey
description: >-
This is a shared key that is provisioned when you [Create an Azure Maps
account](https://docs.microsoft.com/azure/azure-maps/quick-demo-map-app#create-an-azure-maps-account)
in the Azure portal or using PowerShell, CLI, Azure SDKs, or REST API.
With this key, any application can access all REST API. In other words, this key can be used as a master key in the account that they are issued in.
For publicly exposed applications, our recommendation is to use the [confidential client applications](https://docs.microsoft.com/azure/azure-maps/authentication-best-practices#confidential-client-applications) approach to access Azure Maps REST APIs so your key can be securely stored.
name: subscription-key
in: query
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
- SharedKey: []
- SasToken: []
responses:
'400':
description: >-
Bad request: one or more parameters were incorrectly specified or are
mutually exclusive.
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"
'403':
description: Permission, capacity, or authentication issues.
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'
'500':
description: An error occurred while processing the request. Please try again later.
schema:
$ref: '#/definitions/ODataErrorResponse'
parameters:
ClientId:
name: x-ms-client-id
description: >-
Specifies which account is intended for usage in conjunction with the
Microsoft Entra ID security model. It represents a unique ID for the
Azure Maps account and can be retrieved from the Azure Maps management plane Account API. To use Microsoft Entra ID security in Azure Maps see
the following [articles](https://aka.ms/amauthdetails) for guidance.
type: string
in: header
required: false
x-ms-parameter-location: client
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
ApiVersion:
name: api-version
description: Version number of Azure Maps API. Current version is 1.0
type: string
in: query
required: true
default: '1.0'
x-ms-parameter-location: client
JsonFormat:
name: format
description: Desired format of the response. Only `json` format is supported.
type: string
in: path
required: true
enum:
- json
x-ms-enum:
name: JsonFormat
modelAsString: true
values:
- value: json
description: >-
[The JavaScript Object Notation Data Interchange
Format](https://tools.ietf.org/html/rfc8259)
x-ms-parameter-location: method
TimezoneAcceptLanguage:
name: Accept-Language
in: header
description: >-
Specifies the language code in which the timezone names should be
returned. If no language code is provided, the response will be in "EN".
Please refer to [Supported
Languages](https://docs.microsoft.com/en-us/azure/azure-maps/supported-languages)
for details.
required: false
type: string
x-ms-parameter-location: method
TimezoneOptions:
name: options
in: query
description: >-
Alternatively, use alias "o". Options available for types of information
returned in the result.
required: false
type: string
enum:
- none
- zoneInfo
- transitions
- all
x-ms-enum:
name: TimezoneOptions
modelAsString: true
values:
- value: none
description: Do not include zoneinfo or transitions in the result.
- value: zoneInfo
description: Include additional time zone info in the result.
- value: transitions
description: >-
Include transition information in the result (The number of
transitions is currently capped at 250).
- value: all
description: Include both zoneinfo and transitions in the result.
x-ms-parameter-location: method
TimezoneTimeStamp:
name: timeStamp
in: query
description: >-
Alternatively, use alias "stamp", or "s". Reference time, if omitted, the
API will use the machine time serving the request.
required: false
type: string
x-ms-parameter-location: method
format: date-time
TimezoneTransitionsFrom:
name: transitionsFrom
in: query
description: >-
Alternatively, use alias "tf". The start date from which daylight savings
time (DST) transitions are requested, only applies when "options" = all or
"options" = transitions.
required: false
type: string
x-ms-parameter-location: method
format: date-time
TimezoneTransitionsYears:
name: transitionsYears
in: query
description: >-
Alternatively, use alias "ty". The number of years from "transitionsFrom"
for which DST transitions are requested, only applies when "options" = all
or "options" = transitions.
required: false
type: integer
x-ms-parameter-location: method
paths:
/timezone/byId/{format}:
get:
x-publish: true
description: >-
__Time Zone by Id__
**Applies to**: S0 and S1 pricing
tiers.
This API returns current, historical, and future time
zone information for the specified IANA time zone ID.
operationId: microsoftAzureTimezoneGettimezonebyid
x-ms-examples:
GetTimezoneByID:
$ref: ./examples/GetTimezoneByID.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TimezoneAcceptLanguage'
- $ref: '#/parameters/TimezoneOptions'
- $ref: '#/parameters/TimezoneTimeStamp'
- $ref: '#/parameters/TimezoneTransitionsFrom'
- $ref: '#/parameters/TimezoneTransitionsYears'
- $ref: '#/parameters/JsonFormat'
- name: query
in: query
description: The IANA time zone ID.
required: true
type: string
x-ms-parameter-location: method
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneByIdResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Byid Format
tags:
- Timezone
/timezone/byCoordinates/{format}:
get:
x-publish: true
description: >-
__Time Zone by Coordinates__
**Applies to**: S0 and S1 pricing
tiers.
This API returns current, historical, and future time
zone information for a specified latitude-longitude pair. In addition,
the API provides sunset and sunrise times for a given location.
operationId: microsoftAzureTimezoneGettimezonebycoordinates
x-ms-examples:
GetTimezoneByCoordinates:
$ref: ./examples/GetTimezoneByCoordinates.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/TimezoneAcceptLanguage'
- $ref: '#/parameters/TimezoneOptions'
- $ref: '#/parameters/TimezoneTimeStamp'
- $ref: '#/parameters/TimezoneTransitionsFrom'
- $ref: '#/parameters/TimezoneTransitionsYears'
- $ref: '#/parameters/JsonFormat'
- name: query
in: query
description: >-
Coordinates of the point for which time zone information is
requested. The applicable query is specified as a comma separated
string composed by latitude followed by longitude e.g.
"47.641268,-122.125679".
required: true
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneByCoordinatesResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Bycoordinates Format
tags:
- Timezone
/timezone/enumWindows/{format}:
get:
x-publish: true
description: >-
__Enumerate Windows Time Zones__
**Applies to**: S0 and S1
pricing tiers.
This API returns a full list of Windows Time
Zone IDs.
operationId: microsoftAzureTimezoneGettimezoneenumwindows
x-ms-examples:
GetTimezoneEnumWindows:
$ref: ./examples/GetTimezoneEnumWindows.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneEnumWindowsResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Enumwindows Format
tags:
- Timezone
/timezone/enumIana/{format}:
get:
x-publish: true
description: >-
__Enumerate IANA Time Zones__
**Applies to**: S0 and S1
pricing tiers.
This API returns a full list of IANA time zone
IDs. Updates to the IANA service will be reflected in the system within
one day.
operationId: microsoftAzureTimezoneGettimezoneenumiana
x-ms-examples:
GetTimezoneEnumIANA:
$ref: ./examples/GetTimezoneEnumIANA.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneEnumIanaResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Enumiana Format
tags:
- Timezone
/timezone/ianaVersion/{format}:
get:
x-publish: true
description: >-
__Time Zone IANA Version__
**Applies to**: S0 and S1 pricing
tiers.
This API returns the current IANA version number.
operationId: microsoftAzureTimezoneGettimezoneianaversion
x-ms-examples:
GetTimezoneIANAVersion:
$ref: ./examples/GetTimezoneIANAVersion.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneIanaVersionResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Ianaversion Format
tags:
- Timezone
/timezone/windowsToIana/{format}:
get:
x-publish: true
description: >-
__Windows to IANA Time Zone__
**Applies to**: S0 and S1
pricing tiers.
This API returns a corresponding IANA ID,
given a valid Windows Time Zone ID. Multiple IANA IDs may be returned
for a single Windows ID. It is possible to narrow these results by
adding an optional territory parameter.
operationId: microsoftAzureTimezoneGettimezonewindowstoiana
x-ms-examples:
GetTimezoneWindowsToIANA:
$ref: ./examples/GetTimezoneWindowsToIANA.json
parameters:
- $ref: '#/parameters/ClientId'
- $ref: '#/parameters/SubscriptionKey'
- $ref: '#/parameters/ApiVersion'
- $ref: '#/parameters/JsonFormat'
- name: query
in: query
description: The Windows time zone ID.
required: true
type: string
- name: territory
in: query
description: Windows Time Zone territory code.
required: false
type: string
responses:
'200':
description: OK
schema:
$ref: '#/definitions/TimezoneWindowToIanaResult'
'400':
$ref: '#/responses/400'
'401':
$ref: '#/responses/401'
'403':
$ref: '#/responses/403'
'404':
$ref: '#/responses/404'
'500':
$ref: '#/responses/500'
produces:
- application/json
summary: Microsoft Azure Get Timezone Windowstoiana Format
tags:
- Timezone
definitions:
ODataErrorResponse:
type: object
description: >-
This response object is returned when an error occurs in the Azure Maps
API.
properties:
error:
$ref: '#/definitions/ODataError'
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.
Country:
type: object
description: A country/region record.
properties:
Name:
description: country/region Name
type: string
readOnly: true
Code:
description: ISO-3166 2-letter country/region code for the country/region .
type: string
readOnly: true
TimeTransition:
type: object
readOnly: true
properties:
Tag:
description: Tag property
type: string
readOnly: true
StandardOffset:
description: StandardOffset property
type: string
readOnly: true
DaylightSavings:
description: DaylightSavings property
type: string
readOnly: true
UtcStart:
description: Start date, start time for this transition period
type: string
readOnly: true
format: date-time
UtcEnd:
description: End date, end time for this transition period
type: string
readOnly: true
format: date-time
TimezoneByIdResult:
description: This object is returned from a successful Timezone By ID call
type: object
properties:
Version:
description: Version property
type: string
readOnly: true
ReferenceUtcTimestamp:
description: Reference Utc Timestamp property
type: string
readOnly: true
format: date-time
TimeZones:
$ref: '#/definitions/TimeZonesById'
TimezoneByCoordinatesResult:
description: This object is returned from a successful Timezone By Coordinates call
type: object
properties:
Version:
description: Version property
type: string
readOnly: true
ReferenceUtcTimestamp:
description: Reference Utc Timestamp property
type: string
readOnly: true
format: date-time
TimeZones:
$ref: '#/definitions/TimeZonesByCoordinates'
TimezoneEnumWindowsResult:
description: This object is returned from a successful Timezone Enum Windows call
type: array
items:
$ref: '#/definitions/TimezoneEnumWindow'
TimezoneEnumWindow:
type: object
properties:
WindowsId:
description: Windows Id property
type: string
readOnly: true
Territory:
description: Territory property
type: string
readOnly: true
IanaIds:
description: IanaIds array
type: array
items:
type: string
readOnly: true
TimezoneEnumIanaResult:
description: This object is returned from a successful Timezone Enum IANA call
type: array
items:
$ref: '#/definitions/IanaId'
TimezoneIanaVersionResult:
description: This object is returned from a successful Timezone IANA Version call
type: object
properties:
version:
description: Version property
type: string
readOnly: true
TimezoneWindowToIanaResult:
description: This object is returned from a successful Timezone Windows To IANA call
type: array
items:
$ref: '#/definitions/IanaId'
IanaId:
type: object
properties:
id:
description: Id property
type: string
readOnly: true
isAlias:
description: IsAlias property
type: boolean
readOnly: true
aliasOf:
description: AliasOf property
type: string
readOnly: true
hasZone1970Location:
description: HasZone1970Location property
type: boolean
readOnly: true
TimeZonesById:
description: TimeZoneById array
type: array
readOnly: true
items:
$ref: '#/definitions/TimezoneById'
TimeZonesByCoordinates:
description: TimeZoneByCoordinates array
type: array
readOnly: true
items:
$ref: '#/definitions/TimeZoneByCoordinates'
TimezoneById:
type: object
properties:
Id:
description: Id property
type: string
readOnly: true
Aliases:
description: >-
An array of time zone ID aliases. Only returned when
[options]=*zoneinfo* or *all*.
Note: may be null.
type: array
readOnly: true
items:
type: string
readOnly: true
Countries:
description: >-
An array of country/region records. Only returned when
[options]=*zoneinfo* or *all*.
type: array
readOnly: true
items:
$ref: '#/definitions/Country'
Names:
$ref: '#/definitions/Names'
ReferenceTime:
$ref: '#/definitions/ReferenceTimeById'
RepresentativePoint:
$ref: '#/definitions/RepresentativePoint'
TimeTransitions:
description: >-
Time zone DST transitions from [transitionsFrom] until timestamp + 1
year.
type: array
readOnly: true
items:
$ref: '#/definitions/TimeTransition'
TimeZoneByCoordinates:
type: object
properties:
Id:
description: Id property
type: string
readOnly: true
Aliases:
description: >-
An array of time zone ID aliases. Only returned when
[options]=*zoneinfo* or *all*.
Note: may be null.
type: array
readOnly: true
items:
type: string
readOnly: true
Countries:
description: >-
An array of country/region records. Only returned when
[options]=*zoneinfo* or *all*.
type: array
readOnly: true
items:
$ref: '#/definitions/Country'
Names:
$ref: '#/definitions/Names'
ReferenceTime:
$ref: '#/definitions/ReferenceTimeByCoordinates'
RepresentativePoint:
$ref: '#/definitions/RepresentativePoint'
TimeTransitions:
description: >-
Time zone DST transitions from [transitionsFrom] until timestamp + 1
year.
type: array
readOnly: true
items:
$ref: '#/definitions/TimeTransition'
Names:
type: object
description: Timezone names object.
properties:
ISO6391LanguageCode:
description: The ISO 639-1 language code of the Names
type: string
readOnly: true
Generic:
description: Generic Name
type: string
readOnly: true
Standard:
description: Standard Name
type: string
readOnly: true
Daylight:
description: Daylight Name
type: string
readOnly: true
ReferenceTimeById:
description: Details in effect at the local time.
type: object
readOnly: true
properties:
Tag:
description: >-
Time zone name in effect at the reference timestamp (i.e. PST or PDT
depending whether Daylight Savings Time is in effect).
type: string
readOnly: true
StandardOffset:
description: UTC offset in effect at the `ReferenceUTCTimestamp`.
type: string
readOnly: true
DaylightSavings:
description: Time saving in minutes in effect at the `ReferenceUTCTimestamp`.
type: string
readOnly: true
WallTime:
description: >-
Current wall time at the given time zone as shown in the `Tag`
property.
type: string
readOnly: true
PosixTzValidYear:
description: >-
The year this POSIX string is valid for. Note: A POSIX string will
only be valid in the given year.
type: integer
readOnly: true
PosixTz:
description: POSIX string used to set the time zone environment variable.
type: string
readOnly: true
ReferenceTimeByCoordinates:
description: Details in effect at the local time.
type: object
readOnly: true
properties:
Tag:
description: >-
Time zone name in effect at the reference timestamp (i.e. PST or PDT
depending whether Daylight Savings Time is in effect).
type: string
readOnly: true
StandardOffset:
description: UTC offset in effect at the `ReferenceUTCTimestamp`.
type: string
readOnly: true
DaylightSavings:
description: Time saving in minutes in effect at the `ReferenceUTCTimestamp`.
type: string
readOnly: true
WallTime:
description: >-
Current wall time at the given time zone as shown in the `Tag`
property.
type: string
readOnly: true
PosixTzValidYear:
description: >-
The year this POSIX string is valid for. Note: A POSIX string will
only be valid in the given year.
type: integer
readOnly: true
PosixTz:
description: POSIX string used to set the time zone environment variable.
type: string
readOnly: true
Sunrise:
description: Sunrise at the given time zone as shown in the `Tag` property.
type: string
readOnly: true
Sunset:
description: Sunset at the given time zone as shown in the `Tag` property.
type: string
readOnly: true
RepresentativePoint:
description: Representative point property
type: object
readOnly: true
properties:
Latitude:
description: Latitude property
type: number
readOnly: true
Longitude:
description: Longitude property
type: number
readOnly: true
tags:
- name: Timezone