> For the complete documentation index, see [llms.txt](https://docs.coherence.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coherence.io/2.4/hosting/self-hosting/open-api-reference/models.md).

# Models

## The rooms.AddRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.AddRequest":{"type":"object","required":["UniqueID","Secret","RecvFrequency","SendFrequency","ProjectID","CleanupTimeout","DisconnectTimeout","MaxClients","MaxEntities","MaxQueriesPerClient"],"properties":{"UniqueID":{"description":"Unique ID of the room instance. This ID is used to identify the room in the server.","type":"integer","format":"int64","minimum":1},"Secret":{"description":"Secret used for authenticating Simulator connections.","type":"string","minLength":4,"maxLength":128},"MaxClients":{"description":"Maximum number of clients allowed to connect to the room instance.","type":"integer","minimum":1,"maximum":65535,"default":10},"MaxEntities":{"description":"Maximum number of entities allowed to be created in the room instance.","type":"integer","minimum":1,"default":65534},"MaxQueriesPerClient":{"description":"Maximum number of queries that each client can have active at any time.","type":"integer","minimum":1,"default":15},"SchemaName":{"description":"Name of the schema to be used for the room instance.","type":"string","default":""},"SchemaTimeout":{"description":"How long (in seconds) the schema should be cached in the server before being removed.","type":"integer","minimum":1,"default":60},"SchemaUrls":{"description":"URLs of the schemas to be used for the room instance.","type":"array","items":{"type":"string"},"default":[]},"Schemas":{"description":"List of schemas to be used for the room instance.","type":"array","items":{"type":"string"},"default":[]},"DisconnectTimeout":{"description":"How long (in milliseconds) the server should wait before closing the connection to a client that hasn't sent any data.","type":"integer","format":"uint32","minimum":1,"default":5000},"DebugStreams":{"description":"Whether to enable debug streams for the room instance.","type":"boolean","default":false},"SendFrequency":{"description":"Frequency (Hz) at which the server should send updates to clients.","type":"integer","minimum":1,"maximum":256,"default":20},"RecvFrequency":{"description":"Frequency (Hz) at which the server expects to receive updates from clients.","type":"integer","format":"uint8","minimum":1,"maximum":255,"default":60},"MinQueryDistance":{"description":"Minimum displacement distance for a query to be considered changed.","type":"number","format":"float","default":0.01},"CleanupTimeout":{"description":"How long (in seconds) the server should wait before removing a room instance that has no active clients.","type":"integer","minimum":1,"default":5},"ProjectID":{"description":"ID of the project to which the room instance belongs.","type":"string"},"KVP":{"description":"Key-Value Pair (KVP) data associated with the room instance. Keys are at most\n128 characters.","type":"object","maxProperties":128,"additionalProperties":{"type":"string","maxLength":128}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance. Keys are\nat most 128 characters.","type":"object","maxProperties":128,"additionalProperties":{"type":"string","maxLength":1024}},"Tags":{"description":"Tags associated with the room instance.","type":"array","items":{"type":"string","maxLength":128},"maxItems":128},"Created":{"description":"Timestamp indicating when the room instance was created.","type":"string","format":"date-time"},"HostAuthority":{"description":"Comma-separated list of host authority features. Valid values are \"create-entities\" and \"validate-connection\". Example \"create-entities,validate-connection\"","type":"string","default":""}}}}}}
```

## The rooms.AddResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.AddResponse":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"Secret":{"type":"string"}},"required":["RoomID","Secret"]}}}}
```

## The rooms.RemoveRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.RemoveRequest":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535}},"required":["RoomID"]}}}}
```

## The rooms.RoomInfo object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.RoomInfo":{"type":"object","properties":{"UniqueID":{"description":"Unique ID of the room instance.","type":"integer","format":"int64","minimum":1},"ID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"MaxClients":{"description":"Maximum number of clients allowed to connect to the room instance.","type":"integer","minimum":1,"maximum":65535},"SchemaName":{"description":"Name of the schema to be used for the room instance.","type":"string"},"ConnectionCount":{"description":"Number of clients currently connected to the room instance.","type":"integer","minimum":0,"maximum":65535},"PlayerIDs":{"description":"Player IDs currently connected to the room instance. Included only when requested.","type":"array","items":{"type":"string"}},"LastCheckTime":{"description":"Timestamp indicating the last time the server checked the room instance.","type":"string","format":"date-time"},"ProjectID":{"description":"ID of the project to which the room instance belongs.","type":"string"},"KVP":{"description":"Key-Value Pair (KVP) data associated with the room instance. Keys are at most\n128 characters.","type":"object","additionalProperties":{"type":"string"}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance. Keys are\nat most 128 characters.","type":"object","additionalProperties":{"type":"string"}},"Tags":{"description":"Tags associated with the room instance.","type":"array","items":{"type":"string"}},"CreatedAt":{"description":"Timestamp indicating when the room instance was created.","type":"string","format":"date-time"},"Secret":{"description":"Secret used for authenticating Simulator connections.","type":"string"}}}}}}
```

## The rooms.GetRoomsResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.GetRoomsResponse":{"type":"object","properties":{"Rooms":{"description":"List of room instances on the server.","type":"array","items":{"$ref":"#/components/schemas/rooms.RoomInfo"}}}},"rooms.RoomInfo":{"type":"object","properties":{"UniqueID":{"description":"Unique ID of the room instance.","type":"integer","format":"int64","minimum":1},"ID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"MaxClients":{"description":"Maximum number of clients allowed to connect to the room instance.","type":"integer","minimum":1,"maximum":65535},"SchemaName":{"description":"Name of the schema to be used for the room instance.","type":"string"},"ConnectionCount":{"description":"Number of clients currently connected to the room instance.","type":"integer","minimum":0,"maximum":65535},"PlayerIDs":{"description":"Player IDs currently connected to the room instance. Included only when requested.","type":"array","items":{"type":"string"}},"LastCheckTime":{"description":"Timestamp indicating the last time the server checked the room instance.","type":"string","format":"date-time"},"ProjectID":{"description":"ID of the project to which the room instance belongs.","type":"string"},"KVP":{"description":"Key-Value Pair (KVP) data associated with the room instance. Keys are at most\n128 characters.","type":"object","additionalProperties":{"type":"string"}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance. Keys are\nat most 128 characters.","type":"object","additionalProperties":{"type":"string"}},"Tags":{"description":"Tags associated with the room instance.","type":"array","items":{"type":"string"}},"CreatedAt":{"description":"Timestamp indicating when the room instance was created.","type":"string","format":"date-time"},"Secret":{"description":"Secret used for authenticating Simulator connections.","type":"string"}}}}}}
```

## The rooms.KVPRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.KVPRequest":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"Data":{"description":"Key-Value Pair (KVP) data for the room instance. Replaces the room's current\ndata; it is not merged into it. Keys are at most 128 characters.","type":"object","maxProperties":128,"additionalProperties":{"type":"string","maxLength":128}}},"required":["RoomID","Data"]}}}}
```

## The rooms.PrivateKVPRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.PrivateKVPRequest":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"Data":{"description":"Private Key-Value Pair (KVP) data for the room instance. Replaces the room's\ncurrent data; it is not merged into it. Keys are at most 128 characters.","type":"object","maxProperties":128,"additionalProperties":{"type":"string","maxLength":1024}}},"required":["RoomID","Data"]}}}}
```

## The rooms.KVPResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.KVPResponse":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535}},"required":["RoomID"]}}}}
```

## The rooms.TagRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.TagRequest":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535},"Tags":{"description":"Tags for the room instance. Replaces the room's current tags; they are not\nmerged into them.","type":"array","items":{"type":"string","maxLength":128},"maxItems":128}},"required":["RoomID","Tags"]}}}}
```

## The rooms.TagResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"rooms.TagResponse":{"type":"object","properties":{"RoomID":{"description":"ID of the room instance as assigned by the server.","type":"integer","format":"uint16","minimum":1,"maximum":65535}},"required":["RoomID"]}}}}
```

## The shutdown.NoticeRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"shutdown.NoticeRequest":{"type":"object","properties":{"shutdown_at":{"description":"Scheduled shutdown time, as a Unix timestamp in seconds (UTC).","type":"integer","format":"int64","minimum":1},"reason":{"description":"Optional human readable reason for the shutdown, delivered to clients along with\nthe notice. At most 512 bytes when UTF-8 encoded.","type":"string","maxLength":512},"payload":{"description":"Optional custom data delivered to clients along with the notice, base64 encoded.\nAt most 512 bytes once decoded.","type":"string","format":"byte"}},"required":["shutdown_at"]}}}}
```

## The status.StatusResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"status.StatusResponse":{"type":"object","properties":{"connected_clients":{"description":"Current number of clients served (excluding PersistenceClients and Simulators).","type":"integer","format":"uint64","minimum":0},"player_ids":{"description":"Player IDs currently connected to the server, grouped by room UID. Included only when requested.","type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"memory_limit":{"description":"Target memory limit for the process.","type":"integer","format":"int64"},"memory_used":{"description":"Current memory usage of the process (can be higher than MemoryLimit).","type":"integer","format":"int64"}},"required":["connected_clients","memory_limit","memory_used"]}}}}
```

## The types.LogLevel object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"types.LogLevel":{"description":"Log level to be set for the server.","type":"string","enum":["trace","debug","info","warn","error","fatal","panic"]}}}}
```

## The dev.LogLevel object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"dev.LogLevel":{"type":"object","properties":{"Level":{"$ref":"#/components/schemas/types.LogLevel"}},"required":["Level"]},"types.LogLevel":{"description":"Log level to be set for the server.","type":"string","enum":["trace","debug","info","warn","error","fatal","panic"]}}}}
```

## The dev.PrintLogRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"dev.PrintLogRequest":{"type":"object","properties":{"Level":{"$ref":"#/components/schemas/types.LogLevel"},"Message":{"description":"Message to be logged.","type":"string"},"Fields":{"description":"Additional fields (key-value pairs) to be included in the log message.","type":"object","additionalProperties":{"type":"string"}}},"required":["Level","Message"]},"types.LogLevel":{"description":"Log level to be set for the server.","type":"string","enum":["trace","debug","info","warn","error","fatal","panic"]}}}}
```

## The dev.SchemaIDResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"dev.SchemaIDResponse":{"type":"object","properties":{"SchemaID":{"description":"ID of the default schema used by the server.","type":"string"}},"required":["SchemaID"]}}}}
```

## The dev.SetHealthRequest object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"dev.SetHealthRequest":{"type":"object","properties":{"Healthy":{"description":"Health status to be set for the server.","type":"boolean"}},"required":["Healthy"]}}}}
```

## The Error object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v8.0.0"},"components":{"schemas":{"Error":{"type":"object","properties":{"error_code":{"description":"Error code indicating the type of error that occurred.","type":"string","enum":["ERR_BAD_REQUEST","ERR_INTERNAL_ERROR","ERR_RESTRICTED_MODE_CAP_REACHED","ERR_ROOMS_LIMIT_REACHED","ERR_INVALID_SCHEMA","ERR_INVALID_ROOM_LIMIT","ERR_INVALID_MAX_ENTITIES","ERR_ROOM_NOT_FOUND","ERR_HIGH_MEMORY_PRESSURE"]},"user_message":{"description":"User-friendly error message.","type":"string"}},"required":["error_code","user_message"]}}}}
```
