{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/aidelly-ai/json-schema/aidelly-ai-create-scheduled-post-request-schema.json",
  "title": "CreateScheduledPostRequest",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/aidelly-ai-openapi.yml#/components/schemas/CreateScheduledPostRequest",
  "type": "object",
  "required": [
    "platform",
    "scheduled_at",
    "payload"
  ],
  "properties": {
    "platform": {
      "type": "string"
    },
    "account_id": {
      "type": "string",
      "description": "A provider account ID from `/accounts`, or a social connection UUID selector."
    },
    "scheduled_at": {
      "type": "string",
      "format": "date-time"
    },
    "timezone": {
      "type": "string",
      "default": "UTC"
    },
    "payload": {
      "type": "object",
      "description": "Post content. `payload.media` accepts URL objects, objects with `media_id`, or bare media-library UUID strings owned by the selected workspace.\n`media[].type` accepts `image`, `video`, `gif`, or `document`, and is resolved from the media-library row when omitted (`application/pdf` → `document`).\nLinkedIn document posts attach one PDF (≤100 MB, ≤300 pages) as `media[].type = \"document\"`; documents on any other platform are rejected with `422`.\n",
      "additionalProperties": true
    },
    "recycle": {
      "type": "array",
      "maxItems": 6,
      "items": {
        "$ref": "#/$defs/RecycleEntry"
      }
    },
    "content_campaign_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  },
  "$defs": {
    "RecycleEntry": {
      "type": "object",
      "required": [
        "kind",
        "offset_seconds"
      ],
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "repost",
            "reshare"
          ]
        },
        "offset_seconds": {
          "type": "integer",
          "minimum": 3600,
          "maximum": 31536000,
          "description": "Seconds after the source publishes when this recycle fires."
        }
      }
    }
  }
}