---
title: "Get an 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/get-olc-entity-draft/
---

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

# Get an 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.

GET

/admin/olc/{kind}/{vnum}/draft

FetchcURL

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

```
curl --request GET \  --url https://example.com/admin/olc/example/example/draft
```

Returns the effective typed working copy and lease state.

## Parameters

### Path Parameters

**kind**

required

OLC kind: mob, obj, shop, or zone.

string

OLC kind: mob, obj, shop, or zone.

**vnum**

required

Prototype VNUM or room VNUM for a zone draft.

string

Prototype VNUM or room VNUM for a zone draft.

## 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

**mob**

object

**AC**

required

integer format: int64

**ActionFlags**

required

Array<string> | null

**AffectFlags**

required

Array<string> | null

**Alignment**

required

integer format: int64

**BareHandAttack**

required

integer format: int64

**Cha**

required

integer format: int64

**Con**

required

integer format: int64

**Damage**

required

object

**Num**

required

integer format: int64

**Plus**

required

integer format: int64

**Sides**

required

integer format: int64

**DefaultPos**

required

integer format: int64

**DetailedDesc**

required

string

**Dex**

required

integer format: int64

**Exp**

required

integer format: int64

**Gold**

required

integer format: int64

**HP**

required

object

**Num**

required

integer format: int64

**Plus**

required

integer format: int64

**Sides**

required

integer format: int64

**Height**

required

integer format: int64

**Int**

required

integer format: int64

**Keywords**

required

string

**Level**

required

integer format: int64

**LongDesc**

required

string

**LuaFunctions**

required

integer format: int64

**Noise**

required

string

**Position**

required

integer format: int64

**Race**

required

integer format: int64

**RaceStr**

required

string

**ScriptName**

required

string

**Sex**

required

integer format: int64

**ShortDesc**

required

string

**Str**

required

integer format: int64

**StrAdd**

required

integer format: int64

**THAC0**

required

integer format: int64

**VNum**

required

integer format: int64

**Weight**

required

integer format: int64

**Wis**

required

integer format: int64

**object**

object

**ActionDesc**

required

string

**Affects**

required

Array<object> | null

object

**Location**

required

integer format: int64

**Modifier**

required

integer format: int64

**Cost**

required

integer format: int64

**ExtraDescs**

required

Array<object> | null

object

**Description**

required

string

**Keywords**

required

string

**ExtraFlags**

required

Array<integer> | null

\>= 4 items <= 4 items

**Keywords**

required

string

**LoadPercent**

required

number format: double

**LongDesc**

required

string

**LuaFunctions**

required

integer format: int64

**ScriptName**

required

string

**ShortDesc**

required

string

**TypeFlag**

required

integer format: int64

**VNum**

required

integer format: int64

**Values**

required

Array<integer> | null

\>= 4 items <= 4 items

**WearFlags**

required

Array<integer> | null

\>= 4 items <= 4 items

**Weight**

required

integer format: int64

**shop**

object

**Bitvector**

required

integer format: int64

**BuyProfit**

required

number format: double

**BuyTypes**

required

Array<integer> | null

**BuyWords**

required

Array<string> | null

**CloseHour1**

required

integer format: int64

**CloseHour2**

required

integer format: int64

**KeeperVNum**

required

integer format: int64

**Messages**

required

Array<string> | null

\>= 7 items <= 7 items

**OpenHour1**

required

integer format: int64

**OpenHour2**

required

integer format: int64

**Products**

required

Array<integer> | null

**Rooms**

required

Array<integer> | null

**SellProfit**

required

number format: double

**Temper**

required

integer format: int64

**VNum**

required

integer format: int64

**WithWho**

required

integer format: int64

**vnum**

required

integer format: int64

**zone**

object

**commands**

required

Array<object> | null

object

**arg1**

required

integer format: int64

**arg2**

required

integer format: int64

**arg3**

required

integer format: int64

**command**

required

string

**if\_flag**

required

integer format: int64

**position**

required

integer format: int64

**lifespan**

required

integer format: int64

**name**

required

string

**number**

required

integer format: int64

**reset\_mode**

required

integer format: int64

**top\_room**

required

integer format: int64

#### Example generated

```
{  "dirty": [    "example"  ],  "kind": "example",  "lease_expires_at": "2026-04-15T12:00:00Z",  "lease_remaining_seconds": 1,  "mob": {    "AC": 1,    "ActionFlags": [      "example"    ],    "AffectFlags": [      "example"    ],    "Alignment": 1,    "BareHandAttack": 1,    "Cha": 1,    "Con": 1,    "Damage": {      "Num": 1,      "Plus": 1,      "Sides": 1    },    "DefaultPos": 1,    "DetailedDesc": "example",    "Dex": 1,    "Exp": 1,    "Gold": 1,    "HP": {      "Num": 1,      "Plus": 1,      "Sides": 1    },    "Height": 1,    "Int": 1,    "Keywords": "example",    "Level": 1,    "LongDesc": "example",    "LuaFunctions": 1,    "Noise": "example",    "Position": 1,    "Race": 1,    "RaceStr": "example",    "ScriptName": "example",    "Sex": 1,    "ShortDesc": "example",    "Str": 1,    "StrAdd": 1,    "THAC0": 1,    "VNum": 1,    "Weight": 1,    "Wis": 1  },  "object": {    "ActionDesc": "example",    "Affects": [      {        "Location": 1,        "Modifier": 1      }    ],    "Cost": 1,    "ExtraDescs": [      {        "Description": "example",        "Keywords": "example"      }    ],    "ExtraFlags": [      1    ],    "Keywords": "example",    "LoadPercent": 1,    "LongDesc": "example",    "LuaFunctions": 1,    "ScriptName": "example",    "ShortDesc": "example",    "TypeFlag": 1,    "VNum": 1,    "Values": [      1    ],    "WearFlags": [      1    ],    "Weight": 1  },  "shop": {    "Bitvector": 1,    "BuyProfit": 1,    "BuyTypes": [      1    ],    "BuyWords": [      "example"    ],    "CloseHour1": 1,    "CloseHour2": 1,    "KeeperVNum": 1,    "Messages": [      "example"    ],    "OpenHour1": 1,    "OpenHour2": 1,    "Products": [      1    ],    "Rooms": [      1    ],    "SellProfit": 1,    "Temper": 1,    "VNum": 1,    "WithWho": 1  },  "vnum": 1,  "zone": {    "commands": [      {        "arg1": 1,        "arg2": 1,        "arg3": 1,        "command": "example",        "if_flag": 1,        "position": 1      }    ],    "lifespan": 1,    "name": "example",    "number": 1,    "reset_mode": 1,    "top_room": 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"}
```
