# Publication
## Definitions
### Publication (`Publication`)
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`id` | The publication's identifier. An unique, increasing integer. | See details
`category` | The publication category. | See details
`contains_adult_content` | If the publication may contain adult content. | See details
`is_missing_implementation` | If the publication is not (fully) implemented and thus needs to be excluded from * stable releases. | See details
`prerequisites?` | The specific other publications this publication depends on data from. | See details
`translations` | All translations for the entry, identified by IETF language tag (BCP47). | See details
#### `id`
The publication's identifier. An unique, increasing integer.
- **Type:** Integer
- **Minimum:** `1`
#### `category`
The publication category.
- **Type:** Category
#### `contains_adult_content`
If the publication may contain adult content.
- **Type:** Boolean
#### `is_missing_implementation`
If the publication is not (fully) implemented and thus needs to be excluded from * stable releases.
- **Type:** Boolean
#### `prerequisites?`
The specific other publications this publication depends on data from.
- **Type:** PublicationPrerequisites
#### `translations`
All translations for the entry, identified by IETF language tag (BCP47).
- **Type:** LocaleMap<PublicationTranslation>
---
### `PublicationTranslation`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`id?` | The publisher's publication identifier. | See details
`name` | The publication's name. | See details
`abbreviation` | The publication's abbreviation. | See details
`release_date?` | The publication's release date. | See details
`is_missing_implementation` | If this publication translation is not (fully) implemented and thus needs to be excluded from stable releases. | See details
#### `id?`
The publisher's publication identifier.
- **Type:** String
- **Minimum Length:** `1`
#### `name`
The publication's name.
- **Type:** NonEmptyString
#### `abbreviation`
The publication's abbreviation.
- **Type:** NonEmptyString
#### `release_date?`
The publication's release date.
- **Type:** String
- **Format:** `date`
#### `is_missing_implementation`
If this publication translation is not (fully) implemented and thus needs to be excluded from stable releases.
- **Type:** Boolean
---
### `Category`
The publication category.
- **Type:** Union
- **Cases:** Category'0 | Category'1 | Category'2 | Category'3
---
### `Category'0`
- **Constant:** `"CoreRules"`
---
### `Category'1`
- **Constant:** `"ExpansionRules"`
---
### `Category'2`
- **Constant:** `"Sourcebook"`
---
### `Category'3`
- **Constant:** `"RegionalSourcebook"`