# AnnotationsService

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/AnnotationsService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/AnnotationsService

## Properties

### AnnotationsLoadingStatus

```luau
AnnotationsService.AnnotationsLoadingStatus: Enum.AnnotationRequestStatus = Enum.AnnotationRequestStatus.Loading
```

- Tags: Hidden, Roblox script security

### AnnotationsVisible

```luau
AnnotationsService.AnnotationsVisible: boolean = true
```

- Tags: Hidden, Not replicated, Roblox script security

### Hovered

```luau
AnnotationsService.Hovered: Annotation
```

- Tags: Hidden, Not replicated, Roblox script security

### Mode

```luau
AnnotationsService.Mode: Enum.AnnotationEditingMode = Enum.AnnotationEditingMode.None
```

- Tags: Hidden, Not replicated, Roblox script security

### ResolvedLoadingStatus

```luau
AnnotationsService.ResolvedLoadingStatus: Enum.AnnotationRequestStatus = Enum.AnnotationRequestStatus.Loading
```

- Tags: Hidden, Roblox script security

### Selected

```luau
AnnotationsService.Selected: Annotation
```

- Tags: Hidden, Not replicated, Roblox script security

## Methods

### CreateAnnotation

```luau
AnnotationsService:CreateAnnotation(annotation: Annotation)
```

- Tags: Roblox script security

### CreateOrUpdateChannelPreferenceAsync

```luau
AnnotationsService:CreateOrUpdateChannelPreferenceAsync(userId: number, channelId: string, placeId: number, channelContentPreference: Enum.AnnotationChannelContentPreference)
```

- Tags: Yields, Roblox script security

### CreateOrUpdatePlacePreference

```luau
AnnotationsService:CreateOrUpdatePlacePreference(placeId: number, userId: number, placeContentPreference: Enum.PlaceContentPreference)
```

- Tags: Roblox script security

### CreateOrUpdatePlacePreferenceAsync

```luau
AnnotationsService:CreateOrUpdatePlacePreferenceAsync(userId: number, placeContentPreference: Enum.AnnotationPlaceContentPreference, placeId: number)
```

- Tags: Yields, Roblox script security

### DeleteAnnotation

```luau
AnnotationsService:DeleteAnnotation(annotation: Annotation)
```

- Tags: Roblox script security

### EditAnnotation

```luau
AnnotationsService:EditAnnotation(uniqueId: string, contents: string, taggedUsers: string)
```

- Tags: Roblox script security

### GetAnnotationThreads

```luau
AnnotationsService:GetAnnotationThreads(): { Instance }
```

- Tags: Roblox script security

### GetChannelPreferenceAsync

```luau
AnnotationsService:GetChannelPreferenceAsync(userId: number, channelId: string, placeId: number): Enum.AnnotationChannelContentPreference
```

- Tags: Yields, Roblox script security

### GetPlacePreference

```luau
AnnotationsService:GetPlacePreference(placeId: number, userId: number): Enum.PlaceContentPreference
```

- Tags: Roblox script security

### GetPlacePreferenceAsync

```luau
AnnotationsService:GetPlacePreferenceAsync(userId: number, placeId: number): Enum.AnnotationPlaceContentPreference
```

- Tags: Yields, Roblox script security

### LoadAnnotationReplies

```luau
AnnotationsService:LoadAnnotationReplies(annotation: Annotation, reverseOrder: boolean, loadAll: boolean)
```

- Tags: Roblox script security

### LoadAnnotations

```luau
AnnotationsService:LoadAnnotations(resolved: boolean)
```

- Tags: Roblox script security

### ResolveAnnotation

```luau
AnnotationsService:ResolveAnnotation(annotation: Annotation, resolved: boolean)
```

- Tags: Roblox script security

### LoadResolvedAnnotations

```luau
AnnotationsService:LoadResolvedAnnotations(count: number)
```

- Tags: Deprecated, Roblox script security

## Events

### AnnotationAdded

```luau
AnnotationsService.AnnotationAdded: RBXScriptSignal<(requestId: string, annotation: Annotation, channelId: string)>
```

- Tags: Roblox script security

### AnnotationDeleted

```luau
AnnotationsService.AnnotationDeleted: RBXScriptSignal<(requestId: string, annotation: Annotation)>
```

- Tags: Roblox script security

### AnnotationEdited

```luau
AnnotationsService.AnnotationEdited: RBXScriptSignal<(requestId: string, uniqueId: string, contents: string, taggedUsers: string)>
```

- Tags: Roblox script security

### AnnotationResolved

```luau
AnnotationsService.AnnotationResolved: RBXScriptSignal<(requestId: string, annotation: Annotation, resolved: boolean)>
```

- Tags: Roblox script security

### ServerLoadAnnotationReplies

```luau
AnnotationsService.ServerLoadAnnotationReplies: RBXScriptSignal<(annotation: Annotation, reverseOrder: boolean, loadAll: boolean)>
```

- Tags: Roblox engine security

### ServerLoadAnnotations

```luau
AnnotationsService.ServerLoadAnnotations: RBXScriptSignal<(resolved: boolean)>
```

- Tags: Roblox engine security

### ServerLoadResolvedAnnotations

```luau
AnnotationsService.ServerLoadResolvedAnnotations: RBXScriptSignal<(count: number)>
```

- Tags: Roblox engine security

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
