{"id":1385,"date":"2024-03-13T11:34:18","date_gmt":"2024-03-13T10:34:18","guid":{"rendered":"https:\/\/contecon.de\/picapportwiki\/?page_id=1385"},"modified":"2024-05-28T15:47:08","modified_gmt":"2024-05-28T13:47:08","slug":"upload","status":"publish","type":"page","link":"https:\/\/contecon.de\/picapportwiki\/upload\/","title":{"rendered":"upload"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1385\" class=\"elementor elementor-1385\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3fdec87 e-flex e-con-boxed e-con e-parent\" data-id=\"3fdec87\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-197bc0c elementor-widget elementor-widget-heading\" data-id=\"197bc0c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.19.0 - 07-02-2024 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">upload<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88916a8 elementor-widget elementor-widget-text-editor\" data-id=\"88916a8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.19.0 - 07-02-2024 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>Upload one or more photos to the server.<\/p><h3 id=\"upload-APIversion\">API version<\/h3><p>1.0<\/p><h3 id=\"upload-Description\">Description<\/h3><p>An upload is done by posting one or more files to the upload URL as content-type <em><strong>multipart\/form-data<\/strong><\/em>.<\/p><p>It is possible to upload multiple files with one request. It is also possible to attach metadata information as a JSON-Object that will be written to the file once it has been uploaded to the server.<\/p><h3 id=\"upload-Prerequisites\">Prerequisites<\/h3><ul><li>Make sure that PicApport is not running in demo-mode (set server.demomode=false)<\/li><li>Make sure the the user you are using for the WebApi context has the permission to upload photos. <br \/>(Test with PicApport if you are not sure)<\/li><li>Make sure that PicApports upload function is configured properly (<em><strong>upload.*<\/strong><\/em> parameter on <a href=\"https:\/\/contecon.de\/picapportwiki\/picapport-server-guide-2\/\">PicApport-Server Guide<\/a>)<\/li><\/ul><h3 id=\"upload-Howitworks\">How it works<\/h3><p>Check the\u00a0<em><strong>uploadPhotos()<\/strong><\/em> function in sourcecode(select view source) of PicApport WebApi-frontend on <a class=\"external-link\" href=\"https:\/\/en.onlinedemo.picapport.de\/picapport-webapitest.html\" rel=\"nofollow\">https:\/\/en.onlinedemo.picapport.de\/picapport-webapitest.html<\/a>.<\/p><div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\"><div class=\"codeContent panelContent pdl\"><div><div id=\"highlighter_524224\" class=\"syntaxhighlighter sh-confluence nogutter js\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"code\"><div class=\"container\" title=\"Hint: double-click to select code\"><div class=\"line number1 index0 alt2\"><code class=\"js keyword\">var<\/code> <code class=\"js plain\">formData = <\/code><code class=\"js keyword\">new<\/code> <code class=\"js plain\">FormData();<\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"js keyword\">var<\/code> <code class=\"js plain\">photos = document.querySelector(<\/code><code class=\"js string\">\"input[type='file'][multiple]\"<\/code><code class=\"js plain\">);<\/code><\/div><div class=\"line number3 index2 alt2\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'metadata'<\/code><code class=\"js plain\">, JSON.stringify({<\/code><code class=\"js string\">\"title\"<\/code><code class=\"js plain\">: <\/code><code class=\"js string\">\"Optional title\"<\/code><code class=\"js plain\">,<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js string\">\"description\"<\/code><code class=\"js plain\">: <\/code><code class=\"js string\">\"Optional description\"<\/code><code class=\"js plain\">,<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js string\">\"rating\"<\/code><code class=\"js plain\">: 5,<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js string\">\"tags\"<\/code><code class=\"js plain\">: [<\/code><code class=\"js string\">\"tag1\"<\/code><code class=\"js plain\">, <\/code><code class=\"js string\">\"tag2\"<\/code><code class=\"js plain\">],\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js string\">\"persons\"<\/code><code class=\"js plain\">: [<\/code><code class=\"js string\">\"person 1\"<\/code><code class=\"js plain\">, <\/code><code class=\"js string\">\"person 2\"<\/code><code class=\"js plain\">],<\/code><\/div><div class=\"line number8 index7 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">}));<\/code><\/div><div class=\"line number9 index8 alt2\"><code class=\"js keyword\">for<\/code> <code class=\"js plain\">(<\/code><code class=\"js keyword\">var<\/code> <code class=\"js plain\">i = 0; i &lt; photos.files.length; i++) {<\/code><\/div><div class=\"line number10 index9 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'photos'<\/code><code class=\"js plain\">, photos.files[i]);<\/code><\/div><div class=\"line number11 index10 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">}<\/code><\/div><div class=\"line number12 index11 alt1\"><code class=\"js plain\">fetch(createUrl(<\/code><code class=\"js string\">\"upload\"<\/code><code class=\"js plain\">, [<\/code><code class=\"js string\">\"apisid\"<\/code><code class=\"js plain\">]), {<\/code><\/div><div class=\"line number13 index12 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">method: <\/code><code class=\"js string\">'POST'<\/code><code class=\"js plain\">,<\/code><\/div><div class=\"line number14 index13 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">body: formData<\/code><\/div><div class=\"line number15 index14 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">})<\/code><\/div><div class=\"line number16 index15 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">.then(response =&gt; response.json())<\/code><\/div><div class=\"line number17 index16 alt2\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">.then(json =&gt; console.log(<\/code><code class=\"js string\">\"Upload result: \"<\/code><code class=\"js plain\">, json))<\/code><\/div><div class=\"line number18 index17 alt1\"><code class=\"js spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"js plain\">.<\/code><code class=\"js keyword\">catch<\/code><code class=\"js plain\">(error =&gt; console.log(<\/code><code class=\"js string\">\"UploadError: \"<\/code> <code class=\"js plain\">+ error)); <\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><\/div><p>Metadata is applied to all photos until they are changed. So the following is possible:<\/p><div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\"><div class=\"codeContent panelContent pdl\"><div><div id=\"highlighter_987425\" class=\"syntaxhighlighter sh-confluence nogutter js\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"code\"><div class=\"container\" title=\"Hint: double-click to select code\"><div class=\"line number1 index0 alt2\"><code class=\"js keyword\">var<\/code> <code class=\"js plain\">formData = <\/code><code class=\"js keyword\">new<\/code> <code class=\"js plain\">FormData();<\/code><\/div><div class=\"line number2 index1 alt1\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'metadata'<\/code><code class=\"js plain\">, JSON.stringify(metadata1<\/code><\/div><div class=\"line number3 index2 alt2\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'photos'<\/code><code class=\"js plain\">, photoFile1....<\/code><\/div><div class=\"line number4 index3 alt1\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'metadata'<\/code><code class=\"js plain\">, JSON.stringify(metadata2<\/code><\/div><div class=\"line number5 index4 alt2\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'photos'<\/code><code class=\"js plain\">, photoFile2....<\/code><\/div><div class=\"line number6 index5 alt1\"><code class=\"js plain\">formData.append(<\/code><code class=\"js string\">'photos'<\/code><code class=\"js plain\">, photoFile3....<\/code><\/div><div class=\"line number7 index6 alt2\"><code class=\"js plain\">POST formdata using fetch.....<\/code><\/div><\/div><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><\/div><p>In the example above photoFile1 gets metadata1 and photoFile2+photoFile3 get metadata2<\/p><p><em><strong>Version Note<\/strong><\/em>: Since version 8.3 it is also possible to have e unique <strong><em>photoID<\/em> <\/strong>field in the metadata-JSON of the request.<\/p><p><em><strong>Version Note<\/strong><\/em>: Since version\u00a09.1.04 it is also possible to have e unique <em><strong>doSyncCheck<\/strong><\/em> field in the metadata-JSON of the request.<\/p><ul><li><em><strong>doSyncCheck<\/strong><\/em>\u00a0 optional Parameter. (default = true)<br \/>If set to false, the check if the photo has already been transferred is omitted.<br \/><em><strong>Important: <\/strong><\/em>Regardless of the setting of this parameter the photo will still not be accepted if a photo with this ID exists in the database.<\/li><\/ul><h3 id=\"upload-Parameter\">Parameter<\/h3><div class=\"table-wrap\"><table class=\"wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders\" role=\"grid\"><colgroup> <col \/> <col \/> <col \/> <col \/> <col \/><\/colgroup><thead class=\"tableFloatingHeaderOriginal\"><\/thead><\/table><\/div><div class=\"table-wrap\"><table class=\"wrapped confluenceTable tablesorter tablesorter-default stickyTableHeaders\" role=\"grid\"><tbody aria-live=\"polite\" aria-relevant=\"all\"><tr role=\"row\"><td class=\"confluenceTd\">apisid<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\">yes<\/td><td class=\"confluenceTd\"><p><em>\u00a0<\/em><span class=\"conf-macro output-inline\" data-hasbody=\"false\" data-macro-name=\"excerpt-include\">Based on the setting of <em><strong>webapi.default.uid<\/strong><\/em> in picapport.properties you may provide one of the following values<\/span><\/p><ul><li>Session-ID returned from <em><em>createWebApiSession<\/em><\/em><p>\u00a0<\/p><\/li><li>If you do not provide <em><strong>apisid<\/strong> <\/em>and configuration parameter <em><strong>webapi.default.uid<\/strong><\/em> is set to a valid userid (with same password)<br \/>a WebApi-Session will be created implicitly for the defined user.<\/li><li>If an existing userID is provided (with password set to same value as userID ) a WebApi-Session will be created implicitly<br \/>for the defined userID.<\/li><\/ul><\/td><\/tr><\/tbody><\/table><\/div><h3 id=\"upload-Result\">Result<\/h3><div class=\"table-wrap\"><table class=\"wrapped confluenceTable\"><colgroup> <col \/> <col \/><\/colgroup><tbody><tr><th class=\"confluenceTh\">mime type<\/th><td class=\"confluenceTd\">application\/json<\/td><\/tr><tr><th class=\"confluenceTh\">content<\/th><td class=\"confluenceTd\">Information about the upload result<\/td><\/tr><tr><th class=\"confluenceTh\" colspan=\"1\">http status codes<\/th><td class=\"confluenceTd\" colspan=\"1\"><ul><li>200 OK<\/li><li>400 Bad Request<\/li><li>403 Forbidden<\/li><li>404 Not Found<\/li><li>500 Internal Server Error<\/li><li>501 Not implemented<\/li><\/ul><\/td><\/tr><\/tbody><\/table><\/div><div class=\"wiki-content\"><p>\u00a0<\/p><h3 id=\"upload-Result:JSON\">Result:JSON<\/h3><div class=\"table-wrap\"><table class=\"wrapped confluenceTable tablesorter tablesorter-default\" role=\"grid\"><colgroup> <col \/> <col \/> <col \/> <col \/><\/colgroup><thead><\/thead><\/table><\/div><\/div><table class=\"wrapped confluenceTable tablesorter tablesorter-default\" role=\"grid\"><tbody aria-live=\"polite\" aria-relevant=\"all\"><tr role=\"row\"><td class=\"confluenceTd\">apisid<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\">Session-ID returned from <em>createWebApiSession<\/em><\/td><\/tr><tr role=\"row\"><td class=\"confluenceTd\" colspan=\"1\">processedFiles<\/td><td class=\"confluenceTd\" colspan=\"1\">array<\/td><td class=\"confluenceTd\" colspan=\"1\">7.4<\/td><td class=\"confluenceTd\" colspan=\"1\"><p>Each array element has the following members<\/p><div class=\"table-wrap\">\u00a0<\/div><\/td><\/tr><\/tbody><\/table><table class=\"wrapped confluenceTable tablesorter tablesorter-default\" role=\"grid\"><tbody aria-live=\"polite\" aria-relevant=\"all\"><tr role=\"row\"><td class=\"confluenceTd\">fileName<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\">The filename used on the PicApport Server<\/td><\/tr><tr role=\"row\"><td class=\"confluenceTd\">contentType<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\">image\/jpeg for .jpg Files<\/td><\/tr><tr role=\"row\"><td class=\"confluenceTd\">sizeInBytes<\/td><td class=\"confluenceTd\">int<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\"><p>The size of the file in bytes<\/p><\/td><\/tr><tr role=\"row\"><td class=\"confluenceTd\">photoID<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\">The unique PicApport photoID created after the upload.<br \/>This ID may be used to access the photo.<\/td><\/tr><tr role=\"row\"><td class=\"confluenceTd\">result<\/td><td class=\"confluenceTd\">string<\/td><td class=\"confluenceTd\">7.4<\/td><td class=\"confluenceTd\"><ul><li>OK<br \/>Photo was uploaded successfully<\/li><li>Server Error: File too big.<br \/>File was too big (see configuration parameter upload.max.filesize.mb)<\/li><li>Server Error: Invalid content type<br \/>currently only <em><strong>image\/jpeg<\/strong><\/em> is supported<\/li><\/ul><\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7365119 e-flex e-con-boxed e-con e-parent\" data-id=\"7365119\" data-element_type=\"container\" data-settings=\"{&quot;content_width&quot;:&quot;boxed&quot;}\" data-core-v316-plus=\"true\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>upload Upload one or more photos to the server. API version 1.0 Description An upload is done by posting one or more files to the upload URL as content-type multipart\/form-data. It is possible to upload multiple files with one request. It is also possible to attach metadata information as a JSON-Object that will be written [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1385","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/pages\/1385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/comments?post=1385"}],"version-history":[{"count":7,"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/pages\/1385\/revisions"}],"predecessor-version":[{"id":2416,"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/pages\/1385\/revisions\/2416"}],"wp:attachment":[{"href":"https:\/\/contecon.de\/picapportwiki\/wp-json\/wp\/v2\/media?parent=1385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}