[{"data":1,"prerenderedAt":339},["ShallowReactive",2],{"nav-docs":3,"nav-api":60,"api-send":89},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,16,20,24,28,32,36,40,44,48,52,56],{"title":10,"path":6,"stem":11},"Installation","docs\u002Findex",{"title":13,"path":14,"stem":15},"Sending files","\u002Fdocs\u002Fsending-files","docs\u002F02.sending-files",{"title":17,"path":18,"stem":19},"Receiving files","\u002Fdocs\u002Freceiving-files","docs\u002F03.receiving-files",{"title":21,"path":22,"stem":23},"Passwords, galleries and backgrounds","\u002Fdocs\u002Fshare-options","docs\u002F04.share-options",{"title":25,"path":26,"stem":27},"Expiry and deletion","\u002Fdocs\u002Fexpiry","docs\u002F05.expiry",{"title":29,"path":30,"stem":31},"Users","\u002Fdocs\u002Fusers","docs\u002F06.users",{"title":33,"path":34,"stem":35},"Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F07.configuration",{"title":37,"path":38,"stem":39},"Colours and branding","\u002Fdocs\u002Fcolors","docs\u002F08.colors",{"title":41,"path":42,"stem":43},"Docker","\u002Fdocs\u002Fdocker","docs\u002F09.docker",{"title":45,"path":46,"stem":47},"API keys","\u002Fdocs\u002Fapi-keys","docs\u002F10.api-keys",{"title":49,"path":50,"stem":51},"MCP server","\u002Fdocs\u002Fmcp-server","docs\u002F11.mcp-server",{"title":53,"path":54,"stem":55},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F12.troubleshooting",{"title":57,"path":58,"stem":59},"Contributing","\u002Fdocs\u002Fcontributing","docs\u002F13.contributing",[61],{"title":62,"path":63,"stem":64,"children":65},"Api","\u002Fapi","api",[66,69,73,77,81,85],{"title":67,"path":63,"stem":68},"REST API","api\u002Findex",{"title":70,"path":71,"stem":72},"Transfers","\u002Fapi\u002Ftransfers","api\u002F02.transfers",{"title":74,"path":75,"stem":76},"Uploading files","\u002Fapi\u002Fupload","api\u002F03.upload",{"title":78,"path":79,"stem":80},"Sending a transfer","\u002Fapi\u002Fsend","api\u002F04.send",{"title":82,"path":83,"stem":84},"Downloading","\u002Fapi\u002Fdownload","api\u002F05.download",{"title":86,"path":87,"stem":88},"Recipients","\u002Fapi\u002Frecipients","api\u002F06.recipients",{"id":90,"title":78,"body":91,"description":104,"extension":334,"meta":335,"navigation":336,"path":79,"seo":337,"stem":80,"__hash__":338},"api\u002Fapi\u002F04.send.md",{"type":92,"value":93,"toc":328},"minimark",[94,98,115,119,246,251,254,258,270,285,289,296,300,317,324],[95,96,78],"h1",{"id":97},"sending-a-transfer",[99,100,105],"pre",{"className":101,"code":102,"language":103,"meta":104,"style":104},"language-http shiki shiki-themes github-light github-dark","POST \u002Fapi\u002Ftransfers\u002F:id\u002Fsend\n","http","",[106,107,108],"code",{"__ignoreMap":104},[109,110,113],"span",{"class":111,"line":112},"line",1,[109,114,102],{},[116,117,118],"p",{},"Turns a draft into a real transfer: makes the link work, starts the retention\nclock, and notifies everyone involved.",[99,120,124],{"className":121,"code":122,"language":123,"meta":104,"style":104},"language-json shiki shiki-themes github-light github-dark","{\n  \"data\": {\n    \"id\": 12,\n    \"token\": \"3f9a…\",\n    \"status\": \"sent\",\n    \"expiresAt\": \"2026-09-01T10:00:00.000Z\",\n    \"downloadUrl\": \"https:\u002F\u002Ftransfer.example.com\u002Fd\u002F3f9a…\",\n    \"recipientCount\": 2,\n    \"notified\": 2\n  }\n}\n","json",[106,125,126,132,142,157,171,184,197,210,223,234,240],{"__ignoreMap":104},[109,127,128],{"class":111,"line":112},[109,129,131],{"class":130},"sVt8B","{\n",[109,133,135,139],{"class":111,"line":134},2,[109,136,138],{"class":137},"sj4cs","  \"data\"",[109,140,141],{"class":130},": {\n",[109,143,145,148,151,154],{"class":111,"line":144},3,[109,146,147],{"class":137},"    \"id\"",[109,149,150],{"class":130},": ",[109,152,153],{"class":137},"12",[109,155,156],{"class":130},",\n",[109,158,160,163,165,169],{"class":111,"line":159},4,[109,161,162],{"class":137},"    \"token\"",[109,164,150],{"class":130},[109,166,168],{"class":167},"sZZnC","\"3f9a…\"",[109,170,156],{"class":130},[109,172,174,177,179,182],{"class":111,"line":173},5,[109,175,176],{"class":137},"    \"status\"",[109,178,150],{"class":130},[109,180,181],{"class":167},"\"sent\"",[109,183,156],{"class":130},[109,185,187,190,192,195],{"class":111,"line":186},6,[109,188,189],{"class":137},"    \"expiresAt\"",[109,191,150],{"class":130},[109,193,194],{"class":167},"\"2026-09-01T10:00:00.000Z\"",[109,196,156],{"class":130},[109,198,200,203,205,208],{"class":111,"line":199},7,[109,201,202],{"class":137},"    \"downloadUrl\"",[109,204,150],{"class":130},[109,206,207],{"class":167},"\"https:\u002F\u002Ftransfer.example.com\u002Fd\u002F3f9a…\"",[109,209,156],{"class":130},[109,211,213,216,218,221],{"class":111,"line":212},8,[109,214,215],{"class":137},"    \"recipientCount\"",[109,217,150],{"class":130},[109,219,220],{"class":137},"2",[109,222,156],{"class":130},[109,224,226,229,231],{"class":111,"line":225},9,[109,227,228],{"class":137},"    \"notified\"",[109,230,150],{"class":130},[109,232,233],{"class":137},"2\n",[109,235,237],{"class":111,"line":236},10,[109,238,239],{"class":130},"  }\n",[109,241,243],{"class":111,"line":242},11,[109,244,245],{"class":130},"}\n",[247,248,250],"h2",{"id":249},"the-retention-clock-starts-here","The retention clock starts here",[116,252,253],{},"Not at creation. An upload that took an hour should not eat an hour of the\nrecipient's download window, so the expiry is rewritten when the transfer\nactually goes out.",[247,255,257],{"id":256},"mail-is-best-effort","Mail is best-effort",[116,259,260,261,264,265,269],{},"Once the row says ",[106,262,263],{},"sent",", the files are live and downloadable. If an SMTP server\nrefuses a message, that is ",[266,267,268],"strong",{},"reported"," rather than rolled back — undoing a\ncompleted upload because a mail server hiccuped would be the worse failure.",[116,271,272,273,276,277,280,281,284],{},"Compare ",[106,274,275],{},"notified"," against ",[106,278,279],{},"recipientCount",". If it is lower, some recipients did\nnot get their e-mail and you should pass the ",[106,282,283],{},"downloadUrl"," on yourself.",[247,286,288],{"id":287},"idempotent","Idempotent",[116,290,291,292,295],{},"A second call answers ",[106,293,294],{},"409 TRANSFER_ALREADY_SENT"," rather than mailing everyone\ntwice. A double-clicked button, or a retrying script, cannot spam your\nrecipients.",[247,297,299],{"id":298},"requirements","Requirements",[301,302,303,311],"ul",{},[304,305,306,307,310],"li",{},"The transfer must have at least one file, or ",[106,308,309],{},"400 NO_FILES",".",[304,312,313,314,310],{},"It must be yours, or ",[106,315,316],{},"404",[116,318,319,320,323],{},"A transfer with ",[266,321,322],{},"no recipients"," sends normally: nothing is e-mailed, not even\na receipt, and the response hands you the link to pass on yourself.",[325,326,327],"style",{},"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 .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":104,"searchDepth":134,"depth":134,"links":329},[330,331,332,333],{"id":249,"depth":134,"text":250},{"id":256,"depth":134,"text":257},{"id":287,"depth":134,"text":288},{"id":298,"depth":134,"text":299},"md",{},true,{"title":78,"description":104},"SGCmbEaVSf5o0LQndp-lpSEFrCpH_Wd9f3JrXwDB__I",1790104591923]