---
title: "Save a network change as a draft (implementor)"
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/put-network/
---

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

# Save a network change as a draft (implementor)

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.

PUT

/admin/network

FetchcURL

```
const url = 'https://example.com/admin/network';const options = {  method: 'PUT',  headers: {'Content-Type': 'application/json'},  body: '{"revision":1,"telnet":{"enabled":true,"port":1,"public":true},"telnet_tls":{"enabled":true,"port":1,"public":true},"whod":{"enabled":true,"port":1,"public":true}}'};
try {  const response = await fetch(url, options);  const data = await response.json();  console.log(data);} catch (error) {  console.error(error);}
```

```
curl --request PUT \  --url https://example.com/admin/network \  --header 'Content-Type: application/json' \  --data '{ "revision": 1, "telnet": { "enabled": true, "port": 1, "public": true }, "telnet_tls": { "enabled": true, "port": 1, "public": true }, "whod": { "enabled": true, "port": 1, "public": true } }'
```

Validates enable, port and exposure for plaintext telnet, TLS telnet and WHOD. Saving changes nothing live: the response carries the exposure diff and warnings, and the change becomes real only through the apply-and-restart transaction.

## Request Bodyrequired

application/json

object

**revision**

required

integer format: int64

**telnet**

required

object

**enabled**

required

boolean

**port**

required

integer format: int64

**public**

required

boolean

**telnet\_tls**

required

object

**enabled**

required

boolean

**port**

required

integer format: int64

**public**

required

boolean

**whod**

required

object

**enabled**

required

boolean

**port**

required

integer format: int64

**public**

required

boolean

### Example generated

```
{  "revision": 1,  "telnet": {    "enabled": true,    "port": 1,    "public": true  },  "telnet_tls": {    "enabled": true,    "port": 1,    "public": true  },  "whod": {    "enabled": true,    "port": 1,    "public": true  }}
```

## Responses

### 200

OK

application/json

object

**config**

required

object

**revision**

required

integer format: int64

**diff**

required

Array<object> | null

object

**field**

required

string

**from**

required

string

**to**

required

string

**restart\_required**

required

boolean

**warnings**

required

Array<string> | null

#### Example generated

```
{  "config": {    "revision": 1  },  "diff": [    {      "field": "example",      "from": "example",      "to": "example"    }  ],  "restart_required": true,  "warnings": [    "example"  ]}
```

### 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"}
```
