[{"data":1,"prerenderedAt":2792},["ShallowReactive",2],{"navigation":3,"\u002Fscheduling-posts\u002Fuploading-media":193,"\u002Fscheduling-posts\u002Fuploading-media-surround":2787},[4,38,58,157],{"title":5,"path":6,"stem":7,"children":8,"icon":37},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27,32],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Authentication","\u002Fgetting-started\u002Fauthentication","1.getting-started\u002F2.authentication","i-lucide-key",{"title":18,"path":19,"stem":20,"icon":21},"Error Handling","\u002Fgetting-started\u002Ferrors","1.getting-started\u002F3.errors","i-lucide-alert-circle",{"title":23,"path":24,"stem":25,"icon":26},"GraphQL Types","\u002Fgetting-started\u002Ftypes","1.getting-started\u002F4.types","i-lucide-shapes",{"title":28,"path":29,"stem":30,"icon":31},"Rate Limits","\u002Fgetting-started\u002Frate-limits","1.getting-started\u002F5.rate-limits","i-lucide-gauge",{"title":33,"path":34,"stem":35,"icon":36},"AI & MCP","\u002Fgetting-started\u002Fai-mcp","1.getting-started\u002F6.ai-mcp","i-lucide-bot",false,{"title":39,"icon":37,"path":40,"stem":41,"children":42,"page":37},"Queries","\u002Fqueries","2.queries",[43,48,53],{"title":44,"path":45,"stem":46,"icon":47},"User","\u002Fqueries\u002Fuser","2.queries\u002F1.user","i-lucide-user",{"title":49,"path":50,"stem":51,"icon":52},"Social Accounts","\u002Fqueries\u002Fsocial-accounts","2.queries\u002F2.social-accounts","i-lucide-users",{"title":54,"path":55,"stem":56,"icon":57},"Content Library","\u002Fqueries\u002Fcontent-library","2.queries\u002F3.content-library","i-lucide-image",{"title":59,"path":60,"stem":61,"children":62,"icon":37},"Scheduling Posts","\u002Fscheduling-posts","3.scheduling-posts\u002F01.index",[63,64,69,74,79,84,89],{"title":10,"path":60,"stem":61,"icon":11},{"title":65,"path":66,"stem":67,"icon":68},"Managing Posts","\u002Fscheduling-posts\u002Fexample-mutations","3.scheduling-posts\u002F2.example-mutations","i-lucide-pencil-ruler",{"title":70,"path":71,"stem":72,"icon":73},"Post Tags","\u002Fscheduling-posts\u002Fpost-tags","3.scheduling-posts\u002F3.post-tags","i-lucide-tags",{"title":75,"path":76,"stem":77,"icon":78},"Retrieving Posts","\u002Fscheduling-posts\u002Fretrieving-posts","3.scheduling-posts\u002F4.retrieving-posts","i-lucide-search",{"title":80,"path":81,"stem":82,"icon":83},"Next Scheduled Dates","\u002Fscheduling-posts\u002Fnext-scheduled-dates","3.scheduling-posts\u002F5.next-scheduled-dates","i-lucide-calendar-clock",{"title":85,"path":86,"stem":87,"icon":88},"Uploading Media","\u002Fscheduling-posts\u002Fuploading-media","3.scheduling-posts\u002F6.uploading-media","i-lucide-upload",{"title":90,"path":91,"stem":92,"children":93,"icon":37},"Platforms","\u002Fscheduling-posts\u002Fplatforms","3.scheduling-posts\u002Fplatforms\u002F01.index",[94,97,102,107,112,117,122,127,132,137,142,147,152],{"title":95,"path":91,"stem":92,"icon":96},"All Platforms","i-lucide-network",{"title":98,"path":99,"stem":100,"icon":101},"Reddit","\u002Fscheduling-posts\u002Fplatforms\u002Freddit","3.scheduling-posts\u002Fplatforms\u002F02.reddit","i-simple-icons-reddit",{"title":103,"path":104,"stem":105,"icon":106},"X\u002FTwitter","\u002Fscheduling-posts\u002Fplatforms\u002Ftwitter","3.scheduling-posts\u002Fplatforms\u002F03.twitter","i-simple-icons-x",{"title":108,"path":109,"stem":110,"icon":111},"Instagram","\u002Fscheduling-posts\u002Fplatforms\u002Finstagram","3.scheduling-posts\u002Fplatforms\u002F04.instagram","i-simple-icons-instagram",{"title":113,"path":114,"stem":115,"icon":116},"Facebook","\u002Fscheduling-posts\u002Fplatforms\u002Ffacebook","3.scheduling-posts\u002Fplatforms\u002F05.facebook","i-simple-icons-facebook",{"title":118,"path":119,"stem":120,"icon":121},"Threads","\u002Fscheduling-posts\u002Fplatforms\u002Fthreads","3.scheduling-posts\u002Fplatforms\u002F06.threads","i-simple-icons-threads",{"title":123,"path":124,"stem":125,"icon":126},"Bluesky","\u002Fscheduling-posts\u002Fplatforms\u002Fbluesky","3.scheduling-posts\u002Fplatforms\u002F07.bluesky","i-simple-icons-bluesky",{"title":128,"path":129,"stem":130,"icon":131},"TikTok","\u002Fscheduling-posts\u002Fplatforms\u002Ftiktok","3.scheduling-posts\u002Fplatforms\u002F08.tiktok","i-simple-icons-tiktok",{"title":133,"path":134,"stem":135,"icon":136},"YouTube Shorts","\u002Fscheduling-posts\u002Fplatforms\u002Fyoutube","3.scheduling-posts\u002Fplatforms\u002F09.youtube","i-simple-icons-youtube",{"title":138,"path":139,"stem":140,"icon":141},"LinkedIn","\u002Fscheduling-posts\u002Fplatforms\u002Flinkedin","3.scheduling-posts\u002Fplatforms\u002F10.linkedin","i-simple-icons-linkedin",{"title":143,"path":144,"stem":145,"icon":146},"Pinterest","\u002Fscheduling-posts\u002Fplatforms\u002Fpinterest","3.scheduling-posts\u002Fplatforms\u002F11.pinterest","i-simple-icons-pinterest",{"title":148,"path":149,"stem":150,"icon":151},"Mastodon","\u002Fscheduling-posts\u002Fplatforms\u002Fmastodon","3.scheduling-posts\u002Fplatforms\u002F12.mastodon","i-simple-icons-mastodon",{"title":153,"path":154,"stem":155,"icon":156},"Tumblr","\u002Fscheduling-posts\u002Fplatforms\u002Ftumblr","3.scheduling-posts\u002Fplatforms\u002F13.tumblr","i-simple-icons-tumblr",{"title":158,"path":159,"stem":160,"children":161},"Analytics","\u002Fanalytics","4.analytics",[162,164,169,174,178,183,188],{"title":10,"path":159,"stem":163,"icon":11},"4.analytics\u002Findex",{"title":165,"path":166,"stem":167,"icon":168},"Post Time Series Metrics","\u002Fanalytics\u002Fpost-time-series-metrics","4.analytics\u002F1.post-time-series-metrics","i-lucide-trending-up",{"title":170,"path":171,"stem":172,"icon":173},"Aggregate Post Metrics","\u002Fanalytics\u002Faggregate-post-metrics","4.analytics\u002F2.aggregate-post-metrics","i-lucide-bar-chart-3",{"title":175,"path":176,"stem":177,"icon":52},"Aggregate Social Account Post Metrics","\u002Fanalytics\u002Faggregate-social-account-post-metrics","4.analytics\u002F3.aggregate-social-account-post-metrics",{"title":179,"path":180,"stem":181,"icon":182},"Post Tag Metrics","\u002Fanalytics\u002Fpost-tag-metrics","4.analytics\u002F4.post-tag-metrics","i-lucide-tag",{"title":184,"path":185,"stem":186,"icon":187},"Multi-Platform Analytics Submissions","\u002Fanalytics\u002Fmulti-platform-analytics-submissions","4.analytics\u002F5.multi-platform-analytics-submissions","i-lucide-list",{"title":189,"path":190,"stem":191,"icon":192},"Platform Metrics","\u002Fanalytics\u002Fplatform-metrics","4.analytics\u002F6.platform-metrics","i-lucide-layout-grid",{"id":194,"title":85,"body":195,"description":2779,"extension":2780,"links":2781,"meta":2782,"navigation":2783,"path":86,"seo":2784,"sitemap":2785,"stem":87,"__hash__":2786},"docs\u002F3.scheduling-posts\u002F6.uploading-media.md",{"type":196,"value":197,"toc":2772},"minimark",[198,202,231,238,243,246,767,792,796,799,2250,2265,2269,2284,2605,2611,2652,2658,2664,2675,2687,2690,2700,2722,2731,2742,2745,2748,2757,2768],[199,200,201],"p",{},"The API offers two ways to upload media to your Content Library:",[203,204,205,218],"ul",{},[206,207,208,212,213,217],"li",{},[209,210,211],"strong",{},"From a URL",": ",[214,215,216],"code",{},"uploadMediaFromUrl",", when your file is already hosted at a public URL.",[206,219,220,212,223,226,227,230],{},[209,221,222],{},"From a local file",[214,224,225],{},"startMediaUpload"," + ",[214,228,229],{},"completeMediaUpload",", when the file lives on disk.",[199,232,233,234,237],{},"Images, videos, and GIFs are supported. Direct uploads are capped at ",[209,235,236],{},"500 MiB"," per file.",[239,240,242],"h2",{"id":241},"uploading-media-from-a-url","Uploading Media from a URL",[199,244,245],{},"Adds a file to your Content Library from a public URL.",[247,248,249],"code-collapse",{},[250,251,252,477,574],"tabs",{},[253,254,257],"tabs-item",{"icon":255,"label":256},"i-lucide-code","Mutation",[258,259,264],"pre",{"className":260,"code":261,"language":262,"meta":263,"style":263},"language-graphql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","mutation uploadMediaFromUrl(\n  $url: String!\n  $name: String\n  $mediaLabelIds: [ID]\n) {\n  uploadMediaFromUrl(\n    url: $url\n    name: $name\n    mediaLabelIds: $mediaLabelIds\n  ) {\n    success\n    media {\n      id\n      name\n      url\n      mimeType\n      size\n    }\n    errors {\n      field\n      code\n      message\n    }\n  }\n}\n","graphql","",[214,265,266,283,300,311,328,337,343,354,365,376,384,390,398,404,410,416,422,428,434,442,448,454,460,465,471],{"__ignoreMap":263},[267,268,271,275,279],"span",{"class":269,"line":270},"line",1,[267,272,274],{"class":273},"sMK4o","mutation",[267,276,278],{"class":277},"s2Zo4"," uploadMediaFromUrl",[267,280,282],{"class":281},"sTEyZ","(\n",[267,284,286,290,293,297],{"class":269,"line":285},2,[267,287,289],{"class":288},"sHdIc","  $url",[267,291,292],{"class":273},":",[267,294,296],{"class":295},"sBMFI"," String",[267,298,299],{"class":273},"!\n",[267,301,303,306,308],{"class":269,"line":302},3,[267,304,305],{"class":288},"  $name",[267,307,292],{"class":273},[267,309,310],{"class":295}," String\n",[267,312,314,317,319,322,325],{"class":269,"line":313},4,[267,315,316],{"class":288},"  $mediaLabelIds",[267,318,292],{"class":273},[267,320,321],{"class":281}," [",[267,323,324],{"class":295},"ID",[267,326,327],{"class":281},"]\n",[267,329,331,334],{"class":269,"line":330},5,[267,332,333],{"class":281},") ",[267,335,336],{"class":273},"{\n",[267,338,340],{"class":269,"line":339},6,[267,341,342],{"class":281},"  uploadMediaFromUrl(\n",[267,344,346,349,351],{"class":269,"line":345},7,[267,347,348],{"class":288},"    url",[267,350,292],{"class":273},[267,352,353],{"class":281}," $url\n",[267,355,357,360,362],{"class":269,"line":356},8,[267,358,359],{"class":288},"    name",[267,361,292],{"class":273},[267,363,364],{"class":281}," $name\n",[267,366,368,371,373],{"class":269,"line":367},9,[267,369,370],{"class":288},"    mediaLabelIds",[267,372,292],{"class":273},[267,374,375],{"class":281}," $mediaLabelIds\n",[267,377,379,382],{"class":269,"line":378},10,[267,380,381],{"class":281},"  ) ",[267,383,336],{"class":273},[267,385,387],{"class":269,"line":386},11,[267,388,389],{"class":281},"    success\n",[267,391,393,396],{"class":269,"line":392},12,[267,394,395],{"class":281},"    media ",[267,397,336],{"class":273},[267,399,401],{"class":269,"line":400},13,[267,402,403],{"class":281},"      id\n",[267,405,407],{"class":269,"line":406},14,[267,408,409],{"class":281},"      name\n",[267,411,413],{"class":269,"line":412},15,[267,414,415],{"class":281},"      url\n",[267,417,419],{"class":269,"line":418},16,[267,420,421],{"class":281},"      mimeType\n",[267,423,425],{"class":269,"line":424},17,[267,426,427],{"class":281},"      size\n",[267,429,431],{"class":269,"line":430},18,[267,432,433],{"class":273},"    }\n",[267,435,437,440],{"class":269,"line":436},19,[267,438,439],{"class":281},"    errors ",[267,441,336],{"class":273},[267,443,445],{"class":269,"line":444},20,[267,446,447],{"class":281},"      field\n",[267,449,451],{"class":269,"line":450},21,[267,452,453],{"class":281},"      code\n",[267,455,457],{"class":269,"line":456},22,[267,458,459],{"class":281},"      message\n",[267,461,463],{"class":269,"line":462},23,[267,464,433],{"class":273},[267,466,468],{"class":269,"line":467},24,[267,469,470],{"class":273},"  }\n",[267,472,474],{"class":269,"line":473},25,[267,475,476],{"class":273},"}\n",[253,478,481],{"icon":479,"label":480},"i-lucide-settings","Variables",[258,482,486],{"className":483,"code":484,"language":485,"meta":263,"style":263},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"url\": \"https:\u002F\u002Fexample.com\u002Fimages\u002Fhero.jpg\",\n  \"name\": \"campaign-hero.jpg\",\n  \"mediaLabelIds\": [\"1182\", \"1235\"]\n}\n","json",[214,487,488,492,518,538,570],{"__ignoreMap":263},[267,489,490],{"class":269,"line":270},[267,491,336],{"class":273},[267,493,494,497,501,504,506,509,513,515],{"class":269,"line":285},[267,495,496],{"class":273},"  \"",[267,498,500],{"class":499},"spNyl","url",[267,502,503],{"class":273},"\"",[267,505,292],{"class":273},[267,507,508],{"class":273}," \"",[267,510,512],{"class":511},"sfazB","https:\u002F\u002Fexample.com\u002Fimages\u002Fhero.jpg",[267,514,503],{"class":273},[267,516,517],{"class":273},",\n",[267,519,520,522,525,527,529,531,534,536],{"class":269,"line":302},[267,521,496],{"class":273},[267,523,524],{"class":499},"name",[267,526,503],{"class":273},[267,528,292],{"class":273},[267,530,508],{"class":273},[267,532,533],{"class":511},"campaign-hero.jpg",[267,535,503],{"class":273},[267,537,517],{"class":273},[267,539,540,542,545,547,549,551,553,556,558,561,563,566,568],{"class":269,"line":313},[267,541,496],{"class":273},[267,543,544],{"class":499},"mediaLabelIds",[267,546,503],{"class":273},[267,548,292],{"class":273},[267,550,321],{"class":273},[267,552,503],{"class":273},[267,554,555],{"class":511},"1182",[267,557,503],{"class":273},[267,559,560],{"class":273},",",[267,562,508],{"class":273},[267,564,565],{"class":511},"1235",[267,567,503],{"class":273},[267,569,327],{"class":273},[267,571,572],{"class":269,"line":330},[267,573,476],{"class":273},[253,575,578],{"icon":576,"label":577},"i-lucide-eye","Result",[258,579,581],{"className":483,"code":580,"language":485,"meta":263,"style":263},"{\n  \"data\": {\n    \"uploadMediaFromUrl\": {\n      \"success\": true,\n      \"media\": {\n        \"id\": \"1001\",\n        \"name\": \"campaign-hero.jpg\",\n        \"url\": \"https:\u002F\u002Fcdn.example.com\u002F1a2b3c4d\u002F\",\n        \"mimeType\": \"image\u002Fjpeg\",\n        \"size\": 482912\n      },\n      \"errors\": []\n    }\n  }\n}\n",[214,582,583,587,601,614,630,643,665,683,702,722,736,741,755,759,763],{"__ignoreMap":263},[267,584,585],{"class":269,"line":270},[267,586,336],{"class":273},[267,588,589,591,594,596,598],{"class":269,"line":285},[267,590,496],{"class":273},[267,592,593],{"class":499},"data",[267,595,503],{"class":273},[267,597,292],{"class":273},[267,599,600],{"class":273}," {\n",[267,602,603,606,608,610,612],{"class":269,"line":302},[267,604,605],{"class":273},"    \"",[267,607,216],{"class":295},[267,609,503],{"class":273},[267,611,292],{"class":273},[267,613,600],{"class":273},[267,615,616,619,623,625,627],{"class":269,"line":313},[267,617,618],{"class":273},"      \"",[267,620,622],{"class":621},"sbssI","success",[267,624,503],{"class":273},[267,626,292],{"class":273},[267,628,629],{"class":273}," true,\n",[267,631,632,634,637,639,641],{"class":269,"line":330},[267,633,618],{"class":273},[267,635,636],{"class":621},"media",[267,638,503],{"class":273},[267,640,292],{"class":273},[267,642,600],{"class":273},[267,644,645,648,652,654,656,658,661,663],{"class":269,"line":339},[267,646,647],{"class":273},"        \"",[267,649,651],{"class":650},"swJcz","id",[267,653,503],{"class":273},[267,655,292],{"class":273},[267,657,508],{"class":273},[267,659,660],{"class":511},"1001",[267,662,503],{"class":273},[267,664,517],{"class":273},[267,666,667,669,671,673,675,677,679,681],{"class":269,"line":345},[267,668,647],{"class":273},[267,670,524],{"class":650},[267,672,503],{"class":273},[267,674,292],{"class":273},[267,676,508],{"class":273},[267,678,533],{"class":511},[267,680,503],{"class":273},[267,682,517],{"class":273},[267,684,685,687,689,691,693,695,698,700],{"class":269,"line":356},[267,686,647],{"class":273},[267,688,500],{"class":650},[267,690,503],{"class":273},[267,692,292],{"class":273},[267,694,508],{"class":273},[267,696,697],{"class":511},"https:\u002F\u002Fcdn.example.com\u002F1a2b3c4d\u002F",[267,699,503],{"class":273},[267,701,517],{"class":273},[267,703,704,706,709,711,713,715,718,720],{"class":269,"line":367},[267,705,647],{"class":273},[267,707,708],{"class":650},"mimeType",[267,710,503],{"class":273},[267,712,292],{"class":273},[267,714,508],{"class":273},[267,716,717],{"class":511},"image\u002Fjpeg",[267,719,503],{"class":273},[267,721,517],{"class":273},[267,723,724,726,729,731,733],{"class":269,"line":378},[267,725,647],{"class":273},[267,727,728],{"class":650},"size",[267,730,503],{"class":273},[267,732,292],{"class":273},[267,734,735],{"class":621}," 482912\n",[267,737,738],{"class":269,"line":386},[267,739,740],{"class":273},"      },\n",[267,742,743,745,748,750,752],{"class":269,"line":392},[267,744,618],{"class":273},[267,746,747],{"class":621},"errors",[267,749,503],{"class":273},[267,751,292],{"class":273},[267,753,754],{"class":273}," []\n",[267,756,757],{"class":269,"line":400},[267,758,433],{"class":273},[267,760,761],{"class":269,"line":406},[267,762,470],{"class":273},[267,764,765],{"class":269,"line":412},[267,766,476],{"class":273},[768,769,770,778,786],"field-group",{},[771,772,775],"field",{"name":500,"type":773,":required":774},"String","true",[199,776,777],{},"Public URL of the media file. Must be publicly accessible and link directly to the file.",[771,779,780],{"name":524,"type":773},[199,781,782,783,785],{},"Display name for the file in your Content Library. If omitted, the name is derived from the filename in the ",[214,784,500],{},".",[771,787,789],{"name":544,"type":788},"[ID]",[199,790,791],{},"IDs of existing Content Library labels to assign. Labels must already exist and belong to your account. Unknown or foreign IDs are ignored.",[239,793,795],{"id":794},"direct-upload","Direct Upload",[199,797,798],{},"When your file is on disk, upload it in three steps.",[800,801,803,808,821,1116,1166,1170,1179,1215,1718,1734,1748,1769,1773,1785,2207,2229],"steps",{"level":802},"3",[804,805,807],"h3",{"id":806},"start-the-upload","Start the upload",[199,809,810,811,813,814,817,818,785],{},"Call ",[214,812,225],{}," with the exact file size in bytes and the file's mime type. It returns an ",[214,815,816],{},"uploadUrl"," and an ",[214,819,820],{},"uploadToken",[247,822,823],{},[250,824,825,940,987],{},[253,826,827],{"icon":255,"label":256},[258,828,830],{"className":260,"code":829,"language":262,"meta":263,"style":263},"mutation startMediaUpload($size: BigInt!, $mimeType: String!) {\n  startMediaUpload(size: $size, mimeType: $mimeType) {\n    success\n    uploadToken\n    uploadUrl\n    expiresAt\n    errors {\n      field\n      code\n      message\n    }\n  }\n}\n",[214,831,832,867,891,895,900,905,910,916,920,924,928,932,936],{"__ignoreMap":263},[267,833,834,836,839,842,845,847,850,853,856,858,860,863,865],{"class":269,"line":270},[267,835,274],{"class":273},[267,837,838],{"class":277}," startMediaUpload",[267,840,841],{"class":281},"(",[267,843,844],{"class":288},"$size",[267,846,292],{"class":273},[267,848,849],{"class":295}," BigInt",[267,851,852],{"class":273},"!,",[267,854,855],{"class":288}," $mimeType",[267,857,292],{"class":273},[267,859,296],{"class":295},[267,861,862],{"class":273},"!",[267,864,333],{"class":281},[267,866,336],{"class":273},[267,868,869,872,874,876,879,881,884,886,889],{"class":269,"line":285},[267,870,871],{"class":281},"  startMediaUpload(",[267,873,728],{"class":288},[267,875,292],{"class":273},[267,877,878],{"class":281}," $size",[267,880,560],{"class":273},[267,882,883],{"class":288}," mimeType",[267,885,292],{"class":273},[267,887,888],{"class":281}," $mimeType) ",[267,890,336],{"class":273},[267,892,893],{"class":269,"line":302},[267,894,389],{"class":281},[267,896,897],{"class":269,"line":313},[267,898,899],{"class":281},"    uploadToken\n",[267,901,902],{"class":269,"line":330},[267,903,904],{"class":281},"    uploadUrl\n",[267,906,907],{"class":269,"line":339},[267,908,909],{"class":281},"    expiresAt\n",[267,911,912,914],{"class":269,"line":345},[267,913,439],{"class":281},[267,915,336],{"class":273},[267,917,918],{"class":269,"line":356},[267,919,447],{"class":281},[267,921,922],{"class":269,"line":367},[267,923,453],{"class":281},[267,925,926],{"class":269,"line":378},[267,927,459],{"class":281},[267,929,930],{"class":269,"line":386},[267,931,433],{"class":273},[267,933,934],{"class":269,"line":392},[267,935,470],{"class":273},[267,937,938],{"class":269,"line":400},[267,939,476],{"class":273},[253,941,942],{"icon":479,"label":480},[258,943,945],{"className":483,"code":944,"language":485,"meta":263,"style":263},"{\n  \"size\": 2048576,\n  \"mimeType\": \"image\u002Fjpeg\"\n}\n",[214,946,947,951,966,983],{"__ignoreMap":263},[267,948,949],{"class":269,"line":270},[267,950,336],{"class":273},[267,952,953,955,957,959,961,964],{"class":269,"line":285},[267,954,496],{"class":273},[267,956,728],{"class":499},[267,958,503],{"class":273},[267,960,292],{"class":273},[267,962,963],{"class":621}," 2048576",[267,965,517],{"class":273},[267,967,968,970,972,974,976,978,980],{"class":269,"line":302},[267,969,496],{"class":273},[267,971,708],{"class":499},[267,973,503],{"class":273},[267,975,292],{"class":273},[267,977,508],{"class":273},[267,979,717],{"class":511},[267,981,982],{"class":273},"\"\n",[267,984,985],{"class":269,"line":313},[267,986,476],{"class":273},[253,988,989],{"icon":576,"label":577},[258,990,992],{"className":483,"code":991,"language":485,"meta":263,"style":263},"{\n  \"data\": {\n    \"startMediaUpload\": {\n      \"success\": true,\n      \"uploadToken\": \"b3f1c2a4-9d5e-4c7b-8a1f-2e6d0c9a7b12\",\n      \"uploadUrl\": \"https:\u002F\u002Fuploads.example.com\u002F...&signature=...\",\n      \"expiresAt\": \"2025-02-01T15:30:00Z\",\n      \"errors\": []\n    }\n  }\n}\n",[214,993,994,998,1010,1022,1034,1053,1072,1092,1104,1108,1112],{"__ignoreMap":263},[267,995,996],{"class":269,"line":270},[267,997,336],{"class":273},[267,999,1000,1002,1004,1006,1008],{"class":269,"line":285},[267,1001,496],{"class":273},[267,1003,593],{"class":499},[267,1005,503],{"class":273},[267,1007,292],{"class":273},[267,1009,600],{"class":273},[267,1011,1012,1014,1016,1018,1020],{"class":269,"line":302},[267,1013,605],{"class":273},[267,1015,225],{"class":295},[267,1017,503],{"class":273},[267,1019,292],{"class":273},[267,1021,600],{"class":273},[267,1023,1024,1026,1028,1030,1032],{"class":269,"line":313},[267,1025,618],{"class":273},[267,1027,622],{"class":621},[267,1029,503],{"class":273},[267,1031,292],{"class":273},[267,1033,629],{"class":273},[267,1035,1036,1038,1040,1042,1044,1046,1049,1051],{"class":269,"line":330},[267,1037,618],{"class":273},[267,1039,820],{"class":621},[267,1041,503],{"class":273},[267,1043,292],{"class":273},[267,1045,508],{"class":273},[267,1047,1048],{"class":511},"b3f1c2a4-9d5e-4c7b-8a1f-2e6d0c9a7b12",[267,1050,503],{"class":273},[267,1052,517],{"class":273},[267,1054,1055,1057,1059,1061,1063,1065,1068,1070],{"class":269,"line":339},[267,1056,618],{"class":273},[267,1058,816],{"class":621},[267,1060,503],{"class":273},[267,1062,292],{"class":273},[267,1064,508],{"class":273},[267,1066,1067],{"class":511},"https:\u002F\u002Fuploads.example.com\u002F...&signature=...",[267,1069,503],{"class":273},[267,1071,517],{"class":273},[267,1073,1074,1076,1079,1081,1083,1085,1088,1090],{"class":269,"line":345},[267,1075,618],{"class":273},[267,1077,1078],{"class":621},"expiresAt",[267,1080,503],{"class":273},[267,1082,292],{"class":273},[267,1084,508],{"class":273},[267,1086,1087],{"class":511},"2025-02-01T15:30:00Z",[267,1089,503],{"class":273},[267,1091,517],{"class":273},[267,1093,1094,1096,1098,1100,1102],{"class":269,"line":356},[267,1095,618],{"class":273},[267,1097,747],{"class":621},[267,1099,503],{"class":273},[267,1101,292],{"class":273},[267,1103,754],{"class":273},[267,1105,1106],{"class":269,"line":367},[267,1107,433],{"class":273},[267,1109,1110],{"class":269,"line":378},[267,1111,470],{"class":273},[267,1113,1114],{"class":269,"line":386},[267,1115,476],{"class":273},[768,1117,1118,1131],{},[771,1119,1121],{"name":728,"type":1120,":required":774},"BigInt",[199,1122,1123,1124,1127,1128,785],{},"Size of the file in bytes. Must be greater than 0 and no more than 500 MiB. The upload URL is tied to this exact size, so the ",[214,1125,1126],{},"PUT"," in the next step must send a matching ",[214,1129,1130],{},"Content-Length",[771,1132,1133],{"name":708,"type":773,":required":774},[199,1134,1135,1136,1139,1140,1139,1142,1139,1145,1139,1148,1139,1151,1154,1155,1158,1159,1161,1162,1165],{},"Mime type of the file. Must be an image or a video type, such as ",[214,1137,1138],{},"image\u002Fpng",", ",[214,1141,717],{},[214,1143,1144],{},"image\u002Fwebp",[214,1146,1147],{},"image\u002Fgif",[214,1149,1150],{},"image\u002Fheic",[214,1152,1153],{},"video\u002Fmp4",", or ",[214,1156,1157],{},"video\u002Fquicktime",". The upload URL is tied to this exact value, so the ",[214,1160,1126],{}," in the next step must send it as the ",[214,1163,1164],{},"Content-Type"," header, verbatim.",[804,1167,1169],{"id":1168},"upload-the-file","Upload the file",[199,1171,1172,1173,1175,1176,1178],{},"Send the raw file bytes to ",[214,1174,816],{}," with an HTTP ",[214,1177,1126],{},". Three headers are required:",[203,1180,1181,1196,1207],{},[206,1182,1183,1185,1186,1189,1190,1192,1193,1195],{},[214,1184,1130],{}," ",[209,1187,1188],{},"must"," match the ",[214,1191,728],{}," you passed to ",[214,1194,225],{},". The URL is tied to the declared size, and a mismatch is rejected.",[206,1197,1198,1185,1200,1189,1202,1192,1204,1206],{},[214,1199,1164],{},[209,1201,1188],{},[214,1203,708],{},[214,1205,225],{},", verbatim. This is what makes the file's type detectable once it lands in your Content Library.",[206,1208,1209,1185,1212,1214],{},[214,1210,1211],{},"If-None-Match: *",[209,1213,1188],{}," be sent exactly as shown. The URL is signed with it, and requests without it are rejected.",[1216,1217,1218,1298,1473],"code-group",{},[258,1219,1224],{"className":1220,"code":1221,"filename":1222,"language":1223,"meta":263,"style":263},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl --request PUT \\\n--upload-file .\u002Fcampaign-hero.jpg \\\n--header 'Content-Length: 2048576' \\\n--header 'Content-Type: image\u002Fjpeg' \\\n--header 'If-None-Match: *' \\\n\"https:\u002F\u002Fuploads.example.com\u002F...&signature=...\"\n","cURL","bash",[214,1225,1226,1240,1250,1265,1278,1290],{"__ignoreMap":263},[267,1227,1228,1231,1234,1237],{"class":269,"line":270},[267,1229,1230],{"class":295},"curl",[267,1232,1233],{"class":511}," --request",[267,1235,1236],{"class":511}," PUT",[267,1238,1239],{"class":281}," \\\n",[267,1241,1242,1245,1248],{"class":269,"line":285},[267,1243,1244],{"class":281},"--upload-file ",[267,1246,1247],{"class":511},".\u002Fcampaign-hero.jpg",[267,1249,1239],{"class":281},[267,1251,1252,1255,1258,1261,1263],{"class":269,"line":302},[267,1253,1254],{"class":281},"--header ",[267,1256,1257],{"class":273},"'",[267,1259,1260],{"class":511},"Content-Length: 2048576",[267,1262,1257],{"class":273},[267,1264,1239],{"class":281},[267,1266,1267,1269,1271,1274,1276],{"class":269,"line":313},[267,1268,1254],{"class":281},[267,1270,1257],{"class":273},[267,1272,1273],{"class":511},"Content-Type: image\u002Fjpeg",[267,1275,1257],{"class":273},[267,1277,1239],{"class":281},[267,1279,1280,1282,1284,1286,1288],{"class":269,"line":330},[267,1281,1254],{"class":281},[267,1283,1257],{"class":273},[267,1285,1211],{"class":511},[267,1287,1257],{"class":273},[267,1289,1239],{"class":281},[267,1291,1292,1294,1296],{"class":269,"line":339},[267,1293,503],{"class":273},[267,1295,1067],{"class":511},[267,1297,982],{"class":273},[258,1299,1304],{"className":1300,"code":1301,"filename":1302,"language":1303,"meta":263,"style":263},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import requests\n\nwith open('.\u002Fcampaign-hero.jpg', 'rb') as f:\n  response = requests.put(\n      'https:\u002F\u002Fuploads.example.com\u002F...&signature=...',\n      data=f,\n      headers={\n          'Content-Type': 'image\u002Fjpeg',\n          'If-None-Match': '*',\n      },\n  )\n\nresponse.raise_for_status()\n","Python","python",[214,1305,1306,1315,1321,1359,1377,1388,1400,1408,1427,1447,1451,1456,1460],{"__ignoreMap":263},[267,1307,1308,1312],{"class":269,"line":270},[267,1309,1311],{"class":1310},"s7zQu","import",[267,1313,1314],{"class":281}," requests\n",[267,1316,1317],{"class":269,"line":285},[267,1318,1320],{"emptyLinePlaceholder":1319},true,"\n",[267,1322,1323,1326,1329,1331,1333,1335,1337,1339,1342,1345,1347,1350,1353,1356],{"class":269,"line":302},[267,1324,1325],{"class":1310},"with",[267,1327,1328],{"class":277}," open",[267,1330,841],{"class":273},[267,1332,1257],{"class":273},[267,1334,1247],{"class":511},[267,1336,1257],{"class":273},[267,1338,560],{"class":273},[267,1340,1341],{"class":273}," '",[267,1343,1344],{"class":511},"rb",[267,1346,1257],{"class":273},[267,1348,1349],{"class":273},")",[267,1351,1352],{"class":1310}," as",[267,1354,1355],{"class":281}," f",[267,1357,1358],{"class":273},":\n",[267,1360,1361,1364,1367,1370,1372,1375],{"class":269,"line":313},[267,1362,1363],{"class":281},"  response ",[267,1365,1366],{"class":273},"=",[267,1368,1369],{"class":281}," requests",[267,1371,785],{"class":273},[267,1373,1374],{"class":277},"put",[267,1376,282],{"class":273},[267,1378,1379,1382,1384,1386],{"class":269,"line":330},[267,1380,1381],{"class":273},"      '",[267,1383,1067],{"class":511},[267,1385,1257],{"class":273},[267,1387,517],{"class":273},[267,1389,1390,1393,1395,1398],{"class":269,"line":339},[267,1391,1392],{"class":288},"      data",[267,1394,1366],{"class":273},[267,1396,1397],{"class":277},"f",[267,1399,517],{"class":273},[267,1401,1402,1405],{"class":269,"line":345},[267,1403,1404],{"class":288},"      headers",[267,1406,1407],{"class":273},"={\n",[267,1409,1410,1413,1415,1417,1419,1421,1423,1425],{"class":269,"line":356},[267,1411,1412],{"class":273},"          '",[267,1414,1164],{"class":511},[267,1416,1257],{"class":273},[267,1418,292],{"class":273},[267,1420,1341],{"class":273},[267,1422,717],{"class":511},[267,1424,1257],{"class":273},[267,1426,517],{"class":273},[267,1428,1429,1431,1434,1436,1438,1440,1443,1445],{"class":269,"line":367},[267,1430,1412],{"class":273},[267,1432,1433],{"class":511},"If-None-Match",[267,1435,1257],{"class":273},[267,1437,292],{"class":273},[267,1439,1341],{"class":273},[267,1441,1442],{"class":511},"*",[267,1444,1257],{"class":273},[267,1446,517],{"class":273},[267,1448,1449],{"class":269,"line":378},[267,1450,740],{"class":273},[267,1452,1453],{"class":269,"line":386},[267,1454,1455],{"class":273},"  )\n",[267,1457,1458],{"class":269,"line":392},[267,1459,1320],{"emptyLinePlaceholder":1319},[267,1461,1462,1465,1467,1470],{"class":269,"line":400},[267,1463,1464],{"class":281},"response",[267,1466,785],{"class":273},[267,1468,1469],{"class":277},"raise_for_status",[267,1471,1472],{"class":273},"()\n",[258,1474,1479],{"className":1475,"code":1476,"filename":1477,"language":1478,"meta":263,"style":263},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { readFile } from 'node:fs\u002Fpromises';\n\nconst file = await readFile('.\u002Fcampaign-hero.jpg');\n\nconst response = await fetch('https:\u002F\u002Fuploads.example.com\u002F...&signature=...', {\nmethod: 'PUT',\nheaders: {\n  'Content-Type': 'image\u002Fjpeg',\n  'If-None-Match': '*',\n},\nbody: file,\n});\n\nif (!response.ok) {\nthrow new Error(`Upload failed: ${response.status}`);\n}\n","JavaScript\u002FNode.js","js",[214,1480,1481,1507,1511,1538,1542,1568,1583,1592,1611,1629,1634,1646,1655,1659,1678,1714],{"__ignoreMap":263},[267,1482,1483,1485,1488,1491,1494,1497,1499,1502,1504],{"class":269,"line":270},[267,1484,1311],{"class":1310},[267,1486,1487],{"class":273}," {",[267,1489,1490],{"class":281}," readFile",[267,1492,1493],{"class":273}," }",[267,1495,1496],{"class":1310}," from",[267,1498,1341],{"class":273},[267,1500,1501],{"class":511},"node:fs\u002Fpromises",[267,1503,1257],{"class":273},[267,1505,1506],{"class":273},";\n",[267,1508,1509],{"class":269,"line":285},[267,1510,1320],{"emptyLinePlaceholder":1319},[267,1512,1513,1516,1519,1521,1524,1526,1528,1530,1532,1534,1536],{"class":269,"line":302},[267,1514,1515],{"class":499},"const",[267,1517,1518],{"class":281}," file ",[267,1520,1366],{"class":273},[267,1522,1523],{"class":1310}," await",[267,1525,1490],{"class":277},[267,1527,841],{"class":281},[267,1529,1257],{"class":273},[267,1531,1247],{"class":511},[267,1533,1257],{"class":273},[267,1535,1349],{"class":281},[267,1537,1506],{"class":273},[267,1539,1540],{"class":269,"line":313},[267,1541,1320],{"emptyLinePlaceholder":1319},[267,1543,1544,1546,1549,1551,1553,1556,1558,1560,1562,1564,1566],{"class":269,"line":330},[267,1545,1515],{"class":499},[267,1547,1548],{"class":281}," response ",[267,1550,1366],{"class":273},[267,1552,1523],{"class":1310},[267,1554,1555],{"class":277}," fetch",[267,1557,841],{"class":281},[267,1559,1257],{"class":273},[267,1561,1067],{"class":511},[267,1563,1257],{"class":273},[267,1565,560],{"class":273},[267,1567,600],{"class":273},[267,1569,1570,1573,1575,1577,1579,1581],{"class":269,"line":339},[267,1571,1572],{"class":650},"method",[267,1574,292],{"class":273},[267,1576,1341],{"class":273},[267,1578,1126],{"class":511},[267,1580,1257],{"class":273},[267,1582,517],{"class":273},[267,1584,1585,1588,1590],{"class":269,"line":345},[267,1586,1587],{"class":650},"headers",[267,1589,292],{"class":273},[267,1591,600],{"class":273},[267,1593,1594,1597,1599,1601,1603,1605,1607,1609],{"class":269,"line":356},[267,1595,1596],{"class":273},"  '",[267,1598,1164],{"class":650},[267,1600,1257],{"class":273},[267,1602,292],{"class":273},[267,1604,1341],{"class":273},[267,1606,717],{"class":511},[267,1608,1257],{"class":273},[267,1610,517],{"class":273},[267,1612,1613,1615,1617,1619,1621,1623,1625,1627],{"class":269,"line":367},[267,1614,1596],{"class":273},[267,1616,1433],{"class":650},[267,1618,1257],{"class":273},[267,1620,292],{"class":273},[267,1622,1341],{"class":273},[267,1624,1442],{"class":511},[267,1626,1257],{"class":273},[267,1628,517],{"class":273},[267,1630,1631],{"class":269,"line":378},[267,1632,1633],{"class":273},"},\n",[267,1635,1636,1639,1641,1644],{"class":269,"line":386},[267,1637,1638],{"class":650},"body",[267,1640,292],{"class":273},[267,1642,1643],{"class":281}," file",[267,1645,517],{"class":273},[267,1647,1648,1651,1653],{"class":269,"line":392},[267,1649,1650],{"class":273},"}",[267,1652,1349],{"class":281},[267,1654,1506],{"class":273},[267,1656,1657],{"class":269,"line":400},[267,1658,1320],{"emptyLinePlaceholder":1319},[267,1660,1661,1664,1667,1669,1671,1673,1676],{"class":269,"line":406},[267,1662,1663],{"class":1310},"if",[267,1665,1666],{"class":281}," (",[267,1668,862],{"class":273},[267,1670,1464],{"class":281},[267,1672,785],{"class":273},[267,1674,1675],{"class":281},"ok) ",[267,1677,336],{"class":273},[267,1679,1680,1683,1686,1689,1691,1694,1697,1700,1702,1704,1707,1710,1712],{"class":269,"line":412},[267,1681,1682],{"class":1310},"throw",[267,1684,1685],{"class":273}," new",[267,1687,1688],{"class":277}," Error",[267,1690,841],{"class":650},[267,1692,1693],{"class":273},"`",[267,1695,1696],{"class":511},"Upload failed: ",[267,1698,1699],{"class":273},"${",[267,1701,1464],{"class":281},[267,1703,785],{"class":273},[267,1705,1706],{"class":281},"status",[267,1708,1709],{"class":273},"}`",[267,1711,1349],{"class":650},[267,1713,1506],{"class":273},[267,1715,1716],{"class":269,"line":418},[267,1717,476],{"class":273},[1719,1720,1721],"note",{},[199,1722,1723,1724,1726,1727,1730,1731,1733],{},"Most HTTP clients (including ",[214,1725,1230],{}," with ",[214,1728,1729],{},"--upload-file",") set ",[214,1732,1130],{}," automatically from the file. Only set it by hand if your client doesn't.",[1719,1735,1736],{},[199,1737,1738,1739,1741,1742,1744,1745,1747],{},"The ",[214,1740,816],{}," is valid until ",[214,1743,1078],{},", roughly an hour after it's issued. Upload the file and call ",[214,1746,229],{}," before then, or start over.",[1719,1749,1750],{},[199,1751,1752,1753,1755,1756,1759,1760,1762,1763,1766,1767,785],{},"Each ",[214,1754,816],{}," accepts ",[209,1757,1758],{},"one successful upload",". If the transfer fails partway through, just retry the same ",[214,1761,1126],{},". A ",[214,1764,1765],{},"412 Precondition Failed"," response means a file was already uploaded with this URL. No need to retry, move on to ",[214,1768,229],{},[804,1770,1772],{"id":1771},"complete-the-upload","Complete the upload",[199,1774,1775,1776,1778,1779,1781,1782,1784],{},"Once you finished uploading the file, you must call ",[214,1777,229],{}," with the ",[214,1780,820],{}," and a display ",[214,1783,524],{},". This adds the uploaded file to your Content Library and returns the created media.",[247,1786,1787],{},[250,1788,1789,1960,2032],{},[253,1790,1791],{"icon":255,"label":256},[258,1792,1794],{"className":260,"code":1793,"language":262,"meta":263,"style":263},"mutation completeMediaUpload(\n$uploadToken: String!\n$name: String!\n$mediaLabelIds: [ID]\n) {\ncompleteMediaUpload(\n  uploadToken: $uploadToken\n  name: $name\n  mediaLabelIds: $mediaLabelIds\n) {\n  success\n  media {\n    id\n    name\n    url\n    mimeType\n    size\n  }\n  errors {\n    field\n    code\n    message\n  }\n}\n}\n",[214,1795,1796,1805,1816,1827,1840,1846,1851,1861,1870,1879,1885,1890,1897,1902,1907,1912,1917,1922,1926,1933,1938,1943,1948,1952,1956],{"__ignoreMap":263},[267,1797,1798,1800,1803],{"class":269,"line":270},[267,1799,274],{"class":273},[267,1801,1802],{"class":277}," completeMediaUpload",[267,1804,282],{"class":281},[267,1806,1807,1810,1812,1814],{"class":269,"line":285},[267,1808,1809],{"class":288},"$uploadToken",[267,1811,292],{"class":273},[267,1813,296],{"class":295},[267,1815,299],{"class":273},[267,1817,1818,1821,1823,1825],{"class":269,"line":302},[267,1819,1820],{"class":288},"$name",[267,1822,292],{"class":273},[267,1824,296],{"class":295},[267,1826,299],{"class":273},[267,1828,1829,1832,1834,1836,1838],{"class":269,"line":313},[267,1830,1831],{"class":288},"$mediaLabelIds",[267,1833,292],{"class":273},[267,1835,321],{"class":281},[267,1837,324],{"class":295},[267,1839,327],{"class":281},[267,1841,1842,1844],{"class":269,"line":330},[267,1843,333],{"class":281},[267,1845,336],{"class":273},[267,1847,1848],{"class":269,"line":339},[267,1849,1850],{"class":281},"completeMediaUpload(\n",[267,1852,1853,1856,1858],{"class":269,"line":345},[267,1854,1855],{"class":288},"  uploadToken",[267,1857,292],{"class":273},[267,1859,1860],{"class":281}," $uploadToken\n",[267,1862,1863,1866,1868],{"class":269,"line":356},[267,1864,1865],{"class":288},"  name",[267,1867,292],{"class":273},[267,1869,364],{"class":281},[267,1871,1872,1875,1877],{"class":269,"line":367},[267,1873,1874],{"class":288},"  mediaLabelIds",[267,1876,292],{"class":273},[267,1878,375],{"class":281},[267,1880,1881,1883],{"class":269,"line":378},[267,1882,333],{"class":281},[267,1884,336],{"class":273},[267,1886,1887],{"class":269,"line":386},[267,1888,1889],{"class":281},"  success\n",[267,1891,1892,1895],{"class":269,"line":392},[267,1893,1894],{"class":281},"  media ",[267,1896,336],{"class":273},[267,1898,1899],{"class":269,"line":400},[267,1900,1901],{"class":281},"    id\n",[267,1903,1904],{"class":269,"line":406},[267,1905,1906],{"class":281},"    name\n",[267,1908,1909],{"class":269,"line":412},[267,1910,1911],{"class":281},"    url\n",[267,1913,1914],{"class":269,"line":418},[267,1915,1916],{"class":281},"    mimeType\n",[267,1918,1919],{"class":269,"line":424},[267,1920,1921],{"class":281},"    size\n",[267,1923,1924],{"class":269,"line":430},[267,1925,470],{"class":273},[267,1927,1928,1931],{"class":269,"line":436},[267,1929,1930],{"class":281},"  errors ",[267,1932,336],{"class":273},[267,1934,1935],{"class":269,"line":444},[267,1936,1937],{"class":281},"    field\n",[267,1939,1940],{"class":269,"line":450},[267,1941,1942],{"class":281},"    code\n",[267,1944,1945],{"class":269,"line":456},[267,1946,1947],{"class":281},"    message\n",[267,1949,1950],{"class":269,"line":462},[267,1951,470],{"class":273},[267,1953,1954],{"class":269,"line":467},[267,1955,476],{"class":273},[267,1957,1958],{"class":269,"line":473},[267,1959,476],{"class":273},[253,1961,1962],{"icon":479,"label":480},[258,1963,1965],{"className":483,"code":1964,"language":485,"meta":263,"style":263},"{\n\"uploadToken\": \"b3f1c2a4-9d5e-4c7b-8a1f-2e6d0c9a7b12\",\n\"name\": \"campaign-hero.jpg\",\n\"mediaLabelIds\": [\"12\"]\n}\n",[214,1966,1967,1971,1989,2007,2028],{"__ignoreMap":263},[267,1968,1969],{"class":269,"line":270},[267,1970,336],{"class":273},[267,1972,1973,1975,1977,1979,1981,1983,1985,1987],{"class":269,"line":285},[267,1974,503],{"class":273},[267,1976,820],{"class":499},[267,1978,503],{"class":273},[267,1980,292],{"class":273},[267,1982,508],{"class":273},[267,1984,1048],{"class":511},[267,1986,503],{"class":273},[267,1988,517],{"class":273},[267,1990,1991,1993,1995,1997,1999,2001,2003,2005],{"class":269,"line":302},[267,1992,503],{"class":273},[267,1994,524],{"class":499},[267,1996,503],{"class":273},[267,1998,292],{"class":273},[267,2000,508],{"class":273},[267,2002,533],{"class":511},[267,2004,503],{"class":273},[267,2006,517],{"class":273},[267,2008,2009,2011,2013,2015,2017,2019,2021,2024,2026],{"class":269,"line":313},[267,2010,503],{"class":273},[267,2012,544],{"class":499},[267,2014,503],{"class":273},[267,2016,292],{"class":273},[267,2018,321],{"class":273},[267,2020,503],{"class":273},[267,2022,2023],{"class":511},"12",[267,2025,503],{"class":273},[267,2027,327],{"class":273},[267,2029,2030],{"class":269,"line":330},[267,2031,476],{"class":273},[253,2033,2034],{"icon":576,"label":577},[258,2035,2037],{"className":483,"code":2036,"language":485,"meta":263,"style":263},"{\n\"data\": {\n  \"completeMediaUpload\": {\n    \"success\": true,\n    \"media\": {\n      \"id\": \"102\",\n      \"name\": \"campaign-hero.jpg\",\n      \"url\": \"https:\u002F\u002Fcdn.example.com\u002F5e6f7a8b\u002F\",\n      \"mimeType\": \"image\u002Fjpeg\",\n      \"size\": 2048576\n    },\n    \"errors\": []\n  }\n}\n}\n",[214,2038,2039,2043,2055,2067,2079,2091,2110,2128,2147,2165,2178,2183,2195,2199,2203],{"__ignoreMap":263},[267,2040,2041],{"class":269,"line":270},[267,2042,336],{"class":273},[267,2044,2045,2047,2049,2051,2053],{"class":269,"line":285},[267,2046,503],{"class":273},[267,2048,593],{"class":499},[267,2050,503],{"class":273},[267,2052,292],{"class":273},[267,2054,600],{"class":273},[267,2056,2057,2059,2061,2063,2065],{"class":269,"line":302},[267,2058,496],{"class":273},[267,2060,229],{"class":295},[267,2062,503],{"class":273},[267,2064,292],{"class":273},[267,2066,600],{"class":273},[267,2068,2069,2071,2073,2075,2077],{"class":269,"line":313},[267,2070,605],{"class":273},[267,2072,622],{"class":621},[267,2074,503],{"class":273},[267,2076,292],{"class":273},[267,2078,629],{"class":273},[267,2080,2081,2083,2085,2087,2089],{"class":269,"line":330},[267,2082,605],{"class":273},[267,2084,636],{"class":621},[267,2086,503],{"class":273},[267,2088,292],{"class":273},[267,2090,600],{"class":273},[267,2092,2093,2095,2097,2099,2101,2103,2106,2108],{"class":269,"line":339},[267,2094,618],{"class":273},[267,2096,651],{"class":650},[267,2098,503],{"class":273},[267,2100,292],{"class":273},[267,2102,508],{"class":273},[267,2104,2105],{"class":511},"102",[267,2107,503],{"class":273},[267,2109,517],{"class":273},[267,2111,2112,2114,2116,2118,2120,2122,2124,2126],{"class":269,"line":345},[267,2113,618],{"class":273},[267,2115,524],{"class":650},[267,2117,503],{"class":273},[267,2119,292],{"class":273},[267,2121,508],{"class":273},[267,2123,533],{"class":511},[267,2125,503],{"class":273},[267,2127,517],{"class":273},[267,2129,2130,2132,2134,2136,2138,2140,2143,2145],{"class":269,"line":356},[267,2131,618],{"class":273},[267,2133,500],{"class":650},[267,2135,503],{"class":273},[267,2137,292],{"class":273},[267,2139,508],{"class":273},[267,2141,2142],{"class":511},"https:\u002F\u002Fcdn.example.com\u002F5e6f7a8b\u002F",[267,2144,503],{"class":273},[267,2146,517],{"class":273},[267,2148,2149,2151,2153,2155,2157,2159,2161,2163],{"class":269,"line":367},[267,2150,618],{"class":273},[267,2152,708],{"class":650},[267,2154,503],{"class":273},[267,2156,292],{"class":273},[267,2158,508],{"class":273},[267,2160,717],{"class":511},[267,2162,503],{"class":273},[267,2164,517],{"class":273},[267,2166,2167,2169,2171,2173,2175],{"class":269,"line":378},[267,2168,618],{"class":273},[267,2170,728],{"class":650},[267,2172,503],{"class":273},[267,2174,292],{"class":273},[267,2176,2177],{"class":621}," 2048576\n",[267,2179,2180],{"class":269,"line":386},[267,2181,2182],{"class":273},"    },\n",[267,2184,2185,2187,2189,2191,2193],{"class":269,"line":392},[267,2186,605],{"class":273},[267,2188,747],{"class":621},[267,2190,503],{"class":273},[267,2192,292],{"class":273},[267,2194,754],{"class":273},[267,2196,2197],{"class":269,"line":400},[267,2198,470],{"class":273},[267,2200,2201],{"class":269,"line":406},[267,2202,476],{"class":273},[267,2204,2205],{"class":269,"line":412},[267,2206,476],{"class":273},[768,2208,2209,2216,2224],{},[771,2210,2211],{"name":820,"type":773,":required":774},[199,2212,2213,2214,785],{},"The token returned by ",[214,2215,225],{},[771,2217,2218],{"name":524,"type":773,":required":774},[199,2219,2220,2221,2223],{},"Display name for the file in your Content Library. A directly uploaded file carries no filename of its own, so this is the only name the file gets. It is also what you pass as ",[214,2222,524],{}," if you reference the file by name when scheduling.",[771,2225,2226],{"name":544,"type":788},[199,2227,2228],{},"IDs of existing Content Library labels to assign.",[1719,2230,2231],{},[199,2232,2233,2235,2236,2239,2240,2242,2243,2245,2246,2249],{},[214,2234,229],{}," transfers the uploaded file into your Content Library, so the request takes longer for bigger files. Large videos may not finish in time, in which case the request fails with an upload timeout error or an HTTP ",[214,2237,2238],{},"504",". When that happens, wait a few seconds and call ",[214,2241,229],{}," again with the same ",[214,2244,820],{},". Retry until it returns ",[214,2247,2248],{},"success: true"," or a different error. Retrying is safe: if an earlier attempt already added the file to your library, the same media is returned instead of a duplicate.",[2251,2252,2253],"warning",{},[199,2254,2255,2256,2258,2259,2261,2262,2264],{},"An upload token maps to a single file: once completed, calling ",[214,2257,229],{}," with the same token again returns the same media rather than creating a new one. Call ",[214,2260,225],{}," again for the next file. If a completion attempt fails, you can retry it while the upload is still valid (until ",[214,2263,1078],{},").",[239,2266,2268],{"id":2267},"scheduling-a-post-with-the-uploaded-media","Scheduling a Post with the Uploaded Media",[199,2270,2271,2272,2274,2275,2277,2278,2280,2281,2283],{},"Both upload paths return the created ",[214,2273,636],{},", including its ",[214,2276,651],{},". Pass that ",[214,2279,651],{}," in the ",[214,2282,636],{}," list of any scheduling mutation to attach the file to a post:",[247,2285,2286],{},[250,2287,2288,2367,2533],{},[253,2289,2290],{"icon":255,"label":256},[258,2291,2293],{"className":260,"code":2292,"language":262,"meta":263,"style":263},"mutation scheduleTweet($input: ScheduleTweetInput!) {\n  scheduleTweet(input: $input) {\n    success\n    errors {\n      field\n      code\n      message\n    }\n  }\n}\n",[214,2294,2295,2318,2333,2337,2343,2347,2351,2355,2359,2363],{"__ignoreMap":263},[267,2296,2297,2299,2302,2304,2307,2309,2312,2314,2316],{"class":269,"line":270},[267,2298,274],{"class":273},[267,2300,2301],{"class":277}," scheduleTweet",[267,2303,841],{"class":281},[267,2305,2306],{"class":288},"$input",[267,2308,292],{"class":273},[267,2310,2311],{"class":295}," ScheduleTweetInput",[267,2313,862],{"class":273},[267,2315,333],{"class":281},[267,2317,336],{"class":273},[267,2319,2320,2323,2326,2328,2331],{"class":269,"line":285},[267,2321,2322],{"class":281},"  scheduleTweet(",[267,2324,2325],{"class":288},"input",[267,2327,292],{"class":273},[267,2329,2330],{"class":281}," $input) ",[267,2332,336],{"class":273},[267,2334,2335],{"class":269,"line":302},[267,2336,389],{"class":281},[267,2338,2339,2341],{"class":269,"line":313},[267,2340,439],{"class":281},[267,2342,336],{"class":273},[267,2344,2345],{"class":269,"line":330},[267,2346,447],{"class":281},[267,2348,2349],{"class":269,"line":339},[267,2350,453],{"class":281},[267,2352,2353],{"class":269,"line":345},[267,2354,459],{"class":281},[267,2356,2357],{"class":269,"line":356},[267,2358,433],{"class":273},[267,2360,2361],{"class":269,"line":367},[267,2362,470],{"class":273},[267,2364,2365],{"class":269,"line":378},[267,2366,476],{"class":273},[253,2368,2369],{"icon":479,"label":480},[258,2370,2372],{"className":483,"code":2371,"language":485,"meta":263,"style":263},"{\n  \"input\": {\n    \"username\": \"myhandle\",\n    \"postAt\": \"2025-12-01T15:30:00Z\",\n    \"thread\": [\n      {\n        \"text\": \"Our new campaign is live 🚀\",\n        \"order\": 0,\n        \"media\": [{ \"id\": \"1001\" }]\n      }\n    ]\n  }\n}\n",[214,2373,2374,2378,2390,2410,2430,2444,2449,2469,2485,2515,2520,2525,2529],{"__ignoreMap":263},[267,2375,2376],{"class":269,"line":270},[267,2377,336],{"class":273},[267,2379,2380,2382,2384,2386,2388],{"class":269,"line":285},[267,2381,496],{"class":273},[267,2383,2325],{"class":499},[267,2385,503],{"class":273},[267,2387,292],{"class":273},[267,2389,600],{"class":273},[267,2391,2392,2394,2397,2399,2401,2403,2406,2408],{"class":269,"line":302},[267,2393,605],{"class":273},[267,2395,2396],{"class":295},"username",[267,2398,503],{"class":273},[267,2400,292],{"class":273},[267,2402,508],{"class":273},[267,2404,2405],{"class":511},"myhandle",[267,2407,503],{"class":273},[267,2409,517],{"class":273},[267,2411,2412,2414,2417,2419,2421,2423,2426,2428],{"class":269,"line":313},[267,2413,605],{"class":273},[267,2415,2416],{"class":295},"postAt",[267,2418,503],{"class":273},[267,2420,292],{"class":273},[267,2422,508],{"class":273},[267,2424,2425],{"class":511},"2025-12-01T15:30:00Z",[267,2427,503],{"class":273},[267,2429,517],{"class":273},[267,2431,2432,2434,2437,2439,2441],{"class":269,"line":330},[267,2433,605],{"class":273},[267,2435,2436],{"class":295},"thread",[267,2438,503],{"class":273},[267,2440,292],{"class":273},[267,2442,2443],{"class":273}," [\n",[267,2445,2446],{"class":269,"line":339},[267,2447,2448],{"class":273},"      {\n",[267,2450,2451,2453,2456,2458,2460,2462,2465,2467],{"class":269,"line":345},[267,2452,647],{"class":273},[267,2454,2455],{"class":621},"text",[267,2457,503],{"class":273},[267,2459,292],{"class":273},[267,2461,508],{"class":273},[267,2463,2464],{"class":511},"Our new campaign is live 🚀",[267,2466,503],{"class":273},[267,2468,517],{"class":273},[267,2470,2471,2473,2476,2478,2480,2483],{"class":269,"line":356},[267,2472,647],{"class":273},[267,2474,2475],{"class":621},"order",[267,2477,503],{"class":273},[267,2479,292],{"class":273},[267,2481,2482],{"class":621}," 0",[267,2484,517],{"class":273},[267,2486,2487,2489,2491,2493,2495,2498,2500,2502,2504,2506,2508,2510,2512],{"class":269,"line":367},[267,2488,647],{"class":273},[267,2490,636],{"class":621},[267,2492,503],{"class":273},[267,2494,292],{"class":273},[267,2496,2497],{"class":273}," [{",[267,2499,508],{"class":273},[267,2501,651],{"class":650},[267,2503,503],{"class":273},[267,2505,292],{"class":273},[267,2507,508],{"class":273},[267,2509,660],{"class":511},[267,2511,503],{"class":273},[267,2513,2514],{"class":273}," }]\n",[267,2516,2517],{"class":269,"line":378},[267,2518,2519],{"class":273},"      }\n",[267,2521,2522],{"class":269,"line":386},[267,2523,2524],{"class":273},"    ]\n",[267,2526,2527],{"class":269,"line":392},[267,2528,470],{"class":273},[267,2530,2531],{"class":269,"line":400},[267,2532,476],{"class":273},[253,2534,2535],{"icon":576,"label":577},[258,2536,2538],{"className":483,"code":2537,"language":485,"meta":263,"style":263},"{\n  \"data\": {\n    \"scheduleTweet\": {\n      \"success\": true,\n      \"errors\": []\n    }\n  }\n}\n",[214,2539,2540,2544,2556,2569,2581,2593,2597,2601],{"__ignoreMap":263},[267,2541,2542],{"class":269,"line":270},[267,2543,336],{"class":273},[267,2545,2546,2548,2550,2552,2554],{"class":269,"line":285},[267,2547,496],{"class":273},[267,2549,593],{"class":499},[267,2551,503],{"class":273},[267,2553,292],{"class":273},[267,2555,600],{"class":273},[267,2557,2558,2560,2563,2565,2567],{"class":269,"line":302},[267,2559,605],{"class":273},[267,2561,2562],{"class":295},"scheduleTweet",[267,2564,503],{"class":273},[267,2566,292],{"class":273},[267,2568,600],{"class":273},[267,2570,2571,2573,2575,2577,2579],{"class":269,"line":313},[267,2572,618],{"class":273},[267,2574,622],{"class":621},[267,2576,503],{"class":273},[267,2578,292],{"class":273},[267,2580,629],{"class":273},[267,2582,2583,2585,2587,2589,2591],{"class":269,"line":330},[267,2584,618],{"class":273},[267,2586,747],{"class":621},[267,2588,503],{"class":273},[267,2590,292],{"class":273},[267,2592,754],{"class":273},[267,2594,2595],{"class":269,"line":339},[267,2596,433],{"class":273},[267,2598,2599],{"class":269,"line":345},[267,2600,470],{"class":273},[267,2602,2603],{"class":269,"line":356},[267,2604,476],{"class":273},[199,2606,2607,2608,2610],{},"You can also reference the file by the ",[214,2609,524],{}," you gave it when uploading, which is handy when you don't keep track of IDs:",[258,2612,2614],{"className":483,"code":2613,"language":485,"meta":263,"style":263},"{\n  \"media\": [{ \"name\": \"campaign-hero.jpg\" }]\n}\n",[214,2615,2616,2620,2648],{"__ignoreMap":263},[267,2617,2618],{"class":269,"line":270},[267,2619,336],{"class":273},[267,2621,2622,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642,2644,2646],{"class":269,"line":285},[267,2623,496],{"class":273},[267,2625,636],{"class":499},[267,2627,503],{"class":273},[267,2629,292],{"class":273},[267,2631,2497],{"class":273},[267,2633,508],{"class":273},[267,2635,524],{"class":295},[267,2637,503],{"class":273},[267,2639,292],{"class":273},[267,2641,508],{"class":273},[267,2643,533],{"class":511},[267,2645,503],{"class":273},[267,2647,2514],{"class":273},[267,2649,2650],{"class":269,"line":302},[267,2651,476],{"class":273},[199,2653,2654,2655,2657],{},"Names are matched case-insensitively and the first match wins, so prefer ",[214,2656,651],{}," when several files share a name.",[199,2659,2660,2661,2663],{},"Uploaded files stay in your Content Library, so the same ",[214,2662,651],{}," can be attached to as many posts as you like. Uploading is only needed once per file.",[1719,2665,2666],{},[199,2667,2668,2669,2672,2673,785],{},"Uploading is optional. If your file is already at a public URL and you don't need it in your Content Library beforehand, you can always skip these mutations and pass ",[214,2670,2671],{},"{ \"url\": \"https:\u002F\u002Fexample.com\u002Fimages\u002Fhero.jpg\" }"," directly in ",[214,2674,636],{},[199,2676,2677,2678,2683,2684,2686],{},"See ",[2679,2680,2682],"a",{"href":2681},"\u002Fscheduling-posts#attaching-media","Attaching Media"," for the full rules on ",[214,2685,636],{},", including how many files each platform accepts.",[239,2688,28],{"id":2689},"rate-limits",[199,2691,2692,2693,2696,2697,292],{},"Media uploads count against a ",[209,2694,2695],{},"separate, stricter budget"," on top of the ",[2679,2698,2699],{"href":29},"general API rate limit",[2701,2702,2703,2713],"card-group",{},[2704,2705,2707],"card",{"icon":47,"title":2706},"Free Accounts",[199,2708,2709,2712],{},[209,2710,2711],{},"10 uploads"," per hour",[2704,2714,2717],{"icon":2715,"title":2716},"i-lucide-crown","Paid Accounts",[199,2718,2719,2712],{},[209,2720,2721],{},"100 uploads",[199,2723,2724,2725,2727,2728,2730],{},"An upload counts against this budget when it begins, that is, on each ",[214,2726,216],{}," or ",[214,2729,225],{}," call.",[199,2732,2733,2734,2737,2738,2741],{},"When you exceed these limits, the mutation returns ",[214,2735,2736],{},"success: false"," with a ",[214,2739,2740],{},"Media upload rate limit exceeded"," error.",[199,2743,2744],{},"The two budgets are tracked separately, so exhausting your upload budget never blocks your regular API requests. They aren't mutually exclusive, though: like every API call, an upload mutation also counts against the general rate limit.",[239,2746,18],{"id":2747},"error-handling",[199,2749,2750,2751,2753,2754,2756],{},"The mutations return ",[214,2752,2736],{}," with details in ",[214,2755,747],{}," when there's a failure.",[199,2758,2759,2760,2762,2763,2765,2766,785],{},"Always check ",[214,2761,622],{}," and inspect ",[214,2764,747],{}," before using the returned ",[214,2767,636],{},[2769,2770,2771],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":263,"searchDepth":270,"depth":285,"links":2773},[2774,2775,2776,2777,2778],{"id":241,"depth":285,"text":242},{"id":794,"depth":285,"text":795},{"id":2267,"depth":285,"text":2268},{"id":2689,"depth":285,"text":28},{"id":2747,"depth":285,"text":18},"Upload media to your Content Library from a URL or from a local file.","md",null,{},{"icon":88},{"title":85,"description":2779},{"loc":86},"PW-r2a00-XcZ5_itwYwzHaRyw9Clp_pDlDvnJwYPFFo",[2788,2790],{"title":80,"path":81,"stem":82,"description":2789,"icon":83,"children":-1},"Query the next scheduled post date for each connected social account.",{"title":95,"path":91,"stem":92,"description":2791,"icon":96,"children":-1},"Learn how to schedule posts to specific social media platforms using the Postpone API",1784657451984]