# net.wireservice.draft

> Published by [wireservice.net](https://lexicon.garden/identity/did:plc:lktj64hp7lc3fzuf6iyy7lwj)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.draft)
- [Documentation](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.draft/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.draft/examples)

## Definitions

### `net.wireservice.draft`

**Type**: `record`

An unpublished or in-progress article, stored in the publication's private staff space and written by the publication's DID. On publish, the CMS writes a public site.standard.document; when space is set, it writes the full document into that space and a public net.wireservice.gatedContent stub instead.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `assignees` | `array` | No | Staff DIDs currently responsible for the draft. |
| `content` | `ref` → `net.wireservice.content` | No | Article content as it will be published. |
| `contributors` | `array` | No |  |
| `coverImage` | `blob` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `description` | `string` | No |  |
| `document` | `string` (at-uri) | No | AT URI of the published site.standard.document, once published. Edits to a published article are made on the draft and republished. |
| `path` | `string` | No | The slug that starts the article's URL, which ends with the document's record key (/<slug>-<rkey>). Defaults to one made from the title. |
| `scheduledAt` | `string` (datetime) | No | When the CMS should publish the draft. Required when status is 'scheduled'. |
| `space` | `string` (space-ref) | No | When set, the article is gated: its content is published into this space and the public document becomes a net.wireservice.gatedContent stub. |
| `status` | `string` | Yes |  |
| `tags` | `array` | No |  |
| `title` | `string` | No |  |
| `updatedAt` | `string` (datetime) | No |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An unpublished or in-progress article, stored in the publication's private staff space and written by the publication's DID. On publish, the CMS writes a public site.standard.document; when space is set, it writes the full document into that space and a public net.wireservice.gatedContent stub instead.",
      "key": "tid",
      "record": {
        "properties": {
          "assignees": {
            "description": "Staff DIDs currently responsible for the draft.",
            "items": {
              "format": "did",
              "type": "string"
            },
            "type": "array"
          },
          "content": {
            "description": "Article content as it will be published.",
            "ref": "net.wireservice.content",
            "type": "ref"
          },
          "contributors": {
            "items": {
              "ref": "site.standard.document#contributor",
              "type": "ref"
            },
            "type": "array"
          },
          "coverImage": {
            "accept": [
              "image/*"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 3000,
            "maxLength": 30000,
            "type": "string"
          },
          "document": {
            "description": "AT URI of the published site.standard.document, once published. Edits to a published article are made on the draft and republished.",
            "format": "at-uri",
            "type": "string"
          },
          "path": {
            "description": "The slug that starts the article's URL, which ends with the document's record key (/<slug>-<rkey>). Defaults to one made from the title.",
            "maxLength": 200,
            "type": "string"
          },
          "scheduledAt": {
            "description": "When the CMS should publish the draft. Required when status is 'scheduled'.",
            "format": "datetime",
            "type": "string"
          },
          "space": {
            "description": "When set, the article is gated: its content is published into this space and the public document becomes a net.wireservice.gatedContent stub.",
            "format": "space-ref",
            "type": "string"
          },
          "status": {
            "knownValues": [
              "draft",
              "inReview",
              "approved",
              "scheduled",
              "published"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "tags": {
            "items": {
              "maxGraphemes": 128,
              "maxLength": 1280,
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "maxGraphemes": 500,
            "maxLength": 5000,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "status",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "net.wireservice.draft",
  "lexicon": 1
}
```
