# Services reference

The AR 51 services your client can call. Each lists its main operations and what it streams. (Method names are the public contract; request/response details are in the per-language API pages.)

## SkeletonService — motion capture

The core service for live pose data.

| Operation | Returns |
|-----------|---------|
| `GetSkeleton` | one `Skeleton` frame |
| `Register` | **stream** of `Skeleton` frames |
| `GetEntityRegistryList` | registered entities |
| `UpdateEntityRegistry` / `DeleteEntityRegistry` / `ClearEntityRegistry` | manage tracked identities |
| `GetEntityDetectionState` / `SetEntityDetectionState` | switch *registration* ↔ *detection* |
| `StartRecording` / `StopRecording` / `GetIsRecording` | server-side recording |
| `SendHands` / `SendControllerInfo` | push client VR data to the server |

## ObjectDetectionService — markers & objects

| Operation | Returns |
|-----------|---------|
| `Register` | **stream** of detected markers + objects |
| `AddObject` / `UpdateObject` / `RemoveObject` / `ClearObjects` | manage object definitions |
| `GetObjects` | current object definitions |
| `GetMarkers` / `EditMarker` | HSV marker calibration |

## CameraFeedService — per-camera streaming

| Operation | Returns |
|-----------|---------|
| `GetAvailableCameras` | camera list + intrinsics/extrinsics |
| `GetCameraFeed` | **stream** of JPEG frames + FPS |
| `SetCameraFeedSettings` | adjust a feed |
| `StartAutoTune` / `SubscribeAutoTuneStatus` | auto-tune exposure/gain/etc. |

## CalibrationService

| Operation | Returns |
|-----------|---------|
| `RunCameraCalibration` | **stream** of progress + quality + reprojection error |
| `RunCVtoDeviceCalibration` | **stream** of progress |
| `GetCaptureBounds` / `SetCaptureBounds` | active-area bounds |

## AnchorService

`CreateAnchor` · `DeleteAnchor` · `GetAnchorIds` · `SetAnchorVisibility` · Guardian management (`GetGuardian`, `CreateGuardian`, …).

## RegistrationService — discovery

| Operation | Returns |
|-----------|---------|
| `GetComponents` | snapshot of all registered components |
| `ListenToComponents` | **stream** of roster changes |
| `Register` | duplex stream (your client announces itself + receives keepalive) |

## HandSkeletonService

`StartStreaming` → **stream** of left/right hand joints (positions, rotations, confidence).

## GameService (DGS)

Scene/session control: `EnterLobby`, `Start`, `Stop`, `GetState`, `ListenToEvents`, `Setup`/`SetPlaceable`, player name.

:::note
There are also `UnityService`, `RenderService`, and `DrawService` for in-engine control and debug overlays — covered in the engine-specific API pages.
:::
