{
  "components": {
    "responses": {
      "DEFAULT_ERROR": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Default error response"
      },
      "UNPROCESSABLE_ENTITY": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        },
        "description": "Unprocessable Entity"
      }
    },
    "schemas": {
      "ApprovalRequest": {
        "properties": {
          "approval_status": {
            "description": "The status of the approval request.",
            "enum": [
              "PENDING",
              "APPROVED",
              "UNASSIGNED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "brand_id": {
            "description": "ID of the brand to which the approval request belongs to",
            "readOnly": true,
            "type": "integer"
          },
          "created_at": {
            "description": "The time when the approval request was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "deleted_at": {
            "description": "The time when the approval request was deleted.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "description": "The unique ID of the approval request record.",
            "readOnly": true,
            "type": "integer"
          },
          "post_id": {
            "description": "The ID of the post to which the approval request belongs to.",
            "readOnly": true,
            "type": "integer"
          },
          "post_platform": {
            "description": "The platform for which the approval belongs to.",
            "enum": [
              "instagram",
              "facebook",
              "tiktok",
              "pinterest",
              "twitter",
              "linkedin",
              "bluesky",
              "threads",
              "youtube",
              "snapchat"
            ],
            "readOnly": true,
            "type": "string"
          },
          "requested_by_user_id": {
            "description": "The user who requested the approval.",
            "type": "integer"
          },
          "review_user_id": {
            "description": "The user who is being asked to approve the request.",
            "type": "integer"
          },
          "updated_at": {
            "description": "The time when the approval request was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ApprovalRequestStatusUpdate": {
        "properties": {
          "approval_status": {
            "description": "The status of the approval request.",
            "enum": [
              "PENDING",
              "APPROVED",
              "UNASSIGNED"
            ],
            "type": "string"
          }
        },
        "required": [
          "approval_status"
        ],
        "type": "object"
      },
      "BlueskyScheduledPost": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "text": {
            "description": "Text content of the Bluesky post",
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Error": {
        "properties": {
          "code": {
            "description": "Error code",
            "type": "integer"
          },
          "errors": {
            "description": "Errors",
            "type": "object"
          },
          "message": {
            "description": "Error message",
            "type": "string"
          },
          "status": {
            "description": "Error name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Event": {
        "properties": {
          "brand_id": {
            "minimum": 0,
            "type": "integer"
          },
          "color": {
            "enum": [
              "eventGrey",
              "eventBlack",
              "eventLuckyCharm",
              "eventPolarDrift",
              "eventDenimDaydream",
              "eventRoseQuartz",
              "eventPlumPunch"
            ],
            "type": "string"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "end_date": {
            "format": "date",
            "type": "string"
          },
          "id": {
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "start_date": {
            "format": "date",
            "type": "string"
          },
          "title": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "brand_id",
          "end_date",
          "start_date",
          "title"
        ],
        "type": "object"
      },
      "FacebookLinkPreview": {
        "properties": {
          "can_edit": {
            "description": "Will be set to true if the link preview can be edited.",
            "readOnly": true,
            "type": "boolean"
          },
          "description": {
            "description": "A one to two sentence description of the link.",
            "nullable": true,
            "type": "string"
          },
          "image": {
            "description": "An image URL which should represent the link.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "image_media_id": {
            "description": "A library-backend media ID of type IMAGE which should represent the link. Setting this value to null will clear any assigned image and ensure the original image scraped from Facebook will be returned.",
            "nullable": true,
            "type": "integer"
          },
          "title": {
            "description": "The title of the link.",
            "maxLength": 255,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The link preview URL.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FacebookLocation": {
        "properties": {
          "id": {
            "description": "Facebook ID of the location",
            "type": "string"
          },
          "is_verified": {
            "description": "Verified by Facebook",
            "type": "boolean"
          },
          "link": {
            "description": "URL of the location in facebook-backend",
            "type": "string"
          },
          "location": {
            "description": "Location object as returned from Facebook. See https://developers.facebook.com/docs/graph-api/reference/location/",
            "type": "object"
          },
          "name": {
            "description": "Name of the location",
            "type": "string"
          }
        },
        "type": "object"
      },
      "FacebookScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "post_type": {
            "description": "Type of Facebook Post to be published",
            "enum": [
              "POST",
              "REEL"
            ],
            "type": "string"
          },
          "message": {
            "description": "Text content of the post",
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "first_comment": {
            "description": "The first comment to be auto published for the post.",
            "maxLength": 8000,
            "nullable": true,
            "type": "string"
          },
          "link": {
            "description": "URL in the message to feature",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "cover_image_media_id": {
            "description": "The id of the media which will be published as a FB Reel cover image",
            "nullable": true,
            "type": "integer"
          },
          "location_id": {
            "description": "Facebook ID of the location shown in the post",
            "nullable": true,
            "type": "string"
          },
          "thumb_offset": {
            "description": "Time offset in seconds from the video for the thumbnail",
            "nullable": true,
            "type": "integer"
          },
          "video_title": {
            "description": "The title given to the attached video when opened",
            "nullable": true,
            "type": "string"
          },
          "targeting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Targeting"
              }
            ],
            "description": "Limit the audience of the post to these criteria",
            "nullable": true
          },
          "alt_text_media_map": {
            "description": "Mapping for the alt text of each media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "cover_image_media": {
            "description": "The media to be published as a FB Reel cover image",
            "readOnly": true,
            "type": "object"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "first_comment_status": {
            "enum": [
              "SUCCESS",
              "FAILED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "link_preview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookLinkPreview"
              }
            ],
            "description": "Data related to the `link` field",
            "nullable": true
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookLocation"
              }
            ],
            "description": "Data related to the `location_id` field",
            "readOnly": true
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookSubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "thumbnail_url": {
            "description": "Image URL for the thumbnail to use",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "title": {
            "description": "Deprecated, use `video_title`",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "post_type"
        ],
        "type": "object"
      },
      "FacebookScheduledPostPartial": {
        "properties": {
          "alt_text_media_map": {
            "description": "Mapping for the alt text of each media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "cover_image_media": {
            "description": "The media to be published as a FB Reel cover image",
            "readOnly": true,
            "type": "object"
          },
          "cover_image_media_id": {
            "description": "The id of the media which will be published as a FB Reel cover image",
            "nullable": true,
            "type": "integer"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "first_comment": {
            "description": "The first comment to be auto published for the post.",
            "maxLength": 8000,
            "nullable": true,
            "type": "string"
          },
          "first_comment_status": {
            "enum": [
              "SUCCESS",
              "FAILED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "link": {
            "description": "URL in the message to feature",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "link_preview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookLinkPreview"
              }
            ],
            "description": "Data related to the `link` field",
            "nullable": true
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookLocation"
              }
            ],
            "description": "Data related to the `location_id` field",
            "readOnly": true
          },
          "location_id": {
            "description": "Facebook ID of the location shown in the post",
            "nullable": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "message": {
            "description": "Text content of the post",
            "type": "string"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "post_type": {
            "description": "Type of Facebook Post to be published",
            "enum": [
              "POST",
              "REEL"
            ],
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FacebookSubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "targeting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Targeting"
              }
            ],
            "description": "Limit the audience of the post to these criteria",
            "nullable": true
          },
          "thumb_offset": {
            "description": "Time offset in seconds from the video for the thumbnail",
            "nullable": true,
            "type": "integer"
          },
          "thumbnail_url": {
            "description": "Image URL for the thumbnail to use",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "title": {
            "description": "Deprecated, use `video_title`",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "video_title": {
            "description": "The title given to the attached video when opened",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FacebookSubtitleMetadata": {
        "properties": {
          "filename": {
            "description": "Original filename of the subtitle file",
            "type": "string"
          },
          "language_code": {
            "description": "Language code for subtitle (Facebook format: en_US, fr_CA)",
            "enum": [
              "af_ZA",
              "ar_AR",
              "ay_BO",
              "az_AZ",
              "be_BY",
              "bg_BG",
              "bn_IN",
              "bs_BA",
              "ca_ES",
              "ck_US",
              "cs_CZ",
              "cx_PH",
              "cy_GB",
              "da_DK",
              "de_DE",
              "el_GR",
              "en_GB",
              "en_IN",
              "en_US",
              "eo_EO",
              "es_CL",
              "es_CO",
              "es_ES",
              "es_LA",
              "es_MX",
              "es_VE",
              "et_EE",
              "eu_ES",
              "fa_IR",
              "fi_FI",
              "fo_FO",
              "fr_CA",
              "fr_FR",
              "fy_NL",
              "ga_IE",
              "gl_ES",
              "gn_PY",
              "gu_IN",
              "gx_GR",
              "he_IL",
              "hi_IN",
              "hr_HR",
              "hu_HU",
              "hy_AM",
              "id_ID",
              "is_IS",
              "it_IT",
              "ja_JP",
              "jv_ID",
              "ka_GE",
              "kk_KZ",
              "km_KH",
              "kn_IN",
              "ko_KR",
              "ku_TR",
              "la_VA",
              "li_NL",
              "lt_LT",
              "lv_LV",
              "mg_MG",
              "mk_MK",
              "ml_IN",
              "mn_MN",
              "mr_IN",
              "ms_MY",
              "mt_MT",
              "nb_NO",
              "ne_NP",
              "nl_BE",
              "nl_NL",
              "nn_NO",
              "pa_IN",
              "pl_PL",
              "ps_AF",
              "pt_BR",
              "pt_PT",
              "qu_PE",
              "rm_CH",
              "ro_RO",
              "ru_RU",
              "sa_IN",
              "se_NO",
              "sk_SK",
              "sl_SI",
              "so_SO",
              "sq_AL",
              "sr_RS",
              "sv_SE",
              "sw_KE",
              "sy_SY",
              "ta_IN",
              "te_IN",
              "tg_TJ",
              "th_TH",
              "tl_PH",
              "tr_TR",
              "tt_RU",
              "uk_UA",
              "ur_PK",
              "uz_UZ",
              "vi_VN",
              "xh_ZA",
              "yi_DE",
              "zh_CN",
              "zh_HK",
              "zh_TW",
              "zu_ZA"
            ],
            "type": "string"
          }
        },
        "required": [
          "language_code"
        ],
        "type": "object"
      },
      "InstagramLocation": {
        "properties": {
          "id": {
            "description": "The ID of a Facebook location.",
            "type": "string"
          },
          "is_verified": {
            "description": "Determines if this is a Facebook verified location.",
            "type": "boolean"
          },
          "link": {
            "description": "Link to the Facebook location.",
            "type": "string"
          },
          "location": {
            "description": "Data object of information related to the Facebook location. Can include street, province, country, etc.",
            "type": "object"
          },
          "name": {
            "description": "Name of Facebook location.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InstagramScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "post_type": {
            "description": "Type of Instagram Post to be published.",
            "enum": [
              "FEED",
              "STORY",
              "REEL"
            ]
          },
          "caption": {
            "description": "Text content of the post.",
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "first_comment": {
            "description": "The first comment to be auto published for the post.",
            "type": "string"
          },
          "story_link": {
            "description": "Link to be added to the post when publishing natively.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "share_to_feed": {
            "description": "Whether a Reel should be published to the Instagram Feed.",
            "nullable": true,
            "type": "boolean"
          },
          "user_tags": {
            "description": "Array of public usernames and x/y coordinates for any public Instagram users to be tagged in an image.",
            "items": {
              "$ref": "#/components/schemas/InstagramUserTag"
            },
            "type": "array"
          },
          "collaborators": {
            "description": "List of collaborators to be auto published with the post.",
            "items": {
              "$ref": "#/components/schemas/InstagramUserTagCollaborator"
            },
            "type": "array"
          },
          "cover_image_media_id": {
            "description": "The ID of the media which will be published as a Reel cover image.",
            "nullable": true,
            "type": "integer"
          },
          "location_id": {
            "description": "Facebook ID of the location tagged in the post",
            "nullable": true,
            "type": "string"
          },
          "alt_text_media_map": {
            "description": "Mapping for the alt text of media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "callback_socket_id": {
            "description": "Used to update the post in the DH user interface.",
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "cover_image_media": {
            "description": "The media to be published as a Reel cover image.",
            "readOnly": true,
            "type": "object"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "first_comment_status": {
            "enum": [
              "SUCCESS",
              "FAILED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "has_invalid_product_tags": {
            "description": "Identifies a post that was unable to be published with product tags.",
            "readOnly": true,
            "type": "boolean"
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "invalid_collaborators": {
            "description": "Collaborators that failed to be auto published with the post.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "invalid_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstagramLocation"
              }
            ],
            "description": "Location that failed to be auto published with the post.",
            "readOnly": true
          },
          "invalid_user_tags": {
            "description": "User tags that failed to be auto published with the post.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstagramLocation"
              }
            ],
            "description": "Location data fetched from Meta API by location_id",
            "readOnly": true
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "shopping_tags": {
            "description": "List of shopping tags to be auto published with the post.",
            "items": {
              "$ref": "#/components/schemas/InstagramShoppingTag"
            },
            "type": "array"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "thumb_offset": {
            "description": "Location in milliseconds of the video frame to be used as the published cover thumbnail image.",
            "nullable": true,
            "type": "integer"
          },
          "thumbnail_url": {
            "description": "Image URL to be displayed as a thumbnail in the DH user interface.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "post_type"
        ],
        "type": "object"
      },
      "InstagramScheduledPostPartial": {
        "properties": {
          "alt_text_media_map": {
            "description": "Mapping for the alt text of media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "callback_socket_id": {
            "description": "Used to update the post in the DH user interface.",
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "caption": {
            "description": "Text content of the post.",
            "type": "string"
          },
          "collaborators": {
            "description": "List of collaborators to be auto published with the post.",
            "items": {
              "$ref": "#/components/schemas/InstagramUserTagCollaborator"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "cover_image_media": {
            "description": "The media to be published as a Reel cover image.",
            "readOnly": true,
            "type": "object"
          },
          "cover_image_media_id": {
            "description": "The ID of the media which will be published as a Reel cover image.",
            "nullable": true,
            "type": "integer"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "first_comment": {
            "description": "The first comment to be auto published for the post.",
            "type": "string"
          },
          "first_comment_status": {
            "enum": [
              "SUCCESS",
              "FAILED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "has_invalid_product_tags": {
            "description": "Identifies a post that was unable to be published with product tags.",
            "readOnly": true,
            "type": "boolean"
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "invalid_collaborators": {
            "description": "Collaborators that failed to be auto published with the post.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "invalid_location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstagramLocation"
              }
            ],
            "description": "Location that failed to be auto published with the post.",
            "readOnly": true
          },
          "invalid_user_tags": {
            "description": "User tags that failed to be auto published with the post.",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InstagramLocation"
              }
            ],
            "description": "Location data fetched from Meta API by location_id",
            "readOnly": true
          },
          "location_id": {
            "description": "Facebook ID of the location tagged in the post",
            "nullable": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "share_to_feed": {
            "description": "Whether a Reel should be published to the Instagram Feed.",
            "nullable": true,
            "type": "boolean"
          },
          "shopping_tags": {
            "description": "List of shopping tags to be auto published with the post.",
            "items": {
              "$ref": "#/components/schemas/InstagramShoppingTag"
            },
            "type": "array"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "story_link": {
            "description": "Link to be added to the post when publishing natively.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "thumb_offset": {
            "description": "Location in milliseconds of the video frame to be used as the published cover thumbnail image.",
            "nullable": true,
            "type": "integer"
          },
          "thumbnail_url": {
            "description": "Image URL to be displayed as a thumbnail in the DH user interface.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "user_tags": {
            "description": "Array of public usernames and x/y coordinates for any public Instagram users to be tagged in an image.",
            "items": {
              "$ref": "#/components/schemas/InstagramUserTag"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "InstagramShoppingTag": {
        "properties": {
          "catalog_id": {
            "description": "Facebook Catalog ID of the product.",
            "type": "string"
          },
          "fb_product_id": {
            "description": "ID of the Facebook Product.",
            "type": "string"
          },
          "image_url": {
            "description": "Link to the product image.",
            "type": "string"
          },
          "media_id": {
            "default": null,
            "description": "ID of the media item to tag the product in.",
            "nullable": true,
            "type": "integer"
          },
          "title": {
            "description": "Title of the product.",
            "type": "string"
          },
          "x": {
            "description": "X coordinate of the product tag on the media. Must be between 0.0-1.0.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "y": {
            "description": "Y coordinate of the product tag on the media. Must be between 0.0-1.0.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "fb_product_id",
          "x",
          "y"
        ],
        "type": "object"
      },
      "InstagramUserTag": {
        "properties": {
          "media_id": {
            "default": null,
            "description": "ID of the media item to tag the user in.",
            "nullable": true,
            "type": "integer"
          },
          "tag_type": {
            "description": "Type of the InstagramUserTag.",
            "enum": [
              "COLLABORATOR",
              "MEDIA_TAG"
            ]
          },
          "username": {
            "description": "Public Instagram username.",
            "maxLength": 30,
            "type": "string"
          },
          "x": {
            "description": "X coordinate of the user tag on the media. Must be between 0.0-1.0.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          },
          "y": {
            "description": "Y coordinate of the user tag on the media. Must be between 0.0-1.0.",
            "maximum": 1,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "username"
        ],
        "type": "object"
      },
      "InstagramUserTagCollaborator": {
        "properties": {
          "tag_type": {
            "description": "Type of the InstagramUserTag.",
            "enum": [
              "COLLABORATOR",
              "MEDIA_TAG"
            ]
          },
          "username": {
            "description": "Public Instagram username.",
            "maxLength": 30,
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "type": "object"
      },
      "LinkedInScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "text": {
            "description": "Text content of the LinkedIn post referred to as \"commentary\" in LinkedIn docs",
            "maxLength": 3000,
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "alt_text_media_map": {
            "description": "Mapping for the alt text of media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "LinkedInScheduledPostPartial": {
        "properties": {
          "alt_text_media_map": {
            "description": "Mapping for the alt text of media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "text": {
            "description": "Text content of the LinkedIn post referred to as \"commentary\" in LinkedIn docs",
            "maxLength": 3000,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ListRSSFeedsResponse": {
        "properties": {
          "data": {
            "description": "List of RSS feeds",
            "items": {
              "$ref": "#/components/schemas/RSSFeedResponse"
            },
            "type": "array"
          },
          "paging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PagingData"
              }
            ],
            "description": "Pagination metadata"
          }
        },
        "type": "object"
      },
      "MemberProfile": {
        "properties": {
          "avatar_url": {
            "description": "URL to the member profile picture",
            "nullable": true,
            "type": "string"
          },
          "headline": {
            "description": "Professional headline",
            "nullable": true,
            "type": "string"
          },
          "member_urn": {
            "description": "The LinkedIn member URN",
            "type": "string"
          },
          "name": {
            "description": "Full name of the member",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "MemberProfilesResponse": {
        "properties": {
          "data": {
            "description": "List of member profile data",
            "items": {
              "$ref": "#/components/schemas/MemberProfile"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PagedFacebookScheduledPosts": {
        "properties": {
          "data": {
            "description": "List of Facebook posts",
            "items": {
              "$ref": "#/components/schemas/FacebookScheduledPost"
            },
            "type": "array"
          },
          "paging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PagingData"
              }
            ],
            "description": "Pagination metadata"
          }
        },
        "type": "object"
      },
      "PagedInstagramScheduledPosts": {
        "properties": {
          "data": {
            "description": "List of Instagram posts",
            "items": {
              "$ref": "#/components/schemas/InstagramScheduledPost"
            },
            "type": "array"
          },
          "paging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PagingData"
              }
            ],
            "description": "Pagination metadata"
          }
        },
        "type": "object"
      },
      "PagedPinterestScheduledPost": {
        "properties": {
          "data": {
            "description": "List of Pinterest pins",
            "items": {
              "$ref": "#/components/schemas/PinterestScheduledPost"
            },
            "type": "array"
          },
          "paging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PagingData"
              }
            ],
            "description": "Pagination metadata"
          }
        },
        "type": "object"
      },
      "PagedTwitterScheduledPost": {
        "properties": {
          "data": {
            "description": "List of Tweets",
            "items": {
              "$ref": "#/components/schemas/TwitterScheduledPost"
            },
            "type": "array"
          },
          "paging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PagingData"
              }
            ],
            "description": "Pagination metadata"
          }
        },
        "type": "object"
      },
      "PaginationMetadata": {
        "properties": {
          "first_page": {
            "type": "integer"
          },
          "last_page": {
            "type": "integer"
          },
          "next_page": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "previous_page": {
            "type": "integer"
          },
          "total": {
            "type": "integer"
          },
          "total_pages": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PagingData": {
        "properties": {
          "count": {
            "description": "Number of objects included",
            "type": "integer"
          },
          "next": {
            "description": "URL to get the next page with specified limit of objects",
            "format": "url",
            "type": "string"
          },
          "previous": {
            "description": "URL to get the previous page with specified limit of objects",
            "format": "url",
            "type": "string"
          }
        },
        "type": "object"
      },
      "PinterestScheduledPost": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "callback_socket_id": {
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "link": {
            "type": "string"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "meta": {
            "nullable": true,
            "type": "object"
          },
          "note": {
            "type": "string"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "pinterest_board": {
            "type": "string"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "thumbnail_url": {
            "format": "url",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "video_status": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PinterestScheduledPostPartial": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "callback_socket_id": {
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "link": {
            "type": "string"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "meta": {
            "nullable": true,
            "type": "object"
          },
          "note": {
            "type": "string"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "pinterest_board": {
            "type": "string"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "thumbnail_url": {
            "format": "url",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "video_status": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PostReorderRequest": {
        "properties": {
          "after": {
            "description": "The ID assigned to the post that the post provided in the URL will be placed after",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "brand_id": {
            "description": "The ID of the brand the posts belong to.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "after",
          "brand_id"
        ],
        "type": "object"
      },
      "RSSChannelConfigRequest": {
        "properties": {
          "auto_publish_enabled": {
            "type": "boolean"
          },
          "avoid_conflicts_interval_minutes": {
            "nullable": true,
            "type": "integer"
          },
          "board_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "bttp_enabled": {
            "type": "boolean"
          },
          "campaign_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "channel": {
            "enum": [
              "twitter",
              "facebook",
              "threads",
              "bluesky"
            ],
            "type": "string"
          },
          "content_tag_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "daily_post_limit": {
            "nullable": true,
            "type": "integer"
          },
          "enabled": {
            "type": "boolean"
          },
          "evergreen_enabled": {
            "type": "boolean"
          },
          "field_mapping": {
            "additionalProperties": {
              "enum": [
                "title",
                "description",
                "no_caption"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "object"
          },
          "post_type": {
            "enum": [
              "image",
              "link"
            ],
            "type": "string"
          },
          "process_after": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "utm_enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "RSSChannelConfigResponse": {
        "properties": {
          "auto_publish_enabled": {
            "type": "boolean"
          },
          "avoid_conflicts_interval_minutes": {
            "nullable": true,
            "type": "integer"
          },
          "board_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "bttp_enabled": {
            "type": "boolean"
          },
          "campaign_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "channel": {
            "enum": [
              "twitter",
              "facebook",
              "threads",
              "bluesky"
            ],
            "type": "string"
          },
          "content_tag_ids": {
            "items": {
              "type": "integer"
            },
            "nullable": true,
            "type": "array"
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "daily_post_limit": {
            "nullable": true,
            "type": "integer"
          },
          "deleted_at": {
            "format": "date-time",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "evergreen_enabled": {
            "type": "boolean"
          },
          "field_mapping": {
            "additionalProperties": {
              "enum": [
                "title",
                "description",
                "no_caption"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "object"
          },
          "id": {
            "readOnly": true,
            "type": "integer"
          },
          "post_type": {
            "enum": [
              "image",
              "link"
            ],
            "type": "string"
          },
          "process_after": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "rss_feed_id": {
            "readOnly": true,
            "type": "integer"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "utm_enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "RSSFeedChannelConfigRequest": {
        "properties": {
          "bluesky": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigRequest"
              }
            ],
            "nullable": true
          },
          "facebook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigRequest"
              }
            ],
            "nullable": true
          },
          "threads": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigRequest"
              }
            ],
            "nullable": true
          },
          "twitter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigRequest"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "RSSFeedChannelConfigResponse": {
        "properties": {
          "bluesky": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigResponse"
              }
            ],
            "nullable": true
          },
          "facebook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigResponse"
              }
            ],
            "nullable": true
          },
          "threads": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigResponse"
              }
            ],
            "nullable": true
          },
          "twitter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSChannelConfigResponse"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "RSSFeedRequest": {
        "properties": {
          "brand_id": {
            "type": "integer"
          },
          "channel_configs": {
            "$ref": "#/components/schemas/RSSFeedChannelConfigRequest"
          },
          "enabled": {
            "type": "boolean"
          },
          "frequency": {
            "enum": [
              "REALTIME",
              "SMART",
              "STANDARD"
            ],
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "process_after": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sample_item": {
            "$ref": "#/components/schemas/RSSFeedSourceData"
          },
          "status": {
            "enum": [
              "READY",
              "PROCESSING",
              "ERROR"
            ],
            "type": "string"
          },
          "url": {
            "format": "url",
            "type": "string"
          }
        },
        "required": [
          "brand_id",
          "channel_configs",
          "name",
          "sample_item",
          "url"
        ],
        "type": "object"
      },
      "RSSFeedRequestPartial": {
        "properties": {
          "channel_configs": {
            "$ref": "#/components/schemas/RSSFeedChannelConfigRequest"
          },
          "enabled": {
            "type": "boolean"
          },
          "frequency": {
            "enum": [
              "REALTIME",
              "SMART",
              "STANDARD"
            ],
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "process_after": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sample_item": {
            "$ref": "#/components/schemas/RSSFeedSourceData"
          },
          "status": {
            "enum": [
              "READY",
              "PROCESSING",
              "ERROR"
            ],
            "type": "string"
          },
          "url": {
            "format": "url",
            "type": "string"
          }
        },
        "required": [
          "channel_configs",
          "name",
          "sample_item",
          "url"
        ],
        "type": "object"
      },
      "RSSFeedResponse": {
        "properties": {
          "brand_id": {
            "readOnly": true,
            "type": "integer"
          },
          "channel_configs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSFeedChannelConfigResponse"
              }
            ],
            "readOnly": true
          },
          "created_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "enabled": {
            "readOnly": true,
            "type": "boolean"
          },
          "frequency": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "readOnly": true,
            "type": "integer"
          },
          "last_processed": {
            "format": "date-time",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "latest_guid": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "readOnly": true,
            "type": "string"
          },
          "process_after": {
            "format": "date-time",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "sample_item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RSSFeedSourceData"
              }
            ],
            "nullable": true
          },
          "status": {
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "url": {
            "format": "url",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "RSSFeedSourceData": {
        "properties": {
          "description": {
            "nullable": true,
            "type": "string"
          },
          "guid": {
            "type": "string"
          },
          "link": {
            "type": "string"
          },
          "pub_date": {
            "type": "string"
          },
          "thumbnail": {
            "nullable": true,
            "type": "string"
          },
          "title": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "guid",
          "link",
          "pub_date"
        ],
        "type": "object"
      },
      "RSSFeedValidationRequest": {
        "properties": {
          "brand_id": {
            "type": "integer"
          },
          "name": {
            "type": "string"
          },
          "rss_feed_id": {
            "default": null,
            "nullable": true,
            "type": "integer"
          },
          "url": {
            "format": "url",
            "type": "string"
          }
        },
        "required": [
          "brand_id",
          "name",
          "url"
        ],
        "type": "object"
      },
      "RSSFeedValidationResponse": {
        "properties": {
          "latest_item": {
            "$ref": "#/components/schemas/RSSFeedSourceData"
          },
          "media_options": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "text_options": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "RecommendedPublishTimes": {
        "properties": {
          "data": {
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ReorderResponse": {
        "properties": {
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "sort_index": {
            "description": "The sorted index for posts.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "SnapchatScheduledPost": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "description": {
            "description": "Description for Spotlight posts (max 160 characters)",
            "maxLength": 160,
            "nullable": true,
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "locale": {
            "description": "Language and country indicator for Spotlight posts (e.g., en_US)",
            "enum": [
              "ar_AA",
              "bn_BD",
              "bn_IN",
              "zh_CN",
              "zh_TW",
              "da_DK",
              "nl_NL",
              "en_GB",
              "en_US",
              "fil_PH",
              "fi_FI",
              "fr_FR",
              "de_DE",
              "el_GR",
              "gu_IN",
              "hi_IN",
              "id_ID",
              "it_IT",
              "ja_JP",
              "kn_IN",
              "ko_KR",
              "ms_MY",
              "ml_IN",
              "mr_IN",
              "nb_NO",
              "pl_PL",
              "pt_BR",
              "pt_PT",
              "pa_IN",
              "ro_RO",
              "ru_RU",
              "es_AR",
              "es_001",
              "es_MX",
              "es_ES",
              "sv_SE",
              "ta_IN",
              "te_IN",
              "th_TH",
              "tr_TR",
              "ur_PK",
              "vi_VN",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "post_type": {
            "description": "The type of Snapchat post (STORY or SPOTLIGHT)",
            "enum": [
              "STORY",
              "SPOTLIGHT"
            ],
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "save_to_profile": {
            "description": "Whether to save the post to profile. Required for Spotlight, None for Story",
            "nullable": true,
            "type": "boolean"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "post_type"
        ],
        "type": "object"
      },
      "SnapchatScheduledPostPatch": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "description": {
            "description": "Description for Spotlight posts (max 160 characters)",
            "maxLength": 160,
            "nullable": true,
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "locale": {
            "description": "Language and country indicator for Spotlight posts (e.g., en_US)",
            "enum": [
              "ar_AA",
              "bn_BD",
              "bn_IN",
              "zh_CN",
              "zh_TW",
              "da_DK",
              "nl_NL",
              "en_GB",
              "en_US",
              "fil_PH",
              "fi_FI",
              "fr_FR",
              "de_DE",
              "el_GR",
              "gu_IN",
              "hi_IN",
              "id_ID",
              "it_IT",
              "ja_JP",
              "kn_IN",
              "ko_KR",
              "ms_MY",
              "ml_IN",
              "mr_IN",
              "nb_NO",
              "pl_PL",
              "pt_BR",
              "pt_PT",
              "pa_IN",
              "ro_RO",
              "ru_RU",
              "es_AR",
              "es_001",
              "es_MX",
              "es_ES",
              "sv_SE",
              "ta_IN",
              "te_IN",
              "th_TH",
              "tr_TR",
              "ur_PK",
              "vi_VN",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "post_type": {
            "description": "The type of Snapchat post (STORY or SPOTLIGHT)",
            "enum": [
              "STORY",
              "SPOTLIGHT"
            ],
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "save_to_profile": {
            "description": "Whether to save the post to profile. Required for Spotlight, None for Story",
            "nullable": true,
            "type": "boolean"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubtitleMetadata": {
        "properties": {
          "filename": {
            "description": "Original filename of the subtitle file",
            "type": "string"
          },
          "language_code": {
            "description": "Language code for subtitle (BCP-47 format: en, fr-CA, en-GB)",
            "enum": [
              "af",
              "ar",
              "ay",
              "az",
              "be",
              "bg",
              "bn",
              "bs",
              "ca",
              "ceb",
              "chr",
              "cs",
              "cy",
              "da",
              "de",
              "el",
              "en",
              "en-GB",
              "en-IN",
              "eo",
              "es",
              "es-419",
              "et",
              "eu",
              "fa",
              "fi",
              "fil",
              "fo",
              "fr",
              "fr-CA",
              "fy",
              "ga",
              "gl",
              "gn",
              "grc",
              "gu",
              "hi",
              "hr",
              "hu",
              "hy",
              "id",
              "is",
              "it",
              "iw",
              "ja",
              "jv",
              "ka",
              "kk",
              "km",
              "kn",
              "ko",
              "ku",
              "la",
              "li",
              "lt",
              "lv",
              "mg",
              "mk",
              "ml",
              "mn",
              "mr",
              "ms",
              "mt",
              "ne",
              "nl",
              "no",
              "pa",
              "pl",
              "ps",
              "pt",
              "pt-PT",
              "qu",
              "rm",
              "ro",
              "ru",
              "sa",
              "se",
              "sk",
              "sl",
              "so",
              "sq",
              "sr",
              "sv",
              "sw",
              "syr",
              "ta",
              "te",
              "tg",
              "th",
              "tr",
              "tt",
              "uk",
              "ur",
              "uz",
              "vi",
              "xh",
              "yi",
              "zh-CN",
              "zh-HK",
              "zh-TW",
              "zu"
            ],
            "type": "string"
          }
        },
        "required": [
          "language_code"
        ],
        "type": "object"
      },
      "Targeting": {
        "additionalProperties": false,
        "properties": {
          "geo_locations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetingLocations"
              }
            ],
            "description": "Locations to limit the post towards"
          }
        },
        "type": "object"
      },
      "TargetingLocations": {
        "additionalProperties": false,
        "properties": {
          "countries": {
            "description": "List of ISO 3166-1 codes of targeted countries",
            "items": {
              "maxLength": 2,
              "minLength": 2,
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ThreadsScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "text": {
            "description": "Text content of the Threads post",
            "maxLength": 500,
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "link": {
            "description": "Link to associate to the post as a link preview.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TikTokScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "text": {
            "description": "The text of the post.",
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "disable_comment": {
            "default": false,
            "description": "Whether to allow comments on the post",
            "type": "boolean"
          },
          "disable_duet": {
            "default": false,
            "description": "Whether to allow others to duet the post",
            "type": "boolean"
          },
          "disable_stitch": {
            "default": false,
            "description": "Whether to allow others to stitch with the post",
            "type": "boolean"
          },
          "thumbnail_offset": {
            "description": "Thumbnail offset in milliseconds",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "branded_content_type": {
            "description": "Branded content type of the TikTok post.",
            "enum": [
              "promoted",
              "paid_partnership",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "music_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TiktokMusicInfo"
              }
            ],
            "default": null,
            "description": "Trending sound data for the TikTok post. Null if no trending sound is selected.",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "callback_socket_id": {
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "share_id": {
            "readOnly": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "thumbnail_url": {
            "description": "Image URL to be displayed as a thumbnail in the DH user interface.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "title": {
            "default": null,
            "nullable": true,
            "type": "string"
          },
          "tt_media_publish_complete_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "tt_post_removed_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TikTokScheduledPostPartial": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "branded_content_type": {
            "description": "Branded content type of the TikTok post.",
            "enum": [
              "promoted",
              "paid_partnership",
              null
            ],
            "nullable": true,
            "type": "string"
          },
          "callback_socket_id": {
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "disable_comment": {
            "default": false,
            "description": "Whether to allow comments on the post",
            "type": "boolean"
          },
          "disable_duet": {
            "default": false,
            "description": "Whether to allow others to duet the post",
            "type": "boolean"
          },
          "disable_stitch": {
            "default": false,
            "description": "Whether to allow others to stitch with the post",
            "type": "boolean"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "music_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TiktokMusicInfo"
              }
            ],
            "default": null,
            "description": "Trending sound data for the TikTok post. Null if no trending sound is selected.",
            "nullable": true,
            "type": "object"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "share_id": {
            "readOnly": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "text": {
            "description": "The text of the post.",
            "type": "string"
          },
          "thumbnail_offset": {
            "description": "Thumbnail offset in milliseconds",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "thumbnail_url": {
            "description": "Image URL to be displayed as a thumbnail in the DH user interface.",
            "format": "url",
            "nullable": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "title": {
            "default": null,
            "nullable": true,
            "type": "string"
          },
          "tt_media_publish_complete_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "tt_post_removed_at": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TiktokMusicInfo": {
        "properties": {
          "artist": {
            "description": "Artist name",
            "type": "string"
          },
          "commercial_music_id": {
            "description": "TikTok CML sound ID",
            "type": "string"
          },
          "commercial_music_name": {
            "description": "Display name of the sound",
            "type": "string"
          },
          "music_sound_end": {
            "description": "End position in the song (milliseconds)",
            "minimum": 0,
            "type": "integer"
          },
          "music_sound_start": {
            "description": "Start position in the song (milliseconds)",
            "minimum": 0,
            "type": "integer"
          },
          "music_sound_volume": {
            "description": "Volume level for the trending sound (0-100)",
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "thumbnail_url": {
            "description": "Album art / sound thumbnail",
            "type": "string"
          },
          "trending_song_clip_duration": {
            "description": "Trending song clip duration in seconds",
            "minimum": 1,
            "type": "integer"
          },
          "trending_song_clip_id": {
            "description": "The trending song's clip ID used as music_sound_id at publish",
            "type": "string"
          },
          "trending_song_preview_url": {
            "description": "Audio preview URL for the trending song clip",
            "type": "string"
          },
          "video_original_sound_volume": {
            "description": "Volume level for the video's original audio (0-100)",
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "artist",
          "commercial_music_id",
          "commercial_music_name",
          "music_sound_end",
          "music_sound_start",
          "music_sound_volume",
          "thumbnail_url",
          "trending_song_clip_duration",
          "trending_song_clip_id",
          "trending_song_preview_url",
          "video_original_sound_volume"
        ],
        "type": "object"
      },
      "TwitterScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "tweet_status": {
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "replies": {
            "items": {
              "$ref": "#/components/schemas/TwitterScheduledReply"
            },
            "maxItems": 24,
            "type": "array"
          },
          "alt_text_media_map": {
            "description": "Mapping for the alt text of each media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_numbering_enabled": {
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "callback_socket_id": {
            "type": "string"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "permalink": {
            "description": "Link to the live published post",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "rss_feed_id": {
            "description": "Foreign key reference to the RSS feed table.",
            "nullable": true,
            "type": "integer"
          },
          "rss_guid": {
            "description": "The unique identifier coming from RSS Feed.",
            "nullable": true,
            "type": "string"
          },
          "rss_publish_date": {
            "description": "The timestamp of when an RSS feed item was published",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "TwitterScheduledReply": {
        "properties": {
          "alt_text_media_map": {
            "description": "Mapping for the alt text of each media in the post",
            "nullable": true,
            "type": "object"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "ID of the reply",
            "minimum": 0,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "permalink": {
            "description": "Link to the live published post",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the reply.",
            "enum": [
              "DRAFT",
              "SCHEDULED",
              "AUTOPUBLISHING",
              "USERS_NOTIFIED",
              "POSTED",
              "IMPORTED",
              "EXPIRED",
              "FAILED",
              "SKIPPED",
              "PARTIALLY_FAILED",
              "MISSING_APPROVALS"
            ],
            "readOnly": true
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "thread_order": {
            "description": "A number used to indicate the order of a parent tweet's replies, where the lowest value is the first reply in the thread.",
            "type": "number"
          },
          "tweet_status": {
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "YouTubeScheduledPost": {
        "properties": {
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published. Must be true for YouTube posts. Defaults to true if not provided.",
            "type": "boolean"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "title": {
            "description": "The title of the YouTube video.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "declared_made_for_kids": {
            "type": "boolean"
          },
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "brand_id",
          "auto_publish",
          "media_ids"
        ],
        "type": "object"
      },
      "YouTubeScheduledPostPatch": {
        "properties": {
          "approval_policy": {
            "description": "The approval policy of the approval request",
            "enum": [
              "APPROVAL_REQUIRED",
              "APPROVAL_NOT_REQUIRED"
            ],
            "type": "string"
          },
          "approval_requests": {
            "description": "The list of approval requests associated with the post.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequest"
            },
            "type": "array"
          },
          "approval_status": {
            "description": "The approval status of the post.",
            "readOnly": true,
            "type": "string"
          },
          "auto_publish": {
            "description": "Whether the post should be auto published. Must be true for YouTube posts. Field is optional on updates.",
            "type": "boolean"
          },
          "auto_publish_error": {
            "enum": [
              "ACCOUNT_RESTRICTED",
              "AGAINST_COMMUNITY_STANDARDS",
              "APPROVED_PUBLISHING_DATES_HAVE_NO_OVERLAP",
              "AUTO_PUBLISH_LIMIT_EXCEEDED",
              "DUPLICATE_POST",
              "FLAGGED_AS_SPAM",
              "INTERNAL",
              "INVALID_ACCOUNT_TYPE",
              "INVALID_AUTH",
              "INVALID_DESCRIPTION",
              "INVALID_IMAGE",
              "INVALID_PIN_BOARD",
              "INVALID_PRODUCT_TAGS",
              "INVALID_TARGETING",
              "INVALID_TITLE",
              "INVALID_VIDEO_THUMBNAIL",
              "MEDIA_CONTAINER_EXPIRED",
              "MISSING_AUTH",
              "OUTSIDE_OF_APPROVED_PUBLISHING_DATES",
              "PAGE_PUBLISHING_AUTH_REQUIRED",
              "PLATFORM_ERROR",
              "REJECTED",
              "TEXT_LENGTH_EXCEEDED"
            ],
            "readOnly": true,
            "type": "string"
          },
          "board_ids": {
            "description": "The list of the board ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "brand_id": {
            "description": "The id of the brand to which the post belongs.",
            "minimum": 0,
            "type": "integer"
          },
          "campaign_ids": {
            "description": "The list of the campaign ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "content_tag_ids": {
            "description": "The list of the content tag ids associated with the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "created_at": {
            "description": "The time when the post was created.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "creation_source": {
            "description": "To identify the user or the application that created the post.",
            "enum": [
              "RSS_FEED"
            ],
            "type": "string"
          },
          "declared_made_for_kids": {
            "type": "boolean"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "duplicate_to_brand_ids": {
            "description": "The list of duplicate to brand ids.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "maxItems": 55,
            "type": "array",
            "writeOnly": true
          },
          "has_scheduled_time": {
            "description": "Indicates if the post has a scheduled timestamp",
            "readOnly": true,
            "type": "boolean"
          },
          "id": {
            "description": "A unique id for the post.",
            "minimum": 0,
            "readOnly": true,
            "type": "integer"
          },
          "live_post_url": {
            "description": "Link to the live published post.",
            "format": "url",
            "readOnly": true,
            "type": "string"
          },
          "media": {
            "description": "The list of media attached to the post.",
            "items": {
              "type": "object"
            },
            "readOnly": true,
            "type": "array"
          },
          "media_ids": {
            "description": "The list of the media ids attached to the post.",
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "type": "array"
          },
          "num_of_approvals_required": {
            "description": "The number of approvals required to approve the request.",
            "readOnly": true,
            "type": "integer"
          },
          "post_group_id": {
            "description": "The id of the post group associated with the post.",
            "format": "uuid",
            "type": "string"
          },
          "sort_index": {
            "description": "The sorted index for unscheduled posts.",
            "type": "number"
          },
          "source_id": {
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "status": {
            "description": "The current status of the post.",
            "enum": [
              "AUTOPUBLISHING",
              "DRAFT",
              "EXPIRED",
              "FAILED",
              "IMPORTED",
              "MISSING_APPROVALS",
              "PARTIALLY_FAILED",
              "POSTED",
              "SCHEDULED",
              "SKIPPED",
              "USERS_NOTIFIED"
            ],
            "type": "string"
          },
          "subtitle_content": {
            "description": "Raw SRT subtitle file content as text",
            "nullable": true,
            "type": "string"
          },
          "subtitle_error_message": {
            "description": "Error message if subtitle upload failed",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "subtitle_metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubtitleMetadata"
              }
            ],
            "description": "Subtitle metadata including language code and filename",
            "nullable": true,
            "type": "object"
          },
          "subtitle_upload_status": {
            "description": "Computed status: SUCCESS if no error, FAILED if error exists",
            "nullable": true,
            "readOnly": true,
            "type": "string"
          },
          "timestamp": {
            "description": "The scheduled date & time for publishing the post.",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "title": {
            "description": "The title of the YouTube video.",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "updated_at": {
            "description": "The time when the post was last updated.",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API key from Dash Social developer settings"
      }
    }
  },
  "info": {
    "contact": {
      "email": "support@dashsocial.com",
      "name": "Dash Hudson",
      "url": "https://dashsocial.com"
    },
    "description": "Manage Scheduler content, links, analytics and more in the Dash Hudson platform.",
    "title": "Dash Hudson Scheduler Backend Service",
    "version": "1.0.0",
    "x-logo": {
      "altText": "Dash Hudson logo",
      "href": "https://developer.dashsocial.com",
      "url": "https://developer.dashsocial.com/assets/logo.svg"
    }
  },
  "openapi": "3.0.2",
  "paths": {
    "/approval_requests/{approval_request_id}": {
      "parameters": [
        {
          "description": "ID of approval request record.",
          "in": "path",
          "name": "approval_request_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific approval request by id. This endpoint works across all platforms.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalRequestStatusUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalRequest"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a scheduled post approval request",
        "tags": [
          "approval_requests"
        ],
        "x-public": true
      }
    },
    "/bluesky/scheduled_posts": {
      "get": {
        "description": "Get a list of Bluesky posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Bluesky posts",
        "tags": [
          "bluesky"
        ]
      },
      "post": {
        "description": "Create a new Bluesky post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BlueskyScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Bluesky post",
        "tags": [
          "bluesky"
        ]
      }
    },
    "/bluesky/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BlueskyScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/BlueskyScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create Bluesky scheduled posts for multiple brands.",
        "tags": [
          "bluesky"
        ]
      }
    },
    "/bluesky/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Bluesky post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Bluesky post",
        "tags": [
          "bluesky"
        ]
      },
      "get": {
        "description": "Get a specific Bluesky post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BlueskyScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Bluesky post",
        "tags": [
          "bluesky"
        ]
      },
      "parameters": [
        {
          "description": "ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BlueskyScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Bluesky post",
        "tags": [
          "bluesky"
        ]
      }
    },
    "/bluesky/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to reorder",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled Bluesky post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled Bluesky post",
        "tags": [
          "bluesky"
        ]
      }
    },
    "/events": {
      "get": {
        "description": "Get all events for the brand.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Event"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get events",
        "tags": [
          "events"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new event.",
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            },
            "description": "Created"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create an event",
        "tags": [
          "events"
        ],
        "x-public": true
      }
    },
    "/events/{event_id}": {
      "delete": {
        "description": "Delete an event by event ID.",
        "responses": {
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete an event",
        "tags": [
          "events"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get an event by event ID.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get an event",
        "tags": [
          "events"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "The ID of the event to update",
          "in": "path",
          "name": "event_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update an event by event ID.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update an event",
        "tags": [
          "events"
        ],
        "x-public": true
      }
    },
    "/facebook/scheduled_posts": {
      "get": {
        "description": "Get a list of Facebook posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedFacebookScheduledPosts"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Facebook posts",
        "tags": [
          "facebook"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new Facebook post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FacebookScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FacebookScheduledPost"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Facebook post",
        "tags": [
          "facebook"
        ],
        "x-public": true
      }
    },
    "/facebook/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FacebookScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/FacebookScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create Facebook scheduled posts for multiple brands.",
        "tags": [
          "facebook"
        ]
      }
    },
    "/facebook/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Facebook post by post ID.",
        "responses": {
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Facebook post",
        "tags": [
          "facebook"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get a specific Facebook post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FacebookScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Facebook post",
        "tags": [
          "facebook"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "The ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific Facebook post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FacebookScheduledPostPartial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FacebookScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Facebook post",
        "tags": [
          "facebook"
        ],
        "x-public": true
      }
    },
    "/facebook/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled Facebook post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReorderResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled Facebook post",
        "tags": [
          "facebook"
        ],
        "x-public": true
      }
    },
    "/instagram/scheduled_posts": {
      "get": {
        "description": "Get a list of Instagram posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedInstagramScheduledPosts"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Instagram posts",
        "tags": [
          "instagram"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new Instagram post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstagramScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstagramScheduledPost"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create an Instagram post",
        "tags": [
          "instagram"
        ],
        "x-public": true
      }
    },
    "/instagram/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstagramScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/InstagramScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create IG scheduled posts for multiple brands.",
        "tags": [
          "instagram"
        ]
      }
    },
    "/instagram/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Instagram post by post ID.",
        "responses": {
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete an Instagram post",
        "tags": [
          "instagram"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get a specific Instagram post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstagramScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get an Instagram post",
        "tags": [
          "instagram"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "ID of the post to update.",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific Instagram post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstagramScheduledPostPartial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstagramScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update an Instagram post",
        "tags": [
          "instagram"
        ],
        "x-public": true
      }
    },
    "/instagram/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled Instagram post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReorderResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled Instagram post",
        "tags": [
          "instagram"
        ],
        "x-public": true
      }
    },
    "/linkedin/followers/search": {
      "get": {
        "description": "Search organization followers by keyword using LinkedIn People Typeahead API.\nReturns a list of followers with their display information.",
        "parameters": [
          {
            "description": "The ID of the brand for LinkedIn follower search",
            "in": "query",
            "name": "brand_id",
            "required": true,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Search keyword (minimum 3, maximum 50 characters)",
            "in": "query",
            "name": "keyword",
            "required": true,
            "schema": {
              "maxLength": 50,
              "minLength": 3,
              "type": "string"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Search LinkedIn organization followers for @mentions",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/linkedin/member_details": {
      "get": {
        "description": "Fetches profile information for the specified LinkedIn person URNs.",
        "parameters": [
          {
            "description": "Brand ID used to fetch the OAuth token",
            "in": "query",
            "name": "brand_id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "List of LinkedIn URNs for members (e.g., urn:li:person:0nYIKaWxXK)",
            "explode": true,
            "in": "query",
            "name": "person_urns",
            "required": true,
            "schema": {
              "items": {
                "pattern": "^urn:li:person:[a-zA-Z0-9_-]+$",
                "type": "string"
              },
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemberProfilesResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get LinkedIn member profiles including avatar URLs.",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/linkedin/scheduled_posts": {
      "get": {
        "description": "Get a list of LinkedIn posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get LinkedIn posts",
        "tags": [
          "linkedin"
        ]
      },
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LinkedInScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a LinkedIn post\nCreate a new LinkedIn post.",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/linkedin/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LinkedInScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/LinkedInScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create LinkedIn scheduled posts for multiple brands.",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/linkedin/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific LinkedIn post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a LinkedIn post",
        "tags": [
          "linkedin"
        ]
      },
      "get": {
        "description": "Get a specific LinkedIn post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedInScheduledPostPartial"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get an LinkedIn post",
        "tags": [
          "linkedin"
        ]
      },
      "parameters": [
        {
          "description": "ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific LinkedIn post by post ID.",
        "responses": {
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a LinkedIn post",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/linkedin/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled LinkedIn post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled LinkedIn post",
        "tags": [
          "linkedin"
        ]
      }
    },
    "/pinterest/scheduled_posts": {
      "get": {
        "description": "Get a list of Pinterest posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedPinterestScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Pinterest posts",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new Pinterest post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PinterestScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinterestScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Pinterest post",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      }
    },
    "/pinterest/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PinterestScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PinterestScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create Pinterest scheduled posts for multiple brands.",
        "tags": [
          "pinterest"
        ]
      }
    },
    "/pinterest/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Pinterest post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Pinterest post",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get a specific Pinterest post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinterestScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Pinterest post",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific Pinterest post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PinterestScheduledPostPartial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PinterestScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Pinterest post",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      }
    },
    "/pinterest/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled Pinterest post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReorderResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled Pinterest post",
        "tags": [
          "pinterest"
        ],
        "x-public": true
      }
    },
    "/recommended_publish_times": {
      "get": {
        "description": "Get a list of recommended publish times posts for the brand and platform.",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecommendedPublishTimes"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get recommended publish times",
        "tags": [
          "publish_times"
        ],
        "x-public": true
      }
    },
    "/rss_feeds": {
      "get": {
        "description": "Gets a paginated list of RSS feeds.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query.",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": true,
            "schema": {
              "items": {
                "type": "integer"
              },
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to sort the response by feed Brand IDs",
            "in": "query",
            "name": "order_by_brand_ids",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListRSSFeedsResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Given a list of brand ids;",
        "tags": [
          "rss_feeds"
        ]
      },
      "post": {
        "description": "Create a new RSS feed configuration.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RSSFeedRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RSSFeedResponse"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create an RSS feed",
        "tags": [
          "rss_feeds"
        ]
      }
    },
    "/rss_feeds/validate": {
      "post": {
        "description": "Return the missing fields, all available fields, and sample data when it's valid.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RSSFeedValidationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RSSFeedValidationResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Validate an RSS feed URL that it contains all the required fields\nCheck for uniqueness of url and name for the brand",
        "tags": [
          "rss_feeds"
        ]
      }
    },
    "/rss_feeds/{rss_feed_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete an RSS feed by ID",
        "tags": [
          "rss_feeds"
        ]
      },
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RSSFeedResponse"
                }
              }
            },
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get an RSS feed by ID",
        "tags": [
          "rss_feeds"
        ]
      },
      "parameters": [
        {
          "description": "ID of the RSS feed to be returned",
          "in": "path",
          "name": "rss_feed_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RSSFeedRequestPartial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RSSFeedResponse"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update an RSS feed by ID",
        "tags": [
          "rss_feeds"
        ]
      }
    },
    "/snapchat/scheduled_posts": {
      "get": {
        "description": "Get a list of Snapchat posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Snapchat posts",
        "tags": [
          "snapchat"
        ]
      },
      "post": {
        "description": "Create a new Snapchat post (Story or Spotlight).",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SnapchatScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Snapchat post",
        "tags": [
          "snapchat"
        ]
      }
    },
    "/snapchat/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SnapchatScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SnapchatScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create Snapchat scheduled posts for multiple brands.",
        "tags": [
          "snapchat"
        ]
      }
    },
    "/snapchat/scheduled_posts/{post_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Snapchat post",
        "tags": [
          "snapchat"
        ]
      },
      "get": {
        "description": "Get a specific Snapchat post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Snapchat post",
        "tags": [
          "snapchat"
        ]
      },
      "parameters": [
        {
          "description": "ID of the post to delete",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SnapchatScheduledPostPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Snapchat post",
        "tags": [
          "snapchat"
        ]
      }
    },
    "/snapchat/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to reorder",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Reorder a specific Unscheduled Snapchat post by post ID.",
        "tags": [
          "snapchat"
        ]
      }
    },
    "/threads/scheduled_posts": {
      "get": {
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Threads posts\nGet a list of Threads posts for the brand(s).",
        "tags": [
          "threads"
        ]
      },
      "post": {
        "description": "Create a new Threads post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadsScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Threads post",
        "tags": [
          "threads"
        ]
      }
    },
    "/threads/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadsScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ThreadsScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create Threads scheduled posts for multiple brands.",
        "tags": [
          "threads"
        ]
      }
    },
    "/threads/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Threads post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Threads post",
        "tags": [
          "threads"
        ]
      },
      "get": {
        "description": "Get a specific Threads post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThreadsScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Threads post",
        "tags": [
          "threads"
        ]
      },
      "parameters": [
        {
          "description": "ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadsScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Threads post",
        "tags": [
          "threads"
        ]
      }
    },
    "/threads/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to reorder",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Reorder a specific Unscheduled Threads post by post ID.",
        "tags": [
          "threads"
        ]
      }
    },
    "/tiktok/scheduled_posts": {
      "get": {
        "description": "Get a list of TikTok posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get TikTok posts",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new TikTok post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TikTokScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a TikTok post",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      }
    },
    "/tiktok/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TikTokScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TikTokScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create TikTok scheduled posts for multiple brands.",
        "tags": [
          "tiktok"
        ]
      }
    },
    "/tiktok/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific TikTok post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a TikTok post",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get a specific TikTok post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a TikTok post",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "The ID of the scheduled post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific TikTok post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TikTokScheduledPostPartial"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a TikTok post",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      }
    },
    "/tiktok/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled TikTok post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled TikTok post",
        "tags": [
          "tiktok"
        ],
        "x-public": true
      }
    },
    "/twitter/scheduled_posts": {
      "get": {
        "description": "Get a list of Twitter posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PagedTwitterScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get Twitter posts",
        "tags": [
          "twitter"
        ],
        "x-public": true
      },
      "post": {
        "description": "Create a new Twitter post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TwitterScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwitterScheduledPost"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a Twitter post",
        "tags": [
          "twitter"
        ],
        "x-public": true
      }
    },
    "/twitter/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TwitterScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TwitterScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create X scheduled posts for multiple brands.",
        "tags": [
          "twitter"
        ]
      }
    },
    "/twitter/scheduled_posts/{post_id}": {
      "delete": {
        "description": "Delete a specific Twitter post by post ID.",
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a Twitter post",
        "tags": [
          "twitter"
        ],
        "x-public": true
      },
      "get": {
        "description": "Get a specific Twitter post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwitterScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a Twitter post",
        "tags": [
          "twitter"
        ],
        "x-public": true
      },
      "parameters": [
        {
          "description": "ID of the post to update",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "description": "Update a specific Twitter post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TwitterScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TwitterScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a Twitter post",
        "tags": [
          "twitter"
        ],
        "x-public": true
      }
    },
    "/twitter/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to be re-ordered",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "description": "Reorder a specific Unscheduled Twitter post by post ID.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ReorderResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled Twitter post",
        "tags": [
          "twitter"
        ],
        "x-public": true
      }
    },
    "/youtube/scheduled_posts": {
      "get": {
        "description": "Get a list of YouTube posts for the brand.",
        "parameters": [
          {
            "description": "Number of posts to return per page",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": null,
              "maximum": 1000,
              "minimum": 0,
              "nullable": true,
              "type": "integer"
            }
          },
          {
            "description": "Starting position of posts to return",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "default": 0,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "The ID of the brand the posts belong to. Required for non-application users.",
            "in": "query",
            "name": "brand_id",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "List of brand IDs for cross brand query (max 10).",
            "explode": false,
            "in": "query",
            "name": "brand_ids",
            "required": false,
            "schema": {
              "items": {
                "minimum": 0,
                "type": "integer"
              },
              "maxItems": 10,
              "minItems": 1,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The status by which to filter posts.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "enum": [
                  "AUTOPUBLISHING",
                  "DRAFT",
                  "EXPIRED",
                  "FAILED",
                  "IMPORTED",
                  "MISSING_APPROVALS",
                  "PARTIALLY_FAILED",
                  "POSTED",
                  "SCHEDULED",
                  "SKIPPED",
                  "USERS_NOTIFIED"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "The metric to sort results by.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "TIMESTAMP",
              "enum": [
                "-SORT_INDEX",
                "-TIMESTAMP",
                "-UPDATED_AT",
                "SORT_INDEX",
                "TIMESTAMP",
                "UPDATED_AT"
              ],
              "type": "string"
            }
          },
          {
            "description": "The start of the range from which to fetch posts by time stamp.",
            "in": "query",
            "name": "start",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "The end date of the range of posts being fetched by time stamp.",
            "in": "query",
            "name": "end",
            "required": false,
            "schema": {
              "default": null,
              "format": "date-time",
              "nullable": true,
              "type": "string"
            }
          },
          {
            "description": "Indicates if the post has a scheduled timestamp.",
            "in": "query",
            "name": "has_scheduled_time",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          },
          {
            "description": "List of unique source ids.",
            "explode": false,
            "in": "query",
            "name": "source_ids",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "nullable": true,
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get YouTube posts",
        "tags": [
          "youtube"
        ]
      },
      "post": {
        "description": "Create a new YouTube post.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/YouTubeScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Create a YouTube post",
        "tags": [
          "youtube"
        ]
      }
    },
    "/youtube/scheduled_posts/batch": {
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/YouTubeScheduledPost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/YouTubeScheduledPost"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Created"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Bulk create YouTube scheduled posts for multiple brands.",
        "tags": [
          "youtube"
        ]
      }
    },
    "/youtube/scheduled_posts/{post_id}": {
      "delete": {
        "responses": {
          "204": {
            "description": "No Content"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Delete a YouTube post",
        "tags": [
          "youtube"
        ]
      },
      "get": {
        "description": "Get a specific YouTube post by post ID.",
        "parameters": [
          {
            "description": "Whether to resolve library references (media, boards, etc).",
            "in": "query",
            "name": "resolve_references",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/YouTubeScheduledPost"
                }
              }
            },
            "description": "OK"
          },
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Get a YouTube post",
        "tags": [
          "youtube"
        ]
      },
      "parameters": [
        {
          "description": "ID of the post to delete",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "patch": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/YouTubeScheduledPostPatch"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update a YouTube post",
        "tags": [
          "youtube"
        ]
      }
    },
    "/youtube/scheduled_posts/{post_id}/reorder": {
      "parameters": [
        {
          "description": "ID of the post to reorder",
          "in": "path",
          "name": "post_id",
          "required": true,
          "schema": {
            "minimum": 0,
            "type": "integer"
          }
        }
      ],
      "post": {
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "422": {
            "$ref": "#/components/responses/UNPROCESSABLE_ENTITY"
          },
          "default": {
            "$ref": "#/components/responses/DEFAULT_ERROR"
          }
        },
        "summary": "Update the order of an Unscheduled YouTube post\nReorder a specific Unscheduled YouTube post by post ID.",
        "tags": [
          "youtube"
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://scheduler.dashsocial.com"
    }
  ],
  "tags": [
    {
      "description": "",
      "name": "approval_requests"
    },
    {
      "description": "",
      "name": "bluesky"
    },
    {
      "description": "",
      "name": "events"
    },
    {
      "description": "",
      "name": "facebook"
    },
    {
      "description": "APIs for creating, scheduling, and retrieving posts to be shown on Instagram Posts.",
      "name": "instagram"
    },
    {
      "description": "",
      "name": "linkedin"
    },
    {
      "description": "",
      "name": "pinterest"
    },
    {
      "description": "Endpoints for recommended publish times",
      "name": "publish_times"
    },
    {
      "description": "",
      "name": "rss_feeds"
    },
    {
      "description": "",
      "name": "snapchat"
    },
    {
      "description": "",
      "name": "threads"
    },
    {
      "description": "",
      "name": "tiktok"
    },
    {
      "description": "",
      "name": "twitter"
    },
    {
      "description": "",
      "name": "youtube"
    }
  ],
  "security": [
    {
      "BearerAuth": []
    }
  ]
}