{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/blog2social-com/json-schema/blog2social-com-post-object-schema.json",
  "title": "PostObject",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blog2social-com-openapi.yml#/components/schemas/PostObject",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "client_user_network_id": {
        "type": "integer",
        "description": "User network auth id to wich the post should go"
      },
      "title": {
        "type": "string",
        "description": "Set post title"
      },
      "message": {
        "type": "string",
        "description": "Set post message"
      },
      "postFormat": {
        "type": "integer",
        "description": "Set post format (Link&#058; 0; Image&#058; 1; Video&#058; 2)",
        "enum": [
          0,
          1,
          2
        ]
      },
      "customUrl": {
        "type": "string",
        "description": "Set post url content"
      },
      "noCache": {
        "type": "integer",
        "description": "If the link shoud get a no_cache parameter",
        "enum": [
          0,
          1
        ]
      },
      "tags": {
        "type": "array",
        "description": "Tags to post",
        "items": {
          "type": "string"
        }
      },
      "board": {
        "type": "string",
        "description": "Pinterest board to post to"
      },
      "mediaObjects": {
        "type": "array",
        "description": "List of Media Objects to add to the post (For Facebook and X you can add up to 4 images, for Instagram up to 10 and for LinkedIn up to 9. Every other Network will only post the first image in the list)",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "Image or Video",
              "enum": [
                "IMAGE",
                "VIDEO"
              ]
            },
            "url": {
              "type": "string",
              "description": "URL to the file"
            },
            "alt": {
              "type": "string",
              "description": "Alternative text for the media"
            },
            "media_is_ai_generated": {
              "type": "integer",
              "description": "Indicates whether the image/video was AI-generated",
              "enum": [
                0,
                1
              ]
            }
          }
        }
      },
      "is_retweet": {
        "type": "integer",
        "description": "Indicator, if the post should be a retweet",
        "enum": [
          0,
          1
        ]
      },
      "network_post_id": {
        "type": "string",
        "description": "The id of the post you want to retweet"
      },
      "post_id": {
        "type": "integer",
        "description": "Identifier that will be returned with the Post Result Object, so you can pair it up with your request."
      },
      "make_threads": {
        "type": "integer",
        "description": "The post message gets cut and added as comments to the post if a message exceeds the character limit (X only)",
        "default": 0,
        "enum": [
          0,
          1
        ]
      },
      "ignore_link": {
        "type": "integer",
        "description": "If enabled, the link URL won't be added to the end of the post message",
        "default": 0,
        "enum": [
          0,
          1
        ]
      },
      "comment": {
        "type": "string",
        "description": "First comment to add to the post. Support is subject to network-specific limitations; verify supported networks before publishing."
      },
      "share_settings": {
        "$ref": "#/$defs/ShareSettings"
      },
      "text_is_ai_generated": {
        "type": "integer",
        "description": "Indicates whether the text was AI-generated",
        "enum": [
          0,
          1
        ]
      }
    }
  },
  "$defs": {
    "ShareSettings": {
      "oneOf": [
        {
          "$ref": "#/$defs/ShareSettingsTikTok"
        },
        {
          "$ref": "#/$defs/ShareSettingsMedium"
        }
      ],
      "description": "Network-specific sharing settings. Use the schema that matches the network identified by client_user_network_id. TikTok values must match the TikTok account settings."
    },
    "ShareSettingsMedium": {
      "title": "Medium share settings",
      "type": "object",
      "description": "Medium-specific sharing settings.",
      "properties": {
        "notify_followers": {
          "type": "integer",
          "description": "Enable follower notifications.",
          "enum": [
            0,
            1
          ]
        },
        "publish_status": {
          "type": "string",
          "description": "Publish status of the post.",
          "default": "public",
          "enum": [
            "public",
            "draft",
            "unlisted"
          ]
        }
      },
      "additionalProperties": false
    },
    "ShareSettingsTikTok": {
      "title": "TikTok share settings",
      "type": "object",
      "description": "TikTok-specific sharing settings. The fields status_privacy, allow_comment, promotion_option_organic, and promotion_option_branded are required when direct publishing is enabled.",
      "properties": {
        "mode": {
          "type": "integer",
          "description": "Share mode: 0 = draft, 1 = direct publish.",
          "enum": [
            0,
            1
          ],
          "default": 0
        },
        "status_privacy": {
          "type": "string",
          "description": "Privacy status of the post. Required when direct publishing is enabled.",
          "enum": [
            "PUBLIC_TO_EVERYONE",
            "FOLLOWER_OF_CREATOR",
            "MUTUAL_FOLLOW_FRIENDS",
            "SELF_ONLY"
          ]
        },
        "allow_comment": {
          "type": "integer",
          "description": "Whether comments are allowed. Required when direct publishing is enabled.",
          "enum": [
            0,
            1
          ]
        },
        "promotion_option_organic": {
          "type": "integer",
          "description": "Enable the organic promotion option. Required when direct publishing is enabled.",
          "enum": [
            0,
            1
          ]
        },
        "promotion_option_branded": {
          "type": "integer",
          "description": "Enable the branded promotion option. Required when direct publishing is enabled.",
          "enum": [
            0,
            1
          ]
        }
      },
      "additionalProperties": false
    }
  }
}