Skip to content
DARK
PAWNS

A Multi-User DungeonEST. 1994

Patch 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.

PATCH
/admin/olc/{kind}/{vnum}/draft
curl --request PATCH \
--url https://example.com/admin/olc/example/example/draft \
--header 'Content-Type: application/json' \
--data '[ { "arg1": 1, "arg2": 1, "arg3": 1, "bit": 1, "command": "example", "enabled": true, "float": 1, "if_flag": 1, "index": 1, "keywords": "example", "kind": "example", "location": 1, "modifier": 1, "text": "example", "to_index": 1, "value": 1 } ]'

Applies an ordered typed operation list to a mob, object, shop, or zone draft.

kind
required
string
vnum
required
string
Media typeapplication/json
Array<object> | null
object
arg1
integer format: int64
arg2
integer format: int64
arg3
integer format: int64
bit
integer format: int64
command
string
enabled
boolean
float
number format: double
if_flag
integer format: int64
index
integer format: int64
keywords
string
kind
required

Semantic OLC operation.

string
location
integer format: int64
modifier
integer format: int64
text
string
to_index
integer format: int64
value
integer format: int64

Example generated

[
{
"arg1": 1,
"arg2": 1,
"arg3": 1,
"bit": 1,
"command": "example",
"enabled": true,
"float": 1,
"if_flag": 1,
"index": 1,
"keywords": "example",
"kind": "example",
"location": 1,
"modifier": 1,
"text": "example",
"to_index": 1,
"value": 1
}
]

OK

Media typeapplication/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
}
}

Error

Media typeapplication/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"
}