Shortcuts¶
A shortcut is a file in the VFS with a .url
extension. It is served with the
application/internet-shortcut
mime-type. The stack provides a few routes to
help manipulate them.
POST /shortcuts¶
This route can be used to create a shortcut. You can create a shortcut using
the POST /files/:dir-id
route, but the content must respect the .url
file
format. This route offers an easier way to do that.
Note: a permission to create a file is required to use this route.
Request¶
POST /shortcuts HTTP/1.1 Host: alice.cozy.example Content-Type: application/vnd.api+json
{ "data": { "type": "io.cozy.files.shortcuts", "attributes": { "name": "sunset.jpg.url", "dir_id": "629fb233be550a21174ac8e19f003e4a", "url": "https://alice-photos.cozy.example/#/photos/629fb233be550a21174ac8e19f0043af", "metadata": { "target": { "cozyMetadata": { "instance": "https://alice.cozy.example/" }, "app": "photos", "_type": "io.cozy.files", "mime": "image/jpg" } } } } }
Response¶
HTTP/1.1 201 Created Content-Type: application/vnd.api+json
{ "_id": "629fb233be550a21174ac8e19f0043af", "_rev": "1-61c7804bdb4f9f8dae5a363cb9a30dd8", "type": "file", "name": "sunset.jpg.url", "dir_id": "629fb233be550a21174ac8e19f003e4a", "trashed": false, "md5sum": "vfEMDpJShs8QeIlsDmw9VA==", "created_at": "2020-02-10T20:38:04Z", "updated_at": "2020-02-10T20:38:04Z", "tags": [], "metadata": { "target": { "cozyMetadata": { "instance": "https://alice.cozy.example/" }, "app": "photos", "_type": "io.cozy.files", "mime": "image/jpg" } }, "size": 62, "executable": false, "class": "shortcut", "mime": "application/shortcut", "cozyMetadata": { "doctypeVersion": 1, "metadataVersion": 1, "createdAt": "2020-02-10T20:38:04Z", "createdOn": "https://bob.cozy.example/", "updatedAt": "2020-02-10T20:38:04Z", "uploadedAt": "2020-02-10T20:38:04Z", "uploadedOn": "https://bob.cozy.example/" } }
GET /shortcuts/:id¶
This route can be used to get information about a shortcut. A permission to
read the file is required to use it. There are two variants, depending on the
Accept
header.
Request (JSON variant)¶
If the Accept
header is application/vnd.api+json
(or application/json
),
the information are returned in JSON-API format.
GET /shortcuts/629fb233be550a21174ac8e19f0043af HTTP/1.1 Host: alice.cozy.example Accept: application/vnd.api+json
Response (JSON variant)¶
HTTP/1.1 200 OK Content-Type: application/vnd.api+json
{ "data": { "id": "629fb233be550a21174ac8e19f0043af", "type": "io.cozy.files.shortcuts", "attributes": { "name": "sunset.jpg.url", "dir_id": "629fb233be550a21174ac8e19f003e4a", "url": "https://alice-photos.cozy.example/#/photos/629fb233be550a21174ac8e19f0043af", "metadata": { "target": { "cozyMetadata": { "instance": "https://alice.cozy.example/" }, "app": "photos", "_type": "io.cozy.files", "mime": "image/jpg" } } } } }
Request (Redirection variant)¶
GET /shortcuts/629fb233be550a21174ac8e19f0043af HTTP/1.1 Host: alice.cozy.example Accept: text/html
Response (Redirection variant)¶
HTTP/1.1 303 See Other Location: https://alice-photos.cozy.example/#/photos/629fb233be550a21174ac8e19f0043af