{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/breakreach-com/json-schema/breakreach-com-article-settings-schema.json",
  "title": "ArticleSettings",
  "description": "Options for the blog networks (Dev.to, Hashnode, Ghost, Tumblr). On Dev.to, Hashnode and Ghost the first line of content is the title and the rest the body, in Markdown; the first photo is the cover",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/breakreach-com-openapi.json#/components/schemas/ArticleSettings",
  "type": "object",
  "properties": {
    "tags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Dev.to keeps the first 4 (letters and digits), Hashnode 15, Ghost and Tumblr up to 30"
    },
    "canonicalUrl": {
      "type": "string",
      "format": "uri",
      "description": "Where the article was first published, when this is a copy (Dev.to, Hashnode, Ghost)"
    },
    "asDraft": {
      "type": "boolean",
      "description": "Create it as an unpublished draft on the blog instead of publishing it"
    },
    "newsletter": {
      "type": "string",
      "description": "Ghost: also email the post with this newsletter (its slug, or \"default\" for the site's first active one)"
    },
    "emailSegment": {
      "type": "string",
      "enum": [
        "all",
        "status:free",
        "status:-free"
      ],
      "description": "Ghost newsletter: who gets the email (default all members)"
    },
    "aiDisclosure": {
      "type": "string",
      "enum": [
        "no_ai",
        "some_ai",
        "fully_autonomous"
      ],
      "description": "Dev.to: how much AI wrote the article (Dev.to asks API clients to say so accurately)"
    }
  }
}