---
title: "Open a room OLC draft"
description: "Look up the Dark Pawns admin API request and response contract. Sign in with a level 40 character and use the authenticated admin console session."
type: reference
audience: operators
verified: v0.1.8
canonical: https://darkpawns.org/docs/reference/api/admin/operations/open-olc-room-draft/
---

[Documentation](/docs/) / [Reference](/docs/reference/)

# Open a room OLC draft

Look up the Dark Pawns admin API request and response contract. Sign in with a level 40 character and use the authenticated admin console session.

POST

/admin/olc/room/{vnum}

FetchcURL

```
const url = 'https://example.com/admin/olc/room/example';const options = {method: 'POST'};
try {  const response = await fetch(url, options);  const data = await response.json();  console.log(data);} catch (error) {  console.error(error);}
```

```
curl --request POST \  --url https://example.com/admin/olc/room/example
```

Claims a room lease and opens or recovers the player’s in-memory REDIT working copy.

## Parameters

### Path Parameters

**vnum**

required

Room VNUM.

string

Room VNUM.

## Responses

### 200

OK

application/json

object

**dirty**

required

Array<string> | null

**kind**

required

string

**lease\_expires\_at**

required

string format: date-time

**lease\_remaining\_seconds**

required

integer format: int64

**room**

required

object

**Description**

required

string

**Exits**

required

object

**_key_**

additional properties

object

**Description**

required

string

**Direction**

required

string

**DoorState**

required

integer format: int64

**ExitInfo**

required

integer format: int64

**Key**

required

integer format: int64

**Keywords**

required

string

**ToRoom**

required

integer format: int64

**ExtraDescs**

required

Array<object> | null

object

**Description**

required

string

**Keywords**

required

string

**Flags**

required

Array<string> | null

**Light**

required

integer format: int64

**Name**

required

string

**ScriptFunctions**

required

integer format: int64

**ScriptName**

required

string

**Sector**

required

integer format: int64

**VNum**

required

integer format: int64

**Zone**

required

integer format: int64

**vnum**

required

integer format: int64

#### Example generated

```
{  "dirty": [    "example"  ],  "kind": "example",  "lease_expires_at": "2026-04-15T12:00:00Z",  "lease_remaining_seconds": 1,  "room": {    "Description": "example",    "Exits": {      "additionalProperty": {        "Description": "example",        "Direction": "example",        "DoorState": 1,        "ExitInfo": 1,        "Key": 1,        "Keywords": "example",        "ToRoom": 1      }    },    "ExtraDescs": [      {        "Description": "example",        "Keywords": "example"      }    ],    "Flags": [      "example"    ],    "Light": 1,    "Name": "example",    "ScriptFunctions": 1,    "ScriptName": "example",    "Sector": 1,    "VNum": 1,    "Zone": 1  },  "vnum": 1}
```

### default

Error

application/problem+json

object

**detail**

A human-readable explanation specific to this occurrence of the problem.

string

**errors**

Optional list of individual error details

Array<object> | null

object

**location**

Where the error occurred, e.g. ‘body.items\[3\].tags’ or ‘path.thing-id’

string

**message**

Error message text

string

**value**

The value at the given location

**instance**

A URI reference that identifies the specific occurrence of the problem.

string format: uri

**status**

HTTP status code

integer format: int64

**title**

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string

**type**

A URI reference to human-readable documentation for the error.

string format: uri

default: about:blank

#### Example

```
{  "detail": "Property foo is required but is missing.",  "instance": "https://example.com/error-log/abc123",  "status": 400,  "title": "Bad Request",  "type": "about:blank"}
```
