Article
| Field | Type / limits | Required |
|---|---|---|
id | {"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"} | Yes |
slug | {"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"} | Yes |
kind | {"type":"string","enum":["article","resource","changelog"]} | Yes |
title | {"type":"string","minLength":1,"maxLength":240} | Yes |
summary | {"anyOf":[{"type":"string","minLength":1,"maxLength":600},{"type":"null"}]} | Yes |
author | {"anyOf":[{"$ref":"#/$defs/Person"},{"type":"null"}]} | Yes |
publishedAt | {"anyOf":[{"type":"string","minLength":20,"maxLength":30,"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"},{"type":"null"}]} | Yes |
updatedAt | {"type":"string","minLength":20,"maxLength":30,"format":"date-time","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?Z$"} | Yes |
category | {"type":"string","enum":["guide","engineering","news","release"]} | Yes |
locale | {"type":"string","minLength":2,"maxLength":20,"pattern":"^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"} | Yes |
coverAssetId | {"anyOf":[{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$"},{"type":"null"}]} | Yes |
publicUrl | {"$ref":"#/$defs/OfficialPublicHref"} | Yes |
blocks | {"type":"array","items":{"$ref":"#/$defs/ArticleBlock"},"minItems":1,"maxItems":80} | Yes |
revision | {"type":"integer","minimum":1} | Yes |
reconstructedStrict local schema; not the private product API · Source and evidence