[{"data":1,"prerenderedAt":607},["ShallowReactive",2],{"navigation_docs":3,"-ramble-api":92,"-ramble-api-surround":602},[4,10,24,41,60,69,79],{"title":5,"path":6,"stem":7,"children":8},"Introduction","/introduction","0.introduction/index",[9],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13,"children":14,"page":23},"Installation","/installation","1.installation",[15,19],{"title":16,"path":17,"stem":18},"Docker","/installation/docker","1.installation/1.docker",{"title":20,"path":21,"stem":22},"From source","/installation/manual","1.installation/2.manual",false,{"title":25,"path":26,"stem":27,"children":28,"page":23},"Features","/features","2.features",[29,33,37],{"title":30,"path":31,"stem":32},"Templates","/features/templates","2.features/1.templates",{"title":34,"path":35,"stem":36},"Assistant","/features/assistant","2.features/2.assistant",{"title":38,"path":39,"stem":40},"Profiles","/features/profiles","2.features/4.profiles",{"title":42,"path":43,"stem":44,"children":45},"Ramble","/ramble","3.ramble",[46,48,52,56],{"title":42,"path":43,"stem":47},"3.ramble/index",{"title":49,"path":50,"stem":51},"Install and configure","/ramble/configuration","3.ramble/1.configuration",{"title":53,"path":54,"stem":55},"Ramble API","/ramble/api","3.ramble/2.api",{"title":57,"path":58,"stem":59},"iOS Shortcuts","/ramble/ios","3.ramble/3.ios",{"title":61,"path":62,"stem":63,"children":64,"page":23},"Guide","/guide","4.guide",[65],{"title":66,"path":67,"stem":68},"App usage","/guide/usage","4.guide/1.usage",{"title":70,"path":71,"stem":72,"children":73},"Contributing","/contribute","5.contribute/1.index",[74,75],{"title":70,"path":71,"stem":72},{"title":76,"path":77,"stem":78},"Localization","/contribute/localization","5.contribute/2.localization",{"title":80,"path":81,"stem":82,"children":83,"page":23},"About","/about","6.about",[84,88],{"title":85,"path":86,"stem":87},"Architecture","/about/architecture","6.about/0.architecture",{"title":89,"path":90,"stem":91},"Attribution","/about/attribution","6.about/1.attribution",{"id":93,"title":53,"body":94,"description":595,"extension":596,"links":597,"meta":598,"navigation":599,"path":54,"seo":600,"stem":55,"__hash__":601},"docs/3.ramble/2.api.md",{"type":95,"value":96,"toc":588},"minimark",[97,101,125,132,135,140,149,152,236,243,279,283,290,297,369,433,470,475,484,488,491,576,584],[98,99,100],"p",{},"The Ramble API lets another app save a message in Pico. It is useful when you want to capture a transaction immediately and review it later.",[102,103,108],"pre",{"className":104,"code":105,"language":106,"meta":107,"style":107},"language-http shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST {PICO_URL}/api/assistant/rambles\nAuthorization: Bearer \u003CFIREFLY_PERSONAL_ACCESS_TOKEN>\n","http","",[109,110,111,119],"code",{"__ignoreMap":107},[112,113,116],"span",{"class":114,"line":115},"line",1,[112,117,118],{},"POST {PICO_URL}/api/assistant/rambles\n",[112,120,122],{"class":114,"line":121},2,[112,123,124],{},"Authorization: Bearer \u003CFIREFLY_PERSONAL_ACCESS_TOKEN>\n",[98,126,127,128,131],{},"Use the URL of your Pico instance for ",[109,129,130],{},"{PICO_URL}",". Authentication uses your Firefly III personal access token, just like Pico itself.",[98,133,134],{},"The endpoint has two main modes.",[136,137,139],"h2",{"id":138},"mode-1-text","Mode 1: text",[98,141,142,143,148],{},"Use text mode when the client already has typed or dictated text. It only requires the Ramble language model to be ",[144,145,147],"a",{"href":146},"/ramble/configuration#_1-configure-transaction-interpretation","configured",".",[98,150,151],{},"Send a plain-text body:",[102,153,157],{"className":154,"code":155,"language":156,"meta":107,"style":107},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl --request POST \\\n  --url \"{PICO_URL}/api/assistant/rambles\" \\\n  --header \"Authorization: Bearer {FIREFLY_TOKEN}\" \\\n  --header \"Content-Type: text/plain\" \\\n  --data \"Coffee this morning 4.50\"\n","bash",[109,158,159,176,193,208,222],{"__ignoreMap":107},[112,160,161,165,169,172],{"class":114,"line":115},[112,162,164],{"class":163},"sBMFI","curl",[112,166,168],{"class":167},"sfazB"," --request",[112,170,171],{"class":167}," POST",[112,173,175],{"class":174},"sTEyZ"," \\\n",[112,177,178,181,185,188,191],{"class":114,"line":121},[112,179,180],{"class":167},"  --url",[112,182,184],{"class":183},"sMK4o"," \"",[112,186,187],{"class":167},"{PICO_URL}/api/assistant/rambles",[112,189,190],{"class":183},"\"",[112,192,175],{"class":174},[112,194,196,199,201,204,206],{"class":114,"line":195},3,[112,197,198],{"class":167},"  --header",[112,200,184],{"class":183},[112,202,203],{"class":167},"Authorization: Bearer {FIREFLY_TOKEN}",[112,205,190],{"class":183},[112,207,175],{"class":174},[112,209,211,213,215,218,220],{"class":114,"line":210},4,[112,212,198],{"class":167},[112,214,184],{"class":183},[112,216,217],{"class":167},"Content-Type: text/plain",[112,219,190],{"class":183},[112,221,175],{"class":174},[112,223,225,228,230,233],{"class":114,"line":224},5,[112,226,227],{"class":167},"  --data",[112,229,184],{"class":183},[112,231,232],{"class":167},"Coffee this morning 4.50",[112,234,235],{"class":183},"\"\n",[98,237,238,239,242],{},"You can also send ",[109,240,241],{},"text"," as a JSON or form field:",[102,244,248],{"className":245,"code":246,"language":247,"meta":107,"style":107},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"text\": \"Coffee this morning 4.50\"\n}\n","json",[109,249,250,255,274],{"__ignoreMap":107},[112,251,252],{"class":114,"line":115},[112,253,254],{"class":183},"{\n",[112,256,257,260,263,265,268,270,272],{"class":114,"line":121},[112,258,259],{"class":183},"  \"",[112,261,241],{"class":262},"spNyl",[112,264,190],{"class":183},[112,266,267],{"class":183},":",[112,269,184],{"class":183},[112,271,232],{"class":167},[112,273,235],{"class":183},[112,275,276],{"class":114,"line":195},[112,277,278],{"class":183},"}\n",[136,280,282],{"id":281},"mode-2-audio","Mode 2: audio",[98,284,285,286,148],{},"Use audio mode to upload the recording itself. Pico stores it and uses the server-side transcription service before interpretation. ",[144,287,289],{"href":288},"/ramble/configuration#_2-configure-audio-transcription-optional","Audio transcription must be configured",[98,291,292,293,296],{},"Send a ",[109,294,295],{},"multipart/form-data"," request with:",[298,299,300,316],"table",{},[301,302,303],"thead",{},[304,305,306,310,313],"tr",{},[307,308,309],"th",{},"Field",[307,311,312],{},"Required",[307,314,315],{},"Description",[317,318,319,333,358],"tbody",{},[304,320,321,327,330],{},[322,323,324],"td",{},[109,325,326],{},"voice",[322,328,329],{},"Yes",[322,331,332],{},"Audio file, up to 25 MB.",[304,334,335,340,343],{},[322,336,337],{},[109,338,339],{},"language",[322,341,342],{},"No",[322,344,345,346,349,350,353,354,357],{},"Language hint such as ",[109,347,348],{},"en",", ",[109,351,352],{},"de",", or ",[109,355,356],{},"ro",". It overrides the server default for this recording.",[304,359,360,364,366],{},[322,361,362],{},[109,363,241],{},[322,365,342],{},[322,367,368],{},"Extra text to keep alongside the transcription.",[102,370,372],{"className":154,"code":371,"language":156,"meta":107,"style":107},"curl --request POST \\\n  --url \"{PICO_URL}/api/assistant/rambles\" \\\n  --header \"Authorization: Bearer {FIREFLY_TOKEN}\" \\\n  --form \"voice=@recording.m4a\" \\\n  --form \"language=en\"\n",[109,373,374,384,396,408,422],{"__ignoreMap":107},[112,375,376,378,380,382],{"class":114,"line":115},[112,377,164],{"class":163},[112,379,168],{"class":167},[112,381,171],{"class":167},[112,383,175],{"class":174},[112,385,386,388,390,392,394],{"class":114,"line":121},[112,387,180],{"class":167},[112,389,184],{"class":183},[112,391,187],{"class":167},[112,393,190],{"class":183},[112,395,175],{"class":174},[112,397,398,400,402,404,406],{"class":114,"line":195},[112,399,198],{"class":167},[112,401,184],{"class":183},[112,403,203],{"class":167},[112,405,190],{"class":183},[112,407,175],{"class":174},[112,409,410,413,415,418,420],{"class":114,"line":210},[112,411,412],{"class":167},"  --form",[112,414,184],{"class":183},[112,416,417],{"class":167},"voice=@recording.m4a",[112,419,190],{"class":183},[112,421,175],{"class":174},[112,423,424,426,428,431],{"class":114,"line":224},[112,425,412],{"class":167},[112,427,184],{"class":183},[112,429,430],{"class":167},"language=en",[112,432,235],{"class":183},[98,434,435,436,349,439,349,442,349,445,349,448,349,451,349,454,349,457,349,460,349,463,466,467,148],{},"Accepted file extensions are ",[109,437,438],{},"mp3",[109,440,441],{},"mpga",[109,443,444],{},"wav",[109,446,447],{},"m4a",[109,449,450],{},"mp4",[109,452,453],{},"aac",[109,455,456],{},"ogg",[109,458,459],{},"oga",[109,461,462],{},"opus",[109,464,465],{},"webm",", and ",[109,468,469],{},"flac",[471,472,474],"h3",{"id":473},"sending-text-and-audio-together","Sending text and audio together",[98,476,477,478,480,481,483],{},"A multipart request may include both ",[109,479,241],{}," and ",[109,482,326],{},". Pico keeps the supplied text and appends the audio transcription to it.",[136,485,487],{"id":486},"response","Response",[98,489,490],{},"A successful request returns the saved ramble:",[102,492,494],{"className":245,"code":493,"language":247,"meta":107,"style":107},"{\n  \"data\": {\n    \"id\": 42,\n    \"text\": \"Coffee this morning 4.50\",\n    \"has_voice\": false\n  }\n}\n",[109,495,496,500,514,533,551,565,571],{"__ignoreMap":107},[112,497,498],{"class":114,"line":115},[112,499,254],{"class":183},[112,501,502,504,507,509,511],{"class":114,"line":121},[112,503,259],{"class":183},[112,505,506],{"class":262},"data",[112,508,190],{"class":183},[112,510,267],{"class":183},[112,512,513],{"class":183}," {\n",[112,515,516,519,522,524,526,530],{"class":114,"line":195},[112,517,518],{"class":183},"    \"",[112,520,521],{"class":163},"id",[112,523,190],{"class":183},[112,525,267],{"class":183},[112,527,529],{"class":528},"sbssI"," 42",[112,531,532],{"class":183},",\n",[112,534,535,537,539,541,543,545,547,549],{"class":114,"line":210},[112,536,518],{"class":183},[112,538,241],{"class":163},[112,540,190],{"class":183},[112,542,267],{"class":183},[112,544,184],{"class":183},[112,546,232],{"class":167},[112,548,190],{"class":183},[112,550,532],{"class":183},[112,552,553,555,558,560,562],{"class":114,"line":224},[112,554,518],{"class":183},[112,556,557],{"class":163},"has_voice",[112,559,190],{"class":183},[112,561,267],{"class":183},[112,563,564],{"class":183}," false\n",[112,566,568],{"class":114,"line":567},6,[112,569,570],{"class":183},"  }\n",[112,572,574],{"class":114,"line":573},7,[112,575,278],{"class":183},[98,577,578,579,583],{},"The endpoint saves a ramble; it does not immediately create or interpret a transaction. Open Ramble in Pico, select ",[580,581,582],"strong",{},"Load saved",", then review and create the resulting drafts.",[585,586,587],"style",{},"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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":107,"searchDepth":121,"depth":121,"links":589},[590,591,594],{"id":138,"depth":121,"text":139},{"id":281,"depth":121,"text":282,"children":592},[593],{"id":473,"depth":195,"text":474},{"id":486,"depth":121,"text":487},"Save text or audio rambles from automations and other devices.","md",null,{},true,{"title":53,"description":595},"zxZ2emrQsT7k_MEjHVDUnxYipVHUd0fuQgtkkj7blwE",[603,605],{"title":49,"path":50,"stem":51,"description":604,"children":-1},"Enable Ramble and optionally add server-side audio transcription.",{"title":57,"path":58,"stem":59,"description":606,"children":-1},"Capture a ramble from an iPhone or Apple Watch and review it later in Pico.",1785488524533]