import { addAnnotations } from "@esri/hub-annotations";
  url: annotationsUrl + "/0",
  features: [{
    attributes: {
      target: "http://...", // required, explains what is being commented on
      description: "A grand idea!" // also required. this is the actual comment

Add an annotation to ArcGIS Hub. Uses authentication to derive authorship, appends a timestamp and sets a default status of "pending" to new comments by default.


Parameter Type Default Notes
requestOptions Required IAddAnnotationsOptions

request options that may include authentication

Available requestOptions

Property Type Notes
features IAnnoFeature[]
url Inherited string

Layer service url.

authentication Optional Inherited IAuthenticationManager

The instance of IAuthenticationManager to use to authenticate this request.

credentials Optional Inherited RequestCredentials

A string indicating whether credentials (cookies) will be sent with the request. Used internally for authentication workflows.

fetch Optional Inherited function(input: RequestInfo, init: RequestInit) : Promise<Response>

The implementation of fetch to use. Defaults to a global fetch.

gdbVersion Optional Inherited string

The geodatabase version to apply the edits.

headers Optional Inherited [key: string]: any

Additional Headers to pass into the request.

hideToken Optional Inherited boolean

Prevents the token from being passed in a URL Query param that is saved in browser history. Instead, the token will be passed in POST request body or through X-Esri-Authorization header. NOTE: This will force POST requests in browsers since auth header is not yet supported by preflight OPTIONS check with CORS.

httpMethod Optional Inherited HTTPMethods

The HTTP method to send the request with.

maxUrlLength Optional Inherited number

If the length of a GET request's URL exceeds maxUrlLength the request will use POST instead.

params Optional Inherited IParams

Additional parameters to pass in the request.

portal Optional Inherited string

Base url for the portal you want to make the request to. Defaults to authentication.portal if authentication exists, otherwise to ''.

rawResponse Optional Inherited boolean

Return the raw response

returnEditMoment Optional Inherited boolean

Optional parameter specifying whether the response will report the time features were added.

rollbackOnFailure Optional Inherited boolean

Optional parameter to specify if the edits should be applied only if all submitted edits succeed.


A Promise that will resolve with the response from the service after attempting to add one or more new annotations.

Array<IEditFeatureErrorResponse | IEditFeatureResult>

Function defined in packages/annotations/src/add.ts:44