> 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.3/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":"v7.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.","type":"object","additionalProperties":{"type":"string"}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance.","type":"object","additionalProperties":{"type":"string"}},"Tags":{"description":"Tags associated with the room instance.","type":"array","items":{"type":"string"}},"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":"v7.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":"v7.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":"v7.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},"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.","type":"object","additionalProperties":{"type":"string"}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance.","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":"v7.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},"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.","type":"object","additionalProperties":{"type":"string"}},"PrivateKVP":{"description":"Private Key-Value Pair (KVP) data associated with the room instance.","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":"v7.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 to be set for the room instance.","type":"object","maxItems":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":"v7.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":"v7.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 to be set for the room instance.","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":"v7.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 status.StatusResponse object

```json
{"openapi":"3.0.4","info":{"title":"Replication Server REST API","version":"v7.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},"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":"v7.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":"v7.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":"v7.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":"v7.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":"v7.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":"v7.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"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherence.io/2.3/hosting/self-hosting/open-api-reference/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
