{ "openapi": "3.0.1", "info": { "title": "wanderer", "description": "", "version": "1.0.0" }, "tags": [ { "name": "auth" }, { "name": "category" }, { "name": "comment" }, { "name": "follow" }, { "name": "trail-share" }, { "name": "user" }, { "name": "waypoint" }, { "name": "list" }, { "name": "list-share" }, { "name": "notification" }, { "name": "summit-log" }, { "name": "trail" } ], "paths": { "/activitypub/activity/{id}": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "example": "", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "id": { "type": "string" }, "actor": { "type": "string" }, "type": { "type": "string" }, "to": { "type": "array", "items": { "type": "string" } }, "cc": { "type": "string" }, "published": { "type": "string" }, "object": { "type": "object", "properties": {}, "description": "ActivityPub object" } }, "required": [ "id", "actor", "to", "cc", "published", "object", "type" ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/comment/{id}": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "type": { "type": "string" }, "content": { "type": "string" }, "attributedTo": { "type": "string" }, "inReplyTo": { "type": "string" }, "published": { "type": "string" } }, "required": [ "@context", "id", "type", "content", "attributedTo", "inReplyTo", "published" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "id": "https://demo.wanderer.to/api/v1/comment/32wf88038cb800i", "type": "Note", "content": "

@flomp@social.tchncs.de

Ja, echt toll!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/trail/23fd1747a29c3af", "published": "2025-06-18T18:48:15Z" } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/trail/{id}": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "id", "in": "path", "description": "", "required": true, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "type": { "type": "string" }, "name": { "type": "string" }, "content": { "type": "string" }, "attachment": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "mediaType": { "type": "string" }, "url": { "type": "string" } }, "required": [ "type", "mediaType", "url" ] } }, "attributedTo": { "type": "string" }, "location": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "latitude": { "type": "number" }, "longitude": { "type": "number" } }, "required": [ "type", "name", "latitude", "longitude" ] }, "tag": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "content": { "type": "string" } }, "required": [ "type", "name", "content" ] } }, "url": { "type": "string" }, "published": { "type": "string" }, "startTime": { "type": "string" } }, "required": [ "@context", "id", "type", "name", "content", "attachment", "attributedTo", "location", "tag", "url", "published", "startTime" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "id": "https://demo.wanderer.to/api/v1/trail/2ce3af7a2e80f52", "type": "Note", "name": "12 days in the Zugspitz region on the peak hiking trail", "content": "

12 days in the Zugspitz region on the peak hiking trail

https://demo.wanderer.to/trail/view/@demo/2ce3af7a2e80f52

", "attachment": [ { "type": "Image", "mediaType": "image/jpeg", "url": "https://demo.wanderer.to/api/v1/files/trails/2ce3af7a2e80f52/route_ldv172t0my.webp" }, { "type": "Document", "mediaType": "application/xml+gpx", "url": "https://demo.wanderer.to/api/v1/files/trails/2ce3af7a2e80f52/12_days_in_the_zugspitz_region_on_the_peak_hiking_trail_5ts04zgsuk.gpx" } ], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "location": { "type": "Place", "name": "Murnau am Staffelsee, Bayern, Deutschland", "latitude": 47.678592, "longitude": 11.196068 }, "tag": [ { "type": "Note", "name": "category", "content": "Biking" }, { "type": "Note", "name": "difficulty", "content": "easy" }, { "type": "Note", "name": "elevation_gain", "content": "8902.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "8906.000000m" }, { "type": "Note", "name": "distance", "content": "202403.824936m" }, { "type": "Note", "name": "duration", "content": "4037.183333m" } ], "url": "https://demo.wanderer.to/trail/view/@demo/2ce3af7a2e80f52", "published": "2025-06-17T21:40:02Z", "startTime": "2025-06-14T00:00:00Z" } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/user/{handle}/followers": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "handle", "in": "path", "description": "", "required": true, "example": "@user@domain", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string" }, "first": { "type": "string" }, "partOf": { "type": "string" }, "totalItems": { "type": "integer" }, "orderedItems": { "type": "array", "items": { "type": "string" } } }, "required": [ "@context", "type", "first", "partOf", "totalItems", "orderedItems" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "type": "OrderedCollectionPage", "first": "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers?page=1", "partOf": "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers", "totalItems": 3, "orderedItems": [ "https://social.tchncs.de/users/flomp", "https://trails.magdeburg.jetzt/api/v1/activitypub/user/momar", "https://darmstadt.social/users/stormii" ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/user/{handle}/outbox": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "handle", "in": "path", "description": "", "required": true, "example": "@user@domain", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string" }, "first": { "type": "string" }, "next": { "type": "string" }, "partOf": { "type": "string" }, "totalItems": { "type": "integer" }, "orderedItems": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "actor": { "type": "string" }, "type": { "type": "string" }, "to": { "type": "array", "items": { "type": "string" } }, "cc": { "type": "array", "items": { "type": "string" } }, "published": { "type": "string" }, "object": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "content": { "type": "string" }, "attachment": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "mediaType": { "type": "string" }, "url": { "type": "string" } }, "required": [ "type", "mediaType", "url" ] } }, "attributedTo": { "type": "string" }, "inReplyTo": { "type": "string" }, "tag": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "content": { "type": "string" }, "id": { "type": "string" }, "href": { "type": "string" } }, "required": [ "type", "name", "content", "id", "href" ] } }, "url": { "type": "string" }, "published": { "type": "string" }, "startTime": { "type": "string" }, "name": { "type": "string" }, "location": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "latitude": { "type": "number" }, "longitude": { "type": "number" } }, "required": [ "type", "name", "latitude", "longitude" ] } }, "required": [ "id", "type", "name", "content", "attachment", "attributedTo", "location", "tag", "url", "published", "startTime" ] } }, "required": [ "id", "actor", "type", "to", "cc", "published", "object" ] } } }, "required": [ "@context", "type", "first", "next", "partOf", "totalItems", "orderedItems" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "type": "OrderedCollectionPage", "first": "https://demo.wanderer.to/api/v1/activitypub/user/demo/outbox?page=1", "next": "https://demo.wanderer.to/api/v1/activitypub/user/demo/outbox?page=2", "partOf": "https://demo.wanderer.to/api/v1/activitypub/user/demo/outbox", "totalItems": 21, "orderedItems": [ { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/ypx6zhvsaonmkos", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": "https://www.w3.org/ns/activitystreams#Public", "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers", "https://social.tchncs.de/users/flomp/inbox" ], "published": "2025-06-18 18:50:02.518Z", "object": { "id": "https://demo.wanderer.to/api/v1/summit-log/75md7yw7099j5rh", "type": "Note", "content": "

@flomp@social.tchncs.de

", "attachment": [], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/trail/23fd1747a29c3af", "tag": [ { "type": "Note", "name": "elevation_gain", "content": "0.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "0.000000m" }, { "type": "Note", "name": "distance", "content": "0.000000m" }, { "type": "Note", "name": "duration", "content": "0.000000m" }, { "id": "https://social.tchncs.de/users/flomp", "type": "Mention", "name": "@flomp@social.tchncs.de", "href": "https://social.tchncs.de/users/flomp" } ], "url": "https://demo.wanderer.to/trail/view/@demo/23fd1747a29c3af", "published": "2025-06-18T18:50:02Z", "startTime": "2025-06-18T00:00:00Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/k6h3nxcgcg8ztjt", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://social.tchncs.de/users/flomp/inbox", "https://demo.wanderer.to/api/v1/activitypub/user/demo/inbox" ], "published": "2025-06-18 18:48:15.481Z", "object": { "id": "https://demo.wanderer.to/api/v1/comment/32wf88038cb800i", "type": "Note", "content": "

@flomp@social.tchncs.de

Ja, echt toll!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/trail/23fd1747a29c3af", "tag": [ { "id": "https://social.tchncs.de/users/flomp", "type": "Mention", "name": "@flomp@social.tchncs.de", "href": "https://social.tchncs.de/users/flomp" } ], "published": "2025-06-18T18:48:15Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/ll0f2ectiohy55d", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers", "https://social.tchncs.de/users/flomp/inbox" ], "published": "2025-06-18 18:46:54.717Z", "object": { "id": "https://demo.wanderer.to/api/v1/trail/23fd1747a29c3af", "type": "Note", "name": "Radfernweg Berlin-Usedom", "content": "

Radfernweg Berlin-Usedom

Auf nach Usedom!

@flomp@social.tchncs.de

https://demo.wanderer.to/trail/view/@demo/23fd1747a29c3af

", "attachment": [ { "type": "Image", "mediaType": "image/jpeg", "url": "https://demo.wanderer.to/api/v1/files/trails/23fd1747a29c3af/default_thumbnail_fz982rp32o.webp" }, { "type": "Document", "mediaType": "application/xml+gpx", "url": "https://demo.wanderer.to/api/v1/files/trails/23fd1747a29c3af/radfernweg_berlin_usedom_c1ftlwpxqq.gpx" } ], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "location": { "type": "Place", "name": "Berlin, Deutschland", "latitude": 52.516379, "longitude": 13.402514 }, "tag": [ { "type": "Note", "name": "category", "content": "Biking" }, { "type": "Note", "name": "difficulty", "content": "easy" }, { "type": "Note", "name": "elevation_gain", "content": "1755.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "1795.000000m" }, { "type": "Note", "name": "distance", "content": "340287.513156m" }, { "type": "Note", "name": "duration", "content": "1298.616667m" }, { "id": "https://social.tchncs.de/users/flomp", "type": "Mention", "name": "@flomp@social.tchncs.de", "href": "https://social.tchncs.de/users/flomp" } ], "url": "https://demo.wanderer.to/trail/view/@demo/23fd1747a29c3af", "published": "2025-06-18T18:46:54Z", "startTime": "2020-07-27T00:00:00Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/2ok0a8jk137niua", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://social.tchncs.de/users/flomp/inbox", "https://demo.wanderer.to/api/v1/activitypub/user/demo/inbox" ], "published": "2025-06-18 14:38:11.150Z", "object": { "id": "https://demo.wanderer.to/api/v1/comment/i2xy97z4kmy8wj5", "type": "Note", "content": "

@flomp@social.tchncs.de

Genau!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/trail/c7fba19d7f3121e", "published": "2025-06-18T14:38:11Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/um1cjums1ls0vhr", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers" ], "published": "2025-06-18 14:37:03.367Z", "object": { "id": "https://demo.wanderer.to/api/v1/trail/c7fba19d7f3121e", "type": "Note", "name": "Herzogstand", "content": "Schöne Route

https://demo.wanderer.to/trail/view/@demo/c7fba19d7f3121e

", "attachment": [ { "type": "Image", "mediaType": "image/jpeg", "url": "https://demo.wanderer.to/api/v1/files/trails/c7fba19d7f3121e/bard_bunny_fkdoahvxn3.svg" }, { "type": "Document", "mediaType": "application/xml+gpx", "url": "https://demo.wanderer.to/api/v1/files/trails/c7fba19d7f3121e/herzogstand_8itqbamj9j.gpx" } ], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "location": { "type": "Place", "name": "Kochel am See, Bayern, Deutschland", "latitude": 47.62039, "longitude": 11.34908 }, "tag": [ { "type": "Note", "name": "category", "content": "Biking" }, { "type": "Note", "name": "difficulty", "content": "easy" }, { "type": "Note", "name": "elevation_gain", "content": "950.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "950.000000m" }, { "type": "Note", "name": "distance", "content": "14040.219641m" }, { "type": "Note", "name": "duration", "content": "84.333333m" } ], "url": "https://demo.wanderer.to/trail/view/@demo/c7fba19d7f3121e", "published": "2025-06-18T14:37:03Z", "startTime": "2010-01-01T00:00:00Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/zhum5i1znle0u5s", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://social.tchncs.de/users/flomp/inbox", "https://demo.wanderer.to/api/v1/activitypub/user/demo/inbox" ], "published": "2025-06-18 14:32:29.664Z", "object": { "id": "https://demo.wanderer.to/api/v1/comment/9jk7qjtv177hlf2", "type": "Note", "content": "

@flomp@social.tchncs.de

Stimmt!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/activitypub/trail/2ce3af7a2e80f52", "published": "2025-06-18T14:32:29Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/8zcj46423elzpbk", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://social.tchncs.de/users/flomp/inbox", "https://demo.wanderer.to/api/v1/activitypub/user/demo/inbox" ], "published": "2025-06-18 14:05:12.530Z", "object": { "id": "https://demo.wanderer.to/api/v1/comment/lf95x0w2h0s51l3", "type": "Note", "content": "

@flomp@social.tchncs.de

Stimmt, echt lang!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/trail/2ce3af7a2e80f52", "published": "2025-06-18T14:05:12Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/wokmv9tfpu7uvm7", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers" ], "published": "2025-06-18 09:12:01.344Z", "object": { "id": "https://demo.wanderer.to/api/v1/activitypub/trail/a0965dc31384a2b", "type": "Note", "name": "test", "content": "

https://demo.wanderer.to/trail/view/@demo/a0965dc31384a2b

", "attachment": [ { "type": "Image", "mediaType": "image/jpeg", "url": "https://demo.wanderer.to/api/v1/files/trails/a0965dc31384a2b/route_zqddtv52qk.webp" }, { "type": "Document", "mediaType": "application/xml+gpx", "url": "https://demo.wanderer.to/api/v1/files/trails/a0965dc31384a2b/blob_vxtu95acms.gpx" } ], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "location": { "type": "Place", "name": "Prien am Chiemsee, Bavaria, Germany", "latitude": 47.858914, "longitude": 12.364729 }, "tag": [ { "type": "Note", "name": "category", "content": "Biking" }, { "type": "Note", "name": "difficulty", "content": "easy" }, { "type": "Note", "name": "elevation_gain", "content": "259.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "185.000000m" }, { "type": "Note", "name": "distance", "content": "16314.394386m" }, { "type": "Note", "name": "duration", "content": "94.749000m" } ], "url": "https://demo.wanderer.to/trail/view/@demo/a0965dc31384a2b", "published": "2025-06-18T09:12:01Z", "startTime": "2025-06-18T00:00:00Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/fgizij4fvb9s5v6", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo" ], "published": "2025-06-17 21:53:23.738Z", "object": { "id": "https://demo.wanderer.to/api/v1/activitypub/comment/3tn68g135406duj", "type": "Note", "content": "

Ja, ist echt so!

", "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "inReplyTo": "https://demo.wanderer.to/api/v1/activitypub/trail/2ce3af7a2e80f52", "published": "2025-06-17T21:53:23Z" } }, { "id": "https://demo.wanderer.to/api/v1/activitypub/activity/nix8x5h1hvh75bf", "actor": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Create", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers" ], "published": "2025-06-17 21:40:02.336Z", "object": { "id": "https://demo.wanderer.to/api/v1/activitypub/trail/2ce3af7a2e80f52", "type": "Note", "name": "12 days in the Zugspitz region on the peak hiking trail", "content": "

https://demo.wanderer.to/trail/view/@demo/2ce3af7a2e80f52

", "attachment": [ { "type": "Image", "mediaType": "image/jpeg", "url": "https://demo.wanderer.to/api/v1/files/trails/2ce3af7a2e80f52/route_ldv172t0my.webp" }, { "type": "Document", "mediaType": "application/xml+gpx", "url": "https://demo.wanderer.to/api/v1/files/trails/2ce3af7a2e80f52/12_days_in_the_zugspitz_region_on_the_peak_hiking_trail_5ts04zgsuk.gpx" } ], "attributedTo": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "location": { "type": "Place", "name": "Murnau am Staffelsee, Bayern, Deutschland", "latitude": 47.678592, "longitude": 11.196068 }, "tag": [ { "type": "Note", "name": "category", "content": "Biking" }, { "type": "Note", "name": "difficulty", "content": "easy" }, { "type": "Note", "name": "elevation_gain", "content": "8902.000000m" }, { "type": "Note", "name": "elevation_loss", "content": "8906.000000m" }, { "type": "Note", "name": "distance", "content": "202403.824936m" }, { "type": "Note", "name": "duration", "content": "4037.183333m" } ], "url": "https://demo.wanderer.to/trail/view/@demo/2ce3af7a2e80f52", "published": "2025-06-17T21:40:02Z", "startTime": "2025-06-14T00:00:00Z" } } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/user/{handle}/inbox": { "post": { "summary": "show", "deprecated": false, "description": "Expects a valid, signed ActivityPub activity as json input", "tags": [], "parameters": [ { "name": "handle", "in": "path", "description": "", "required": true, "example": "@user@domain", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": {} } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": {} } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/user/{handle}/following": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "handle", "in": "path", "description": "", "required": true, "example": "@user@domain", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "type": { "type": "string" }, "first": { "type": "string" }, "partOf": { "type": "string" }, "totalItems": { "type": "integer" }, "orderedItems": { "type": "array", "items": { "type": "string" } } }, "required": [ "@context", "type", "first", "partOf", "totalItems", "orderedItems" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "type": "OrderedCollectionPage", "first": "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers?page=1", "partOf": "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers", "totalItems": 3, "orderedItems": [ "https://social.tchncs.de/users/flomp", "https://trails.magdeburg.jetzt/api/v1/activitypub/user/momar", "https://darmstadt.social/users/stormii" ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/activitypub/user/{handle}": { "get": { "summary": "show", "deprecated": false, "description": "", "tags": [], "parameters": [ { "name": "handle", "in": "path", "description": "", "required": true, "example": "@user@domain", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/activity+json", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "@context": { "type": "array", "items": { "type": "string" } }, "id": { "type": "string" }, "type": { "type": "string" }, "inbox": { "type": "string" }, "outbox": { "type": "string" }, "summary": { "type": "string" }, "name": { "type": "string" }, "preferredUsername": { "type": "string" }, "followers": { "type": "string" }, "following": { "type": "string" }, "url": { "type": "string" }, "published": { "type": "string" }, "icon": { "type": "object", "properties": { "type": { "type": "string" }, "url": { "type": "string" } }, "required": [ "type", "url" ] }, "publicKey": { "type": "object", "properties": { "id": { "type": "string" }, "owner": { "type": "string" }, "publicKeyPem": { "type": "string" } }, "required": [ "id", "owner", "publicKeyPem" ] } }, "required": [ "@context", "id", "type", "inbox", "outbox", "summary", "name", "preferredUsername", "followers", "following", "url", "published", "icon", "publicKey" ] }, "example": { "@context": [ "https://www.w3.org/ns/activitystreams" ], "id": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "type": "Person", "inbox": "https://demo.wanderer.to/api/v1/activitypub/user/demo/inbox", "outbox": "https://demo.wanderer.to/api/v1/activitypub/user/demo/outbox", "summary": "Born the day we installed the site.", "name": "demo", "preferredUsername": "demo", "followers": "https://demo.wanderer.to/api/v1/activitypub/user/demo/followers", "following": "https://demo.wanderer.to/api/v1/activitypub/user/demo/following", "url": "https://demo.wanderer.to/profile/@demo", "published": "2025-05-05T15:07:59.943Z", "icon": { "type": "Image", "url": "https://demo.wanderer.to/api/v1/files/users/26b1si1344ficl6/wlezq_um7vh2722q.jpg" }, "publicKey": { "id": "https://demo.wanderer.to/api/v1/activitypub/user/demo#main-key", "owner": "https://demo.wanderer.to/api/v1/activitypub/user/demo", "publicKeyPem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw0xyaRWP5X955bwSnUbr\nmwEF/2Fdmn5nlRRmEvej1BR0oBcPMVPYrrK4sz37mrAJ7Wbmg4KjmSDEROD4sApr\nM5FmKeU1OBsV2O3bL1DSW/8PXaf4JQRgl0AO+LiSAd7A/GO0viAzJXyJT4Rpaamf\n8Naclh7YR5E4JXrsjahPEWtUWcQ4g8Yhc6n2ptQ33ACI7Q1R3+U7q1tMaRCKAbdT\nbRahzqGs3iSxV+FjnsMR109KqDQJDMjwRB11USJTA4/nMpV6w8RS+171xNHl12Sg\nGpiuusmXMYYuoECdKDtLY7AsntusYMzXUjPzKfE+5EqPmIj5OTbg3A24p9hWIv5s\nmwIDAQAB\n-----END PUBLIC KEY-----\n" } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/auth/login": { "post": { "summary": "login", "deprecated": false, "description": "Authenticates a registered user. The session is returned in a cookie named `pb_auth`. You need to include this cookie in subsequent requests.", "operationId": "login", "tags": [ "auth" ], "parameters": [ { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "username": { "type": "string", "minLength": 3 }, "password": { "type": "string", "minLength": 8 } }, "required": [ "username", "password" ] }, "example": { "username": "admin", "password": "12345678" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "record": { "type": "object", "properties": { "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "email": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "collectionId", "collectionName", "created", "email", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "token": { "type": "string" } }, "required": [ "record", "token" ] }, "example": { "record": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "email": "notmymail@googlemail.com", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2024-12-30 18:36:39.161Z", "username": "Flomp", "verified": true }, "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJfcGJfdXNlcnNfYXV0aF8iLCJleHAiOjE3MzY4MDEwMjksImlkIjoiM211Z2Y5NTN3NGE5Zmc1IiwidHlwZSI6ImF1dGhSZWNvcmQifQ.LBMx7FuCR4eRC6zG96TDX6BfEKMHBoo-9eQ9LvpU0rg" } } }, "headers": { "set-cookie": { "example": "pb_auth=%7B%22token%22%3A%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb2xsZWN0aW9uSWQiOiJfcGJfdXNlcnNfYXV0aF8iLCJleHAiOjE3MzcxMjY5MjQsImlkIjoiM211Z2Y5NTN3NGE5Zmc1IiwidHlwZSI6ImF1dGhSZWNvcmQifQ.F-gRu-w_oUvt9GqjjGKZe18smdhtMO6oYhB36KJ5odo%22%2C%22model%22%3A%7B%22avatar%22%3A%2223xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg%22%2C%22bio%22%3A%22Enim%20beatae%20labore%20vel.%20Pariatur%20hic%20doloribus%20quia%20quasi%20eos.%20Cumque%20error%20nobis.%22%2C%22collectionId%22%3A%22_pb_users_auth_%22%2C%22collectionName%22%3A%22users%22%2C%22created%22%3A%222024-06-29%2019%3A23%3A47.731Z%22%2C%22email%22%3A%22mymail%40gmail.com%22%2C%22emailVisibility%22%3Afalse%2C%22id%22%3A%223mugf953w4a9fg5%22%2C%22token%22%3A%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA%22%2C%22updated%22%3A%222025-01-03%2012%3A32%3A15.270Z%22%2C%22username%22%3A%22Flomp%22%2C%22verified%22%3Atrue%7D%7D; Path=/; Expires=Fri, 17 Jan 2025 15:15:24 GMT; SameSite=Strict", "required": false, "description": "Contains the authentication cookie", "schema": { "type": "string" } } } }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to authenticate.", "detail": { "code": 400, "message": "Failed to authenticate.", "data": {} } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "undefined", "path": [ "password" ], "message": "Required" } ] } } }, "headers": {} }, "x-400:Invalid JSON": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "example": { "message": "invalid_json" } } }, "headers": {} } }, "security": [] } }, "/category": { "get": { "summary": "list", "deprecated": false, "description": "Lists all categories.", "operationId": "listCategories", "tags": [ "category" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "name=\"abc\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "id", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "img": { "type": "string" }, "name": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "id", "img", "name", "updated" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "example": { "page": 1, "perPage": 5, "totalItems": 6, "totalPages": 2, "items": [ { "collectionId": "kjxvi8asj2igqwf", "collectionName": "categories", "created": "2024-06-29 19:23:12.632Z", "id": "8m2qclsl6p8at9k", "img": "hiking_EwOAWJFKCg.jpg", "name": "Hiking", "updated": "2024-06-29 19:23:12.632Z" }, { "collectionId": "kjxvi8asj2igqwf", "collectionName": "categories", "created": "2024-06-29 19:23:12.648Z", "id": "x5y2ikswxzoznek", "img": "walking_YOtlMqoDps.jpg", "name": "Walking", "updated": "2024-06-29 19:23:12.648Z" }, { "collectionId": "kjxvi8asj2igqwf", "collectionName": "categories", "created": "2024-06-29 19:23:12.658Z", "id": "9ecf7bunl88bt4k", "img": "climbing_vRyCdFwURk.jpg", "name": "Climbing", "updated": "2024-06-29 19:23:12.658Z" }, { "collectionId": "kjxvi8asj2igqwf", "collectionName": "categories", "created": "2024-06-29 19:23:12.669Z", "id": "pbwx1lg2nmcih0w", "img": "skiing_KdUASbxv4C.jpg", "name": "Skiing", "updated": "2024-06-29 19:23:12.669Z" }, { "collectionId": "kjxvi8asj2igqwf", "collectionName": "categories", "created": "2024-06-29 19:23:12.679Z", "id": "7sqwezntokmbvdr", "img": "canoeing_QBmwxRx6uh.jpg", "name": "Canoeing", "updated": "2024-06-29 19:23:12.679Z" } ] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 0, "type": "number", "inclusive": false, "exact": false, "message": "Number must be greater than 0", "path": [ "page" ] } ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] } }, "/comment": { "get": { "summary": "list", "deprecated": false, "description": "Lists all comments.", "operationId": "listComments", "tags": [ "comment" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "text=\"abc\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "trail", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "iri": { "type": "string" }, "text": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "id", "iri", "text", "trail", "updated" ] } }, "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" } }, "required": [ "items", "page", "perPage", "totalItems", "totalPages" ] }, "example": { "items": [ { "author": "8uvv7d6dh667xh1", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-05-27 07:58:10.194Z", "id": "224z7nsu3m35b6k", "iri": "", "text": "https://readerclub.my.id/book.php?isbn=216156650-rewind-it-back", "trail": "072fba5eaee0e2b", "updated": "2025-05-27 07:58:10.194Z" }, { "author": "l1a076cl9w16g9b", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-06-17 21:40:20.796Z", "id": "2wrgay454lu7t08", "iri": "https://social.tchncs.de/users/flomp/statuses/114700872618854877", "text": "

@demo

Ganz schön lang!

", "trail": "2ce3af7a2e80f52", "updated": "2025-06-17 21:40:20.796Z" }, { "author": "pnat0l9g6p3nh2a", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-05-31 14:14:40.077Z", "id": "30h73u05t60ku3u", "iri": "", "text": "Fixe!", "trail": "c0ec3039d47cc48", "updated": "2025-05-31 14:14:40.077Z" }, { "author": "pnat0l9g6p3nh2a", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-06-18 18:48:15.477Z", "id": "32wf88038cb800i", "iri": "", "text": "

@flomp@social.tchncs.de

Ja, echt toll!

", "trail": "23fd1747a29c3af", "updated": "2025-06-18 18:48:15.477Z" }, { "author": "pnat0l9g6p3nh2a", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-05-31 13:01:03.235Z", "id": "5nm8og6umaiipc8", "iri": "", "text": "stuff", "trail": "8beaf58dbf3ce95", "updated": "2025-05-31 13:01:03.235Z" } ], "page": 1, "perPage": 5, "totalItems": 14, "totalPages": 3 } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 0, "type": "number", "inclusive": false, "exact": false, "message": "Number must be greater than 0", "path": [ "page" ] } ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a comment. ", "operationId": "createComment", "tags": [ "comment" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string", "minLength": 15, "maxLength": 15 }, "text": { "type": "string" }, "trail": { "type": "string", "minLength": 15, "maxLength": 15 } }, "required": [ "text", "author", "trail" ] }, "example": { "text": "test", "trail": "3zdz20mt9243f60", "author": "z014o6bpcg680mg" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "trail": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] } }, "required": [ "author", "trail" ] }, "id": { "type": "string" }, "rating": { "type": "integer" }, "text": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "expand", "id", "rating", "text", "trail", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-01-02 20:48:00.278Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2024-12-30 18:36:39.161Z", "username": "Flomp", "verified": true }, "trail": { "author": "3mugf953w4a9fg5", "category": "pbwx1lg2nmcih0w", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-12-30 18:57:35.453Z", "date": "2024-12-30 00:00:00.000Z", "description": "", "difficulty": "moderate", "distance": 5631.307320599051, "duration": 0, "elevation_gain": 76, "elevation_loss": 76, "gpx": "blob_0E0x721wan.gpx", "id": "z94vgei3jdc37k4", "lat": 47.385232, "location": "", "lon": 9.655863, "name": "Die Pottsau", "photos": [ "23xxesym0e9w18z2904frnpgy7_2SQmCCI6DV.jpg", "caret_right_solid_9154Rrvk6B.svg" ], "public": false, "summit_logs": [ "95bb1d77c8dfa98" ], "thumbnail": 1, "updated": "2024-12-30 18:59:56.924Z", "waypoints": [ "7f6d2a8c9d50136", "60c2d435a5b66ed" ] } }, "id": "sv3finqrp3951av", "rating": 0, "text": "API comment", "trail": "z94vgei3jdc37k4", "updated": "2025-01-02 20:48:00.278Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "text" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/comment/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single comment.", "operationId": "showComment", "tags": [ "comment" ], "parameters": [ { "name": "id", "in": "path", "description": "Comment Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "iri": { "type": "string" }, "text": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "id", "iri", "text", "trail", "updated" ] }, "example": { "author": "pnat0l9g6p3nh2a", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-06-18 18:48:15.477Z", "id": "32wf88038cb800i", "iri": "", "text": "

@flomp@social.tchncs.de

Ja, echt toll!

", "trail": "23fd1747a29c3af", "updated": "2025-06-18 18:48:15.477Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a comment.", "operationId": "updateComment", "tags": [ "comment" ], "parameters": [ { "name": "id", "in": "path", "description": "Comment Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "text": { "type": "string" }, "trail": { "type": "string" }, "author": { "type": "string" } }, "required": [ "text", "trail", "author" ] }, "example": "" } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "rating": { "type": "integer" }, "text": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "id", "rating", "text", "trail", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2025-01-02 20:43:00.030Z", "id": "tmof4bjvtw0sqqu", "rating": 0, "text": "API comment updated", "trail": "z94vgei3jdc37k4", "updated": "2025-01-02 21:00:03.866Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a comment.", "operationId": "deleteComment", "tags": [ "comment" ], "parameters": [ { "name": "id", "in": "path", "description": "Comment Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/follow": { "get": { "summary": "list", "deprecated": false, "description": "Lists all follows.", "operationId": "listFollows", "tags": [ "follow" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "follower=\"3mugf953w4a9fg5\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "follower", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } }, { "name": "type", "in": "query", "description": "Return followers or following", "required": true, "schema": { "type": "string", "enum": [ "followers", "following" ] } }, { "name": "handle", "in": "query", "description": "Handle of the actor in question (@user@domain)", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "followee": { "type": "string" }, "follower": { "type": "string" }, "id": { "type": "string" }, "updated": { "type": "string" }, "expand": { "type": "object", "properties": { "follower": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] }, "followee": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "follower", "followee" ] } }, "required": [ "collectionId", "collectionName", "created", "followee", "follower", "id", "updated", "expand" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "example": { "page": 1, "perPage": 5, "totalItems": 1, "totalPages": 1, "items": [ { "collectionId": "8obn1ukumze565i", "collectionName": "follows", "created": "2024-12-20 23:22:18.445Z", "followee": "3mugf953w4a9fg5", "follower": "znhd3hgrxl85c9f", "id": "xajdtx5j8l10wov", "updated": "2024-12-20 23:22:18.445Z", "expand": { "follower": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" }, "followee": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 0, "type": "number", "inclusive": false, "exact": false, "message": "Number must be greater than 0", "path": [ "page" ] } ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a follow.", "operationId": "createFollow", "tags": [ "follow" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "follower": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id of person following" }, "followee": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id of person being followed" } }, "required": [ "follower", "followee" ] }, "example": { "text": "test", "trail": "3zdz20mt9243f60", "author": "z014o6bpcg680mg" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "expand": { "type": "object", "properties": { "follower": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "emailVisibility", "id", "token", "updated", "username", "verified" ] } }, "required": [ "follower" ] }, "followee": { "type": "string" }, "follower": { "type": "string" }, "id": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "expand", "followee", "follower", "id", "updated" ] }, "example": { "collectionId": "8obn1ukumze565i", "collectionName": "follows", "created": "2025-01-02 22:01:46.741Z", "expand": { "follower": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2024-12-30 18:36:39.161Z", "username": "Flomp", "verified": true } }, "followee": "znhd3hgrxl85c9f", "follower": "3mugf953w4a9fg5", "id": "0vfwhxsdvhf2jn5", "updated": "2025-01-02 22:01:46.741Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "followee" ] } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/follow/{id}": { "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a follow.", "operationId": "deleteFollow", "tags": [ "follow" ], "parameters": [ { "name": "id", "in": "path", "description": "Follow Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail-share": { "get": { "summary": "list", "deprecated": false, "description": "Lists all trail-shares.", "operationId": "listTrailShares", "tags": [ "trail-share" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "permission=\"view\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "user", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "trail": { "type": "string" }, "permission": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" }, "expand": { "type": "object", "properties": { "user": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "user" ] } } } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 30, "totalPages": 6, "items": [ { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-11-15 20:00:10.603Z", "id": "027pf52phm4a5vx", "permission": "view", "trail": "l4u85lr0x6jgojd", "updated": "2024-11-15 20:00:10.603Z", "user": "3mugf953w4a9fg5", "expand": { "user": { "avatar": "23xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-09-14 14:36:36.470Z", "id": "0q3pknqtbf5zsmu", "permission": "view", "trail": "2o9c3pxfvrzclud", "updated": "2024-09-14 14:36:36.470Z", "user": "znhd3hgrxl85c9f", "expand": { "user": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-09-14 13:05:39.661Z", "id": "1n7oo2f14d2bwi5", "permission": "view", "trail": "yesm2tqc6jok8jq", "updated": "2024-09-14 13:05:39.661Z", "user": "znhd3hgrxl85c9f", "expand": { "user": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-12-02 17:46:13.399Z", "id": "23mpznfesfbyha1", "permission": "view", "trail": "6558yf0g9knodhv", "updated": "2024-12-02 17:46:13.399Z", "user": "znhd3hgrxl85c9f", "expand": { "user": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-09-14 14:36:36.155Z", "id": "2lhw2wak0i71rmr", "permission": "view", "trail": "oy1auygew9fvha0", "updated": "2024-09-14 14:36:36.155Z", "user": "znhd3hgrxl85c9f", "expand": { "user": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 5, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 21:43:09.964Z", "id": "13ikooi1f6tgjvd", "rating": 0, "text": "Comment", "trail": "267r63tmbyezpck", "updated": "2024-12-20 21:43:09.964Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 20:37:33.558Z", "id": "1rjjl1riy4jrdmm", "rating": 0, "text": "C", "trail": "l4u85lr0x6jgojd", "updated": "2024-12-20 20:37:33.558Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "znhd3hgrxl85c9f", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-19 21:18:30.979Z", "id": "6vcudpc4wgc0cku", "rating": 0, "text": "Zehn Ziegen zogen zehn Zentner Zucker zum Zoo!", "trail": "oual4h0zovut2ph", "updated": "2024-12-19 21:18:30.979Z", "expand": { "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-02 17:43:26.303Z", "id": "p4r2x69bq7iz8ah", "rating": 0, "text": "Geht das?", "trail": "6558yf0g9knodhv", "updated": "2024-12-02 17:43:26.303Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-21 00:37:08.033Z", "id": "vkwrak7tytf9vur", "rating": 0, "text": "Anim minim consequat veniam ad laboris velit magna veniam dolor. Incididunt in non fugiat aliqua. Ullamco sint ipsum cupidatat Lorem deserunt id quis. Irure minim duis pariatur irure commodo non officia cillum et exercitation laborum. Enim nisi ipsum velit nisi. Consectetur et ad enim laboris.\n\nLorem commodo ex deserunt deserunt fugiat et consequat sit ad consequat nulla quis reprehenderit. Commodo sit eu consequat reprehenderit elit labore Lorem pariatur enim do ad irure ex ad. Nisi magna irure est dolore elit laboris commodo consectetur sint aliquip sit. Do exercitation ullamco incididunt culpa eu dolore dolore sint esse laboris elit enim cillum excepteur. Sit veniam veniam ex deserunt Lorem Lorem ut incididunt dolor sint nulla eiusmod magna adipisicing.", "trail": "267r63tmbyezpck", "updated": "2024-12-21 00:37:08.033Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a trail share. ", "operationId": "createTrailShare", "tags": [ "trail-share" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "trail": { "type": "string", "minLength": 15, "maxLength": 15, "description": "Trail Id" }, "user": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id" }, "permission": { "type": "string", "enum": [ "view", "edit" ], "description": "Permissions for user" } }, "required": [ "trail", "user", "permission" ] }, "example": { "trail": "z94vgei3jdc37k4", "user": "z014o6bpcg680mg", "permission": "view" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "expand": { "type": "object", "properties": { "trail": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "emailVisibility", "id", "token", "updated", "username", "verified" ] } }, "required": [ "author" ] }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "expand", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] } }, "required": [ "trail" ] }, "id": { "type": "string" }, "permission": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "expand", "id", "permission", "trail", "updated", "user" ] }, "example": { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2025-01-03 12:41:01.998Z", "expand": { "trail": { "author": "3mugf953w4a9fg5", "category": "pbwx1lg2nmcih0w", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-12-30 18:57:35.453Z", "date": "2024-12-30 00:00:00.000Z", "description": "", "difficulty": "moderate", "distance": 5631.307320599051, "duration": 0, "elevation_gain": 76, "elevation_loss": 76, "expand": { "author": { "avatar": "23xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2025-01-03 12:32:15.270Z", "username": "Flomp", "verified": true } }, "gpx": "blob_0E0x721wan.gpx", "id": "z94vgei3jdc37k4", "lat": 47.385232, "location": "", "lon": 9.655863, "name": "Die Pottsau", "photos": [ "23xxesym0e9w18z2904frnpgy7_2SQmCCI6DV.jpg", "caret_right_solid_9154Rrvk6B.svg" ], "public": false, "summit_logs": [ "95bb1d77c8dfa98" ], "thumbnail": 1, "updated": "2024-12-30 18:59:56.924Z", "waypoints": [ "7f6d2a8c9d50136", "60c2d435a5b66ed" ] } }, "id": "93jrstjcngapleb", "permission": "view", "trail": "z94vgei3jdc37k4", "updated": "2025-01-03 12:41:01.998Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "text" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail-share/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single trail share.", "operationId": "showTrailShare", "tags": [ "trail-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "permission": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "id", "permission", "trail", "updated", "user" ] }, "example": { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2024-12-08 21:48:07.886Z", "id": "98ksbvxgqlp45jl", "permission": "view", "trail": "oual4h0zovut2ph", "updated": "2024-12-08 21:48:07.886Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a trail share.", "operationId": "updateTrailShare", "tags": [ "trail-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "permission": { "type": "string", "enum": [ "view", "edit" ] } } }, "example": { "permission": "view" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "permission": { "type": "string" }, "trail": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "id", "permission", "trail", "updated", "user" ] }, "example": { "collectionId": "1mns8mlal6uf9ku", "collectionName": "trail_share", "created": "2025-01-03 12:41:01.998Z", "id": "93jrstjcngapleb", "permission": "edit", "trail": "z94vgei3jdc37k4", "updated": "2025-01-03 12:42:13.052Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a trail share.", "operationId": "deleteTrailShare", "tags": [ "trail-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/user/anonymous": { "get": { "summary": "list", "deprecated": false, "description": "Lists all anonymized users (email and token are hidden).", "operationId": "listUsersAnonymous", "tags": [ "user" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "username=\"Flomp\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "id", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 2, "totalPages": 1, "items": [ { "avatar": "23xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" }, { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 5, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 21:43:09.964Z", "id": "13ikooi1f6tgjvd", "rating": 0, "text": "Comment", "trail": "267r63tmbyezpck", "updated": "2024-12-20 21:43:09.964Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 20:37:33.558Z", "id": "1rjjl1riy4jrdmm", "rating": 0, "text": "C", "trail": "l4u85lr0x6jgojd", "updated": "2024-12-20 20:37:33.558Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "znhd3hgrxl85c9f", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-19 21:18:30.979Z", "id": "6vcudpc4wgc0cku", "rating": 0, "text": "Zehn Ziegen zogen zehn Zentner Zucker zum Zoo!", "trail": "oual4h0zovut2ph", "updated": "2024-12-19 21:18:30.979Z", "expand": { "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-02 17:43:26.303Z", "id": "p4r2x69bq7iz8ah", "rating": 0, "text": "Geht das?", "trail": "6558yf0g9knodhv", "updated": "2024-12-02 17:43:26.303Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-21 00:37:08.033Z", "id": "vkwrak7tytf9vur", "rating": 0, "text": "Anim minim consequat veniam ad laboris velit magna veniam dolor. Incididunt in non fugiat aliqua. Ullamco sint ipsum cupidatat Lorem deserunt id quis. Irure minim duis pariatur irure commodo non officia cillum et exercitation laborum. Enim nisi ipsum velit nisi. Consectetur et ad enim laboris.\n\nLorem commodo ex deserunt deserunt fugiat et consequat sit ad consequat nulla quis reprehenderit. Commodo sit eu consequat reprehenderit elit labore Lorem pariatur enim do ad irure ex ad. Nisi magna irure est dolore elit laboris commodo consectetur sint aliquip sit. Do exercitation ullamco incididunt culpa eu dolore dolore sint esse laboris elit enim cillum excepteur. Sit veniam veniam ex deserunt Lorem Lorem ut incididunt dolor sint nulla eiusmod magna adipisicing.", "trail": "267r63tmbyezpck", "updated": "2024-12-21 00:37:08.033Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/user/anonymous/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single anonymized user (email and token are hidden).", "operationId": "showUserAnonymous", "tags": [ "user" ], "parameters": [ { "name": "id", "in": "path", "description": "User Id", "required": true, "example": "3mugf953w4a9fg5", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] }, "example": { "avatar": "23xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/user/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single user. The only valid id is the one of the logged-in user. Use the \"user/anonymous/{id}\" endpoint for all other users.", "operationId": "showUser", "tags": [ "user" ], "parameters": [ { "name": "id", "in": "path", "description": "User Id", "required": true, "example": "3mugf953w4a9fg5", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "email": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "email", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "example": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "email": "notmymail@googlemail.com", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2024-12-30 18:36:39.161Z", "username": "Flomp", "verified": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a user.", "operationId": "updateUser", "tags": [ "user" ], "parameters": [ { "name": "id", "in": "path", "description": "User Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "username": { "type": "string", "minLength": 3 }, "password": { "type": "string", "minLength": 8 }, "passwordConfirm": { "type": "string", "minLength": 8, "description": "Must be equal to \"password\"" }, "email": { "type": "string", "format": "email" }, "bio": { "type": "string", "description": "User biography" } } }, "example": { "username": "Kim_Hettinger23", "password": "minim elit", "passwordConfirm": "minim elit", "email": "Theodora_Kovacek@yahoo.com", "bio": "A sed velit cum esse. Delectus minus nulla animi fugit minima omnis. Perspiciatis voluptas iure ipsa a dignissimos. Sequi magni odio beatae quisquam." } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "email": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "email", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "example": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "email": "mymail@gmail.com", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2025-01-03 12:29:55.103Z", "username": "Flomp", "verified": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a user.", "operationId": "deleteUser", "tags": [ "user" ], "parameters": [ { "name": "id", "in": "path", "description": "Comment Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/user": { "put": { "summary": "create", "deprecated": false, "description": "Creates a user. ", "operationId": "createUser", "tags": [ "user" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "username": { "type": "string", "minLength": 3 }, "password": { "type": "string", "minLength": 8 }, "passwordConfirm": { "type": "string", "minLength": 8, "description": "Must be equal to \"password\"" }, "email": { "type": "string", "format": "email" } }, "required": [ "username", "password", "passwordConfirm", "email" ] }, "example": { "username": "Angela.Pacocha95", "password": "deserunt", "passwordConfirm": "deserunt", "email": "Braulio98@gmail.com" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "avatar": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "collectionName", "created", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "example": { "avatar": "", "bio": "", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2025-01-03 12:23:01.865Z", "emailVisibility": false, "id": "nfynp8jhat2o4sy", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSBuZnlucDhqaGF0Mm80c3kgT1Igc2hhcmVzID0gbmZ5bnA4amhhdDJvNHN5In19fQ.RtK_w6Bjqni720FEjVqIwaWhtrqqy5rFPA7qAdPd0iA", "updated": "2025-01-03 12:23:01.867Z", "username": "Dewayne33", "verified": false } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "text" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [] } }, "/user/{id}/file": { "post": { "summary": "file", "deprecated": false, "description": "Uploads an avatar file for a user.", "operationId": "fileUser", "tags": [ "user" ], "parameters": [ { "name": "id", "in": "path", "description": "User Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "avatar": { "type": "string", "format": "binary", "description": "Avatar image file. Allowed file types: PNG, JPG, WEBP, SVG", "example": "file:///Users/christianbeutel/Downloads/23xxesym0e9w18z2904frnpgy7.jpg" } }, "required": [ "avatar" ] } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "email": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "email", "emailVisibility", "id", "token", "updated", "username", "verified" ] }, "example": { "avatar": "23xxesym0e9w18z2904frnpgy7_OzsVanAmWP.jpg", "bio": "Enim beatae labore vel. Pariatur hic doloribus quia quasi eos. Cumque error nobis.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "email": "mymail@gmail.com", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2025-01-03 12:32:15.270Z", "username": "Flomp", "verified": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/waypoint": { "get": { "summary": "list", "deprecated": false, "description": "Lists all waypoints.", "operationId": "listWaypoints", "tags": [ "waypoint" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "name=\"abc\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "author", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "icon": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "description", "icon", "id", "lat", "lon", "name", "photos", "updated" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 96, "totalPages": 20, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-11-09 10:33:45.943Z", "description": "", "icon": "circle", "id": "035691efaa5cf0a", "lat": 47.71415538, "lon": 11.98004365, "name": "Kesselalm (1275 m)", "photos": [], "updated": "2024-11-09 10:33:45.943Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-10-06 09:33:11.379Z", "description": "", "icon": "circle", "id": "04328b07923294e", "lat": 47.71415538, "lon": 11.98004365, "name": "Kesselalm (1275 m)", "photos": [], "updated": "2024-10-06 09:33:11.379Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-11-09 10:31:37.884Z", "description": "", "icon": "circle", "id": "056510042fb882d", "lat": 47.71215663291514, "lon": 11.964081572368741, "name": "Birkenstein (850 m)", "photos": [], "updated": "2024-11-09 10:31:37.884Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-09-07 11:11:29.646Z", "description": "", "icon": "circle", "id": "0b8bb0a2c97b669", "lat": 47.449586391448975, "lon": 11.238069534301758, "name": "St. Anton (Restaurant)", "photos": [], "updated": "2024-09-07 11:11:29.646Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-09-07 11:11:29.459Z", "description": "", "icon": "circle", "id": "0c4fb8ae0465eb1", "lat": 47.44074583053589, "lon": 11.212363243103027, "name": "Ferchensee (Bushaltestelle)", "photos": [], "updated": "2024-09-07 11:11:29.459Z" } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 5, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 21:43:09.964Z", "id": "13ikooi1f6tgjvd", "rating": 0, "text": "Comment", "trail": "267r63tmbyezpck", "updated": "2024-12-20 21:43:09.964Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 20:37:33.558Z", "id": "1rjjl1riy4jrdmm", "rating": 0, "text": "C", "trail": "l4u85lr0x6jgojd", "updated": "2024-12-20 20:37:33.558Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "znhd3hgrxl85c9f", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-19 21:18:30.979Z", "id": "6vcudpc4wgc0cku", "rating": 0, "text": "Zehn Ziegen zogen zehn Zentner Zucker zum Zoo!", "trail": "oual4h0zovut2ph", "updated": "2024-12-19 21:18:30.979Z", "expand": { "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-02 17:43:26.303Z", "id": "p4r2x69bq7iz8ah", "rating": 0, "text": "Geht das?", "trail": "6558yf0g9knodhv", "updated": "2024-12-02 17:43:26.303Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-21 00:37:08.033Z", "id": "vkwrak7tytf9vur", "rating": 0, "text": "Anim minim consequat veniam ad laboris velit magna veniam dolor. Incididunt in non fugiat aliqua. Ullamco sint ipsum cupidatat Lorem deserunt id quis. Irure minim duis pariatur irure commodo non officia cillum et exercitation laborum. Enim nisi ipsum velit nisi. Consectetur et ad enim laboris.\n\nLorem commodo ex deserunt deserunt fugiat et consequat sit ad consequat nulla quis reprehenderit. Commodo sit eu consequat reprehenderit elit labore Lorem pariatur enim do ad irure ex ad. Nisi magna irure est dolore elit laboris commodo consectetur sint aliquip sit. Do exercitation ullamco incididunt culpa eu dolore dolore sint esse laboris elit enim cillum excepteur. Sit veniam veniam ex deserunt Lorem Lorem ut incididunt dolor sint nulla eiusmod magna adipisicing.", "trail": "267r63tmbyezpck", "updated": "2024-12-21 00:37:08.033Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a waypoint. ", "operationId": "createWaypoint", "tags": [ "waypoint" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "lat": { "type": "number", "minimum": -90, "maximum": 90 }, "lon": { "type": "number", "minimum": -180, "maximum": 180 }, "icon": { "type": "string", "description": "Fontawesome icon string (https://fontawesome.com/v6/search?o=r&m=free)" }, "author": { "type": "string", "description": "User Id", "minLength": 15, "maxLength": 15 } }, "required": [ "lon", "lat", "author" ] }, "example": { "name": "non repellat possimus", "description": "Impedit modi nisi quibusdam eum rerum illo. Minus mollitia delectus vitae optio vero. Maiores praesentium dolores nostrum laborum saepe. Dolorem qui non. Dolorem dolores facere facere reiciendis ab doloribus.", "lat": -81.44545573482735, "lon": 178.9999004930424, "icon": "pen", "author": "3mugf953w4a9fg5" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "icon": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "description", "icon", "id", "lat", "lon", "name", "photos", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2025-01-03 13:07:25.852Z", "description": "Impedit modi nisi quibusdam eum rerum illo. Minus mollitia delectus vitae optio vero. Maiores praesentium dolores nostrum laborum saepe. Dolorem qui non. Dolorem dolores facere facere reiciendis ab doloribus.", "icon": "pen", "id": "fjqcwd17fawiy83", "lat": -81.44545573482735, "lon": 178.9999004930424, "name": "non repellat possimus", "photos": [], "updated": "2025-01-03 13:07:25.852Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "text" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/waypoint/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single waypoint.", "operationId": "showWaypoint", "tags": [ "waypoint" ], "parameters": [ { "name": "id", "in": "path", "description": "Waypoint Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "icon": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "description", "icon", "id", "lat", "lon", "name", "photos", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2024-11-09 10:33:45.943Z", "description": "", "icon": "circle", "id": "035691efaa5cf0a", "lat": 47.71415538, "lon": 11.98004365, "name": "Kesselalm (1275 m)", "photos": [], "updated": "2024-11-09 10:33:45.943Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a waypoint.", "operationId": "updateWaypoint", "tags": [ "waypoint" ], "parameters": [ { "name": "id", "in": "path", "description": "Waypoint Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string" }, "description": { "type": "string" }, "lat": { "type": "number", "minimum": -90, "maximum": 90 }, "lon": { "type": "number", "minimum": -180, "maximum": 180 }, "icon": { "type": "string", "description": "Fontawesome icon string (https://fontawesome.com/v6/search?o=r&m=free)" } } }, "example": { "name": "molestias suscipit asperiores", "description": "Quidem illum labore illum quo doloribus ratione temporibus. Voluptatem voluptatum tempore deleniti amet voluptate. Consectetur soluta repellat accusantium blanditiis. Quis sapiente inventore. Sed excepturi cum incidunt dolores tempora illum neque. Non nostrum alias ut facere assumenda.", "lat": -78.53460271991707, "lon": 112.79017323734126, "icon": "house" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "icon": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "description", "icon", "id", "lat", "lon", "name", "photos", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "goeo2ubp103rzp9", "collectionName": "waypoints", "created": "2025-01-03 13:07:25.852Z", "description": "Quidem illum labore illum quo doloribus ratione temporibus. Voluptatem voluptatum tempore deleniti amet voluptate. Consectetur soluta repellat accusantium blanditiis. Quis sapiente inventore. Sed excepturi cum incidunt dolores tempora illum neque. Non nostrum alias ut facere assumenda.", "icon": "house", "id": "fjqcwd17fawiy83", "lat": -78.53460271991707, "lon": 112.79017323734126, "name": "molestias suscipit asperiores", "photos": [], "updated": "2025-01-03 13:09:45.168Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a waypoint.", "operationId": "deleteWaypoint", "tags": [ "waypoint" ], "parameters": [ { "name": "id", "in": "path", "description": "Waypoint Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/list": { "get": { "summary": "list", "deprecated": false, "description": "Lists all lists.", "operationId": "listLists", "tags": [ "list" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "name=\"abc\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "author", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "author" ] } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "id", "name", "public", "trails", "updated", "expand" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "example": { "page": 1, "perPage": 5, "totalItems": 4, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "640px_mont_saint_michel_vu_du_ciel_MvWoudBkPE.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-09-09 22:10:07.972Z", "description": "La Véloscénie is a 450-kilometre (280 mi) cycle route that takes you on an adventure from Paris to Mont-Saint-Michel on the Channel coast. From the capital to the beaches, passing through numerous hamlets and stunning towns such as Chartres, this journey westwards has many surprises in store.\r\n\r\nWe suggest you complete this journey in seven stages. This is a challenging pace, but should still leave you time to discover the many attractions en route. Cathedrals, castles, lakes, stunning landscapes and historic villages will show you that you don't have to wait for Mont-Saint-Michel to be amazed.\r\n\r\nThe itinerary alternates between little-used secondary roads, greenways and trails. This trip is best ridden on a bike that can handle rougher trails, like a touring, hybrid or gravel bike.\r\n\r\nParis is easy to reach from anywhere in France, but the choice is more limited if you want to leave from Mont-Saint-Michel. The nearest railway station is in Pontorson, 10 kilometres (6 mi) from Mont-Saint-Michel. From Pontorson, direct trains to Paris leave every evening, around 6pm on weekdays and at weekends, only between June and the end of September. Bikes can be taken on board free of charge by prior arrangement. Apart from this seasonal service, there are other ways of returning to Paris, with at least one train change required. For more information: veloscenic.com/reaching-the-veloscenic-cycle-route\r\n\r\nAlthough the route is accessible all year round, some accommodation and tourist attractions are likely to close in the low season, so it’s best to ride in spring or summer. While some stages end in big cities, others end in more rural areas and you’ll need to book your accommodation in advance. It’s not necessary to book restaurants along the route, but it is best to plan stops for refreshments, as not all the villages you pass through have restaurants or shops.", "id": "bdv9iukn4d2lf2i", "name": "From Paris to Mont-Saint-Michel — La Véloscénie", "public": false, "trails": [ "jou2tcf0y8jj9m3", "ilyvsa4xr52lxlr", "2y8o7bwmor4yltt", "gmh81mczhjp834l", "6hpvcyosmqr8uk8", "iql9fifaxnb5u6m", "y9hjysn5xhbmi86", "fehuzqkfi49hkwn", "fmin7pbj8urtxx0", "14y4qxqbqh0n10m", "6fv6krwusycttbl", "66jj108gizquc2r", "wbuwzu8tp48hljg", "x3lo6ru4ly753w6", "h91u3vl8n5ekune", "bzodytd0vd2e56g", "oy1auygew9fvha0", "6atd6i73bzle0ar", "iz2ohx9hbn8irrc", "2o9c3pxfvrzclud", "btn09xkl7ab0n9k", "ek2cb00tw4v4fav" ], "updated": "2024-12-27 00:55:25.917Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "dscn0010_xN987yGxE0.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-30 17:41:00.152Z", "description": "Hallo", "id": "dci7qk44birm2bn", "name": "Liste mit Oachkatzerl", "public": true, "trails": [ "ovo0m6pxxjupfp9", "yesm2tqc6jok8jq", "z94vgei3jdc37k4" ], "updated": "2024-12-30 18:58:44.269Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "caret_right_solid_iUtggzDoh7.svg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-13 12:46:49.620Z", "description": "", "id": "m59tuo2yyretv7z", "name": "Flomp's List 2", "public": false, "trails": [ "ovo0m6pxxjupfp9" ], "updated": "2024-12-27 00:55:21.456Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 0, "type": "number", "inclusive": false, "exact": false, "message": "Number must be greater than 0", "path": [ "page" ] } ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a list. ", "operationId": "createList", "tags": [ "list" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the list" }, "description": { "type": "string", "description": "Description of the list" }, "public": { "type": "boolean", "description": "Visible for everyone" }, "trails": { "type": "array", "items": { "type": "string", "description": "Trail Id", "minLength": 15, "maxLength": 15 }, "description": "List of trail Ids contained in the list", "minItems": 0 }, "author": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id" } }, "required": [ "name", "public", "trails", "author" ] }, "example": { "name": "API List", "description": "A list created via the wanderer API", "public": true, "trails": [], "author": "3mugf953w4a9fg5" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "id", "name", "public", "trails", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "A list created via the wanderer API", "id": "4yql7587j64qdo5", "name": "API List", "public": true, "trails": [], "updated": "2025-01-02 22:29:19.092Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "name" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/list/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single list.", "operationId": "showList", "tags": [ "list" ], "parameters": [ { "name": "id", "in": "path", "description": "Comment Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "author" ] } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "id", "name", "public", "trails", "updated", "expand" ] }, "example": { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a list.", "operationId": "updateList", "tags": [ "list" ], "parameters": [ { "name": "id", "in": "path", "description": "List Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the list" }, "description": { "type": "string", "description": "Description of the list" }, "public": { "type": "boolean", "description": "Visible for everyone" }, "trails": { "type": "array", "items": { "type": "string", "description": "Trail Id", "minLength": 15, "maxLength": 15 }, "description": "List of trail Ids contained in the list", "minItems": 0 } } }, "example": { "name": "API List", "description": "A list created via the wanderer API", "public": true, "trails": [], "author": "3mugf953w4a9fg5" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "id", "name", "public", "trails", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a list.", "operationId": "deleteList", "tags": [ "list" ], "parameters": [ { "name": "id", "in": "path", "description": "List Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/list/{id}/file": { "post": { "summary": "file", "deprecated": false, "description": "Uploads an avatar file for a list.", "operationId": "fileList", "tags": [ "list" ], "parameters": [ { "name": "id", "in": "path", "description": "List Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "avatar": { "type": "string", "format": "binary", "description": "Avatar image file. Allowed file types: PNG, JPG, WEBP, SVG", "example": "file:///Users/christianbeutel/Downloads/23xxesym0e9w18z2904frnpgy7.jpg" } }, "required": [ "avatar" ] } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "id", "name", "public", "trails", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "avatar": "23xxesym0e9w18z2904frnpgy7_bmAvN4NpoA.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-13 12:46:49.620Z", "description": "", "id": "m59tuo2yyretv7z", "name": "Flomp's List 2", "public": false, "trails": [ "ovo0m6pxxjupfp9" ], "updated": "2025-01-02 23:06:30.788Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/list-share": { "get": { "summary": "list", "deprecated": false, "description": "Lists all list-shares.", "operationId": "listListShares", "tags": [ "list-share" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "permission=\"view\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "user", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "list": { "type": "string" }, "permission": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" }, "expand": { "type": "object", "properties": { "user": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "user" ] } } } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 1, "totalPages": 1, "items": [ { "collectionId": "1kot7t9na3hi0gl", "collectionName": "list_share", "created": "2024-11-15 16:34:15.333Z", "id": "xjn56wlra4rqdtl", "list": "bdv9iukn4d2lf2i", "permission": "view", "updated": "2024-11-15 16:34:15.333Z", "user": "znhd3hgrxl85c9f", "expand": { "user": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 5, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 21:43:09.964Z", "id": "13ikooi1f6tgjvd", "rating": 0, "text": "Comment", "trail": "267r63tmbyezpck", "updated": "2024-12-20 21:43:09.964Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-20 20:37:33.558Z", "id": "1rjjl1riy4jrdmm", "rating": 0, "text": "C", "trail": "l4u85lr0x6jgojd", "updated": "2024-12-20 20:37:33.558Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "znhd3hgrxl85c9f", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-19 21:18:30.979Z", "id": "6vcudpc4wgc0cku", "rating": 0, "text": "Zehn Ziegen zogen zehn Zentner Zucker zum Zoo!", "trail": "oual4h0zovut2ph", "updated": "2024-12-19 21:18:30.979Z", "expand": { "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-02 17:43:26.303Z", "id": "p4r2x69bq7iz8ah", "rating": 0, "text": "Geht das?", "trail": "6558yf0g9knodhv", "updated": "2024-12-02 17:43:26.303Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "collectionId": "lf06qip3f4d11yk", "collectionName": "comments", "created": "2024-12-21 00:37:08.033Z", "id": "vkwrak7tytf9vur", "rating": 0, "text": "Anim minim consequat veniam ad laboris velit magna veniam dolor. Incididunt in non fugiat aliqua. Ullamco sint ipsum cupidatat Lorem deserunt id quis. Irure minim duis pariatur irure commodo non officia cillum et exercitation laborum. Enim nisi ipsum velit nisi. Consectetur et ad enim laboris.\n\nLorem commodo ex deserunt deserunt fugiat et consequat sit ad consequat nulla quis reprehenderit. Commodo sit eu consequat reprehenderit elit labore Lorem pariatur enim do ad irure ex ad. Nisi magna irure est dolore elit laboris commodo consectetur sint aliquip sit. Do exercitation ullamco incididunt culpa eu dolore dolore sint esse laboris elit enim cillum excepteur. Sit veniam veniam ex deserunt Lorem Lorem ut incididunt dolor sint nulla eiusmod magna adipisicing.", "trail": "267r63tmbyezpck", "updated": "2024-12-21 00:37:08.033Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a list share. ", "operationId": "createListShare", "tags": [ "list-share" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "list": { "type": "string", "minLength": 15, "maxLength": 15, "description": "List Id" }, "user": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id" }, "permission": { "type": "string", "enum": [ "view", "edit" ], "description": "Permissions for user" } }, "required": [ "list", "user", "permission" ] }, "example": { "list": "dci7qk44birm2bn", "user": "z014o6bpcg680mg", "permission": "view" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "expand": { "type": "object", "properties": { "list": { "type": "object", "properties": { "author": { "type": "string" }, "avatar": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "description": { "type": "string" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "emailVisibility": { "type": "boolean" }, "id": { "type": "string" }, "token": { "type": "string" }, "updated": { "type": "string" }, "username": { "type": "string" }, "verified": { "type": "boolean" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "emailVisibility", "id", "token", "updated", "username", "verified" ] } }, "required": [ "author" ] }, "id": { "type": "string" }, "name": { "type": "string" }, "public": { "type": "boolean" }, "trails": { "type": "array", "items": { "type": "string" } }, "updated": { "type": "string" } }, "required": [ "author", "avatar", "collectionId", "collectionName", "created", "description", "expand", "id", "name", "public", "trails", "updated" ] } }, "required": [ "list" ] }, "id": { "type": "string" }, "list": { "type": "string" }, "permission": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "expand", "id", "list", "permission", "updated", "user" ] }, "example": { "collectionId": "1kot7t9na3hi0gl", "collectionName": "list_share", "created": "2025-01-03 10:36:23.596Z", "expand": { "list": { "author": "3mugf953w4a9fg5", "avatar": "dscn0010_xN987yGxE0.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-30 17:41:00.152Z", "description": "Hallo", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "_pb_users_auth_", "collectionName": "users", "created": "2024-06-29 19:23:47.731Z", "emailVisibility": false, "id": "3mugf953w4a9fg5", "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlLZXlVaWQiOiIzMjk3NmExMi03ODE1LTQ1NGQtYTU5Yi1hNzY0ZTE4NmJjNjIiLCJzZWFyY2hSdWxlcyI6eyJjaXRpZXM1MDAiOnt9LCJ0cmFpbHMiOnsiZmlsdGVyIjoicHVibGljID0gdHJ1ZSBPUiBhdXRob3IgPSAzbXVnZjk1M3c0YTlmZzUgT1Igc2hhcmVzID0gM211Z2Y5NTN3NGE5Zmc1In19fQ.swips6eep2qMd0Nf3hdZr711N2fHyikOo7syWvuLEIA", "updated": "2024-12-30 18:36:39.161Z", "username": "Flomp", "verified": true } }, "id": "dci7qk44birm2bn", "name": "Liste mit Oachkatzerl", "public": true, "trails": [ "ovo0m6pxxjupfp9", "yesm2tqc6jok8jq", "z94vgei3jdc37k4" ], "updated": "2024-12-30 18:58:44.269Z" } }, "id": "r8r938af52vdae1", "list": "dci7qk44birm2bn", "permission": "view", "updated": "2025-01-03 10:36:23.596Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "expected": { "type": "string" }, "received": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } }, "message": { "type": "string" } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_type", "expected": "string", "received": "number", "path": [ "text" ], "message": "Expected string, received number" } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/list-share/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single list share.", "operationId": "showListShare", "tags": [ "list-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "list": { "type": "string" }, "permission": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "id", "list", "permission", "updated", "user" ] }, "example": { "collectionId": "1kot7t9na3hi0gl", "collectionName": "list_share", "created": "2024-11-15 16:34:15.333Z", "id": "xjn56wlra4rqdtl", "list": "bdv9iukn4d2lf2i", "permission": "view", "updated": "2024-11-15 16:34:15.333Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a list share.", "operationId": "updateListShare", "tags": [ "list-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "permission": { "type": "string", "enum": [ "view", "edit" ] } } }, "example": { "permission": "view" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "list": { "type": "string" }, "permission": { "type": "string" }, "updated": { "type": "string" }, "user": { "type": "string" } }, "required": [ "collectionId", "collectionName", "created", "id", "list", "permission", "updated", "user" ] }, "example": { "collectionId": "1kot7t9na3hi0gl", "collectionName": "list_share", "created": "2025-01-03 10:36:23.596Z", "id": "r8r938af52vdae1", "list": "dci7qk44birm2bn", "permission": "edit", "updated": "2025-01-03 10:39:28.597Z", "user": "znhd3hgrxl85c9f" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a list share.", "operationId": "deleteListShare", "tags": [ "list-share" ], "parameters": [ { "name": "id", "in": "path", "description": "List Share Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/notification": { "get": { "summary": "list", "deprecated": false, "description": "Lists all notifications.", "operationId": "listNotifications", "tags": [ "notification" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "recipient=\"r8r938af52vdae1\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "author", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "metadata": { "type": "object", "properties": { "author": { "type": "string" }, "id": { "type": "string" }, "list": { "type": "string" } }, "required": [ "author", "id", "list" ] }, "recipient": { "type": "string" }, "seen": { "type": "boolean" }, "type": { "type": "string" }, "updated": { "type": "string" }, "expand": { "type": "object", "properties": { "recipient": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] }, "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "recipient", "author" ] } } } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 1, "totalPages": 1, "items": [ { "author": "znhd3hgrxl85c9f", "collectionId": "khrcci2uqknny8h", "collectionName": "notifications", "created": "2025-01-03 10:36:23.603Z", "id": "yu9vp1kbid56s6u", "metadata": { "author": "Flomp", "id": "dci7qk44birm2bn", "list": "Liste mit Oachkatzerl" }, "recipient": "3mugf953w4a9fg5", "seen": false, "type": "list_share", "updated": "2025-01-03 10:49:22.945Z", "expand": { "recipient": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" }, "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 4, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "640px_mont_saint_michel_vu_du_ciel_MvWoudBkPE.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-09-09 22:10:07.972Z", "description": "La Véloscénie is a 450-kilometre (280 mi) cycle route that takes you on an adventure from Paris to Mont-Saint-Michel on the Channel coast. From the capital to the beaches, passing through numerous hamlets and stunning towns such as Chartres, this journey westwards has many surprises in store.\r\n\r\nWe suggest you complete this journey in seven stages. This is a challenging pace, but should still leave you time to discover the many attractions en route. Cathedrals, castles, lakes, stunning landscapes and historic villages will show you that you don't have to wait for Mont-Saint-Michel to be amazed.\r\n\r\nThe itinerary alternates between little-used secondary roads, greenways and trails. This trip is best ridden on a bike that can handle rougher trails, like a touring, hybrid or gravel bike.\r\n\r\nParis is easy to reach from anywhere in France, but the choice is more limited if you want to leave from Mont-Saint-Michel. The nearest railway station is in Pontorson, 10 kilometres (6 mi) from Mont-Saint-Michel. From Pontorson, direct trains to Paris leave every evening, around 6pm on weekdays and at weekends, only between June and the end of September. Bikes can be taken on board free of charge by prior arrangement. Apart from this seasonal service, there are other ways of returning to Paris, with at least one train change required. For more information: veloscenic.com/reaching-the-veloscenic-cycle-route\r\n\r\nAlthough the route is accessible all year round, some accommodation and tourist attractions are likely to close in the low season, so it’s best to ride in spring or summer. While some stages end in big cities, others end in more rural areas and you’ll need to book your accommodation in advance. It’s not necessary to book restaurants along the route, but it is best to plan stops for refreshments, as not all the villages you pass through have restaurants or shops.", "id": "bdv9iukn4d2lf2i", "name": "From Paris to Mont-Saint-Michel — La Véloscénie", "public": false, "trails": [ "jou2tcf0y8jj9m3", "ilyvsa4xr52lxlr", "2y8o7bwmor4yltt", "gmh81mczhjp834l", "6hpvcyosmqr8uk8", "iql9fifaxnb5u6m", "y9hjysn5xhbmi86", "fehuzqkfi49hkwn", "fmin7pbj8urtxx0", "14y4qxqbqh0n10m", "6fv6krwusycttbl", "66jj108gizquc2r", "wbuwzu8tp48hljg", "x3lo6ru4ly753w6", "h91u3vl8n5ekune", "bzodytd0vd2e56g", "oy1auygew9fvha0", "6atd6i73bzle0ar", "iz2ohx9hbn8irrc", "2o9c3pxfvrzclud", "btn09xkl7ab0n9k", "ek2cb00tw4v4fav" ], "updated": "2024-12-27 00:55:25.917Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "dscn0010_xN987yGxE0.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-30 17:41:00.152Z", "description": "Hallo", "id": "dci7qk44birm2bn", "name": "Liste mit Oachkatzerl", "public": true, "trails": [ "ovo0m6pxxjupfp9", "yesm2tqc6jok8jq", "z94vgei3jdc37k4" ], "updated": "2024-12-30 18:58:44.269Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "caret_right_solid_iUtggzDoh7.svg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-13 12:46:49.620Z", "description": "", "id": "m59tuo2yyretv7z", "name": "Flomp's List 2", "public": false, "trails": [ "ovo0m6pxxjupfp9" ], "updated": "2024-12-27 00:55:21.456Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/notification/{id}": { "post": { "summary": "update", "deprecated": false, "description": "Marks a notification as seen.", "operationId": "updateNotification", "tags": [ "notification" ], "parameters": [ { "name": "id", "in": "path", "description": "Notification Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "seen": { "type": "boolean", "default": true } }, "required": [ "seen" ] }, "example": { "seen": true } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "metadata": { "type": "object", "properties": { "author": { "type": "string" }, "id": { "type": "string" }, "list": { "type": "string" } }, "required": [ "author", "id", "list" ] }, "recipient": { "type": "string" }, "seen": { "type": "boolean" }, "type": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "id", "metadata", "recipient", "seen", "type", "updated" ] }, "example": { "author": "znhd3hgrxl85c9f", "collectionId": "khrcci2uqknny8h", "collectionName": "notifications", "created": "2025-01-03 10:36:23.603Z", "id": "yu9vp1kbid56s6u", "metadata": { "author": "Flomp", "id": "dci7qk44birm2bn", "list": "Liste mit Oachkatzerl" }, "recipient": "3mugf953w4a9fg5", "seen": true, "type": "list_share", "updated": "2025-01-03 10:57:22.899Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/summit-log": { "get": { "summary": "list", "deprecated": false, "description": "Lists all summit logs.", "operationId": "listSummitLogs", "tags": [ "summit-log" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "distance>=500", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "author", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "date", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "photos", "text", "updated" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 14, "totalPages": 3, "items": [ { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-12-02 00:06:13.761Z", "date": "2024-12-02 00:00:00.000Z", "distance": 0, "duration": 0, "elevation_gain": 0, "elevation_loss": 0, "gpx": "", "id": "22879d2ce902f57", "photos": [ "wanderer_stats_QbRDtbqXp8.png" ], "text": "Heute war auch nicht schlecht!", "updated": "2024-12-02 00:06:13.802Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-11-11 15:34:42.149Z", "date": "2024-11-11 00:00:00.000Z", "distance": 0, "duration": 0, "elevation_gain": 0, "elevation_loss": 0, "gpx": "", "id": "282aa2f6aa2901d", "photos": [], "text": "", "updated": "2024-11-11 15:34:42.149Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-12-30 18:42:22.407Z", "date": "2010-06-26 00:00:00.000Z", "distance": 17.272892451353634, "duration": 19, "elevation_gain": 0.48071279999999916, "elevation_loss": 3.845214800000001, "gpx": "blob_li_rt_ludnm5_CTr98mgc40.tcx", "id": "4p1gjllhdrhnuyr", "photos": [], "text": "", "updated": "2024-12-30 18:42:22.463Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-12-26 21:35:23.376Z", "date": "2024-12-26 00:00:00.000Z", "distance": 14055.576293821563, "duration": 5060, "elevation_gain": 1197, "elevation_loss": 1194, "gpx": "herzogstand_4uFe02QqSL.gpx", "id": "5yftqj5opprl9ju", "photos": [ "23xxesym0e9w18z2904frnpgy7_hR8ogccdVG.jpg" ], "text": "", "updated": "2024-12-26 21:35:23.458Z" }, { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-11-05 22:05:43.778Z", "date": "2024-11-02 00:00:00.000Z", "distance": 12452.945922907797, "duration": 16993, "elevation_gain": 770.0000000000002, "elevation_loss": 770.4800000000002, "gpx": "kranzberg_tzNjcOwhf2.gpx", "id": "7072f62edbb8e62", "photos": [], "text": "", "updated": "2024-11-05 22:06:19.100Z" } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 4, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "640px_mont_saint_michel_vu_du_ciel_MvWoudBkPE.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-09-09 22:10:07.972Z", "description": "La Véloscénie is a 450-kilometre (280 mi) cycle route that takes you on an adventure from Paris to Mont-Saint-Michel on the Channel coast. From the capital to the beaches, passing through numerous hamlets and stunning towns such as Chartres, this journey westwards has many surprises in store.\r\n\r\nWe suggest you complete this journey in seven stages. This is a challenging pace, but should still leave you time to discover the many attractions en route. Cathedrals, castles, lakes, stunning landscapes and historic villages will show you that you don't have to wait for Mont-Saint-Michel to be amazed.\r\n\r\nThe itinerary alternates between little-used secondary roads, greenways and trails. This trip is best ridden on a bike that can handle rougher trails, like a touring, hybrid or gravel bike.\r\n\r\nParis is easy to reach from anywhere in France, but the choice is more limited if you want to leave from Mont-Saint-Michel. The nearest railway station is in Pontorson, 10 kilometres (6 mi) from Mont-Saint-Michel. From Pontorson, direct trains to Paris leave every evening, around 6pm on weekdays and at weekends, only between June and the end of September. Bikes can be taken on board free of charge by prior arrangement. Apart from this seasonal service, there are other ways of returning to Paris, with at least one train change required. For more information: veloscenic.com/reaching-the-veloscenic-cycle-route\r\n\r\nAlthough the route is accessible all year round, some accommodation and tourist attractions are likely to close in the low season, so it’s best to ride in spring or summer. While some stages end in big cities, others end in more rural areas and you’ll need to book your accommodation in advance. It’s not necessary to book restaurants along the route, but it is best to plan stops for refreshments, as not all the villages you pass through have restaurants or shops.", "id": "bdv9iukn4d2lf2i", "name": "From Paris to Mont-Saint-Michel — La Véloscénie", "public": false, "trails": [ "jou2tcf0y8jj9m3", "ilyvsa4xr52lxlr", "2y8o7bwmor4yltt", "gmh81mczhjp834l", "6hpvcyosmqr8uk8", "iql9fifaxnb5u6m", "y9hjysn5xhbmi86", "fehuzqkfi49hkwn", "fmin7pbj8urtxx0", "14y4qxqbqh0n10m", "6fv6krwusycttbl", "66jj108gizquc2r", "wbuwzu8tp48hljg", "x3lo6ru4ly753w6", "h91u3vl8n5ekune", "bzodytd0vd2e56g", "oy1auygew9fvha0", "6atd6i73bzle0ar", "iz2ohx9hbn8irrc", "2o9c3pxfvrzclud", "btn09xkl7ab0n9k", "ek2cb00tw4v4fav" ], "updated": "2024-12-27 00:55:25.917Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "dscn0010_xN987yGxE0.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-30 17:41:00.152Z", "description": "Hallo", "id": "dci7qk44birm2bn", "name": "Liste mit Oachkatzerl", "public": true, "trails": [ "ovo0m6pxxjupfp9", "yesm2tqc6jok8jq", "z94vgei3jdc37k4" ], "updated": "2024-12-30 18:58:44.269Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "caret_right_solid_iUtggzDoh7.svg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-13 12:46:49.620Z", "description": "", "id": "m59tuo2yyretv7z", "name": "Flomp's List 2", "public": false, "trails": [ "ovo0m6pxxjupfp9" ], "updated": "2024-12-27 00:55:21.456Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a summit log. ", "operationId": "createSummitLog", "tags": [ "summit-log" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "date": { "type": "string", "description": "Date of the summit log", "format": "date" }, "text": { "type": "string", "description": "Description of the summit log" }, "distance": { "type": "number", "minimum": 0, "description": "Distance in meters" }, "elevation_gain": { "type": "number", "minimum": 0, "description": "Elevation gain in vertical meters" }, "elevation_loss": { "type": "number", "minimum": 0, "description": "Elevation loss in vertical meters" }, "duration": { "type": "number", "minimum": 0, "description": "Duration in seconds" }, "author": { "type": "string", "description": "User Id", "minLength": 15, "maxLength": 15 } }, "required": [ "date", "author" ] }, "example": { "date": "2025-01-01", "text": "Created by wanderer API", "distance": 12, "elevation_gain": 34, "elevation_loss": 42, "duration": 21, "author": "3mugf953w4a9fg5" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "distance": { "type": "integer" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "date", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "photos", "text", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2025-01-03 09:56:37.620Z", "date": "2025-01-01 00:00:00.000Z", "distance": 12, "duration": 21, "elevation_gain": 34, "elevation_loss": 42, "gpx": "", "id": "58iuq9j30qbbwmq", "photos": [], "text": "Created by wanderer API", "updated": "2025-01-03 09:56:37.620Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "validation": { "type": "string" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } }, "required": [ "code", "message", "path" ] } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_string", "validation": "date", "message": "Invalid date", "path": [ "date" ] }, { "code": "custom", "message": "invalid-date", "path": [ "date" ] } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/summit-log/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single summit log.", "operationId": "showSummitLog", "tags": [ "summit-log" ], "parameters": [ { "name": "id", "in": "path", "description": "Summit Log Id", "required": true, "example": "95bb1d77c8dfa98", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" }, "updated": { "type": "string" }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "author" ] } }, "required": [ "author", "collectionId", "collectionName", "created", "date", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "photos", "text", "updated", "expand" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2024-12-30 18:58:04.809Z", "date": "2024-12-10 00:00:00.000Z", "distance": 283396.31855792465, "duration": 0, "elevation_gain": 0, "elevation_loss": 0, "gpx": "2024_10_22_04_28_2024_10_22_21_29_AicYbqRkLD.gpx", "id": "95bb1d77c8dfa98", "photos": [ "dscn0010_7MuzM5ExLa.jpg", "caret_right_solid_OLanLqeV1l.svg" ], "text": "", "updated": "2024-12-30 18:59:56.822Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [] }, "post": { "summary": "update", "deprecated": false, "description": "Updates a summit log.", "operationId": "updateSummitLog", "tags": [ "summit-log" ], "parameters": [ { "name": "id", "in": "path", "description": "Summit Log Id", "required": true, "example": "6vcudpc4wgc0ckk", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "date": { "type": "string", "description": "Date of the summit log", "format": "date" }, "text": { "type": "string", "description": "Description of the summit log" }, "distance": { "type": "number", "minimum": 0, "description": "Distance in meters" }, "elevation_gain": { "type": "number", "minimum": 0, "description": "Elevation gain in vertical meters" }, "elevation_loss": { "type": "number", "minimum": 0, "description": "Elevation loss in vertical meters" }, "duration": { "type": "number", "minimum": 0, "description": "Duration in seconds" } } }, "example": "{\n \"date\": \"2025-12-12\",\n \"text\": \"Updated by wanderer API\",\n \"distance\": 32,\n \"elevation_gain\": 45,\n \"elevation_loss\": 21,\n \"duration\": 29,\n}" } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "date", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "photos", "text", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2025-01-03 09:56:37.620Z", "date": "2025-01-02 00:00:00.000Z", "distance": 36983010.25256769, "duration": 68163654.92949024, "elevation_gain": 44389248.880456366, "elevation_loss": 6494274.720874871, "gpx": "", "id": "58iuq9j30qbbwmq", "photos": [], "text": "et magna veniam anim cillum", "updated": "2025-01-03 10:11:22.553Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a summit log.", "operationId": "deleteSummitLog", "tags": [ "summit-log" ], "parameters": [ { "name": "id", "in": "path", "description": "Summit Log Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/summit-log/{id}/file": { "post": { "summary": "file", "deprecated": false, "description": "Uploads or removes photos, uploads GPS data file for a summit log.", "operationId": "fileSummitLog", "tags": [ "summit-log" ], "parameters": [ { "name": "id", "in": "path", "description": "Summit Log Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "photos": { "format": "binary", "type": "string", "description": "List of image files to add. Allowed file types: PNG, JPG, WEBP, SVG", "example": [ "" ] }, "photos-": { "type": "array", "items": { "type": "string" }, "description": "List of file names to delete.", "example": "" }, "gpx": { "type": "string", "format": "binary", "minLength": 0, "maxLength": 1, "description": "File containing GPS track data. Allowed file types: GPX, JSON, FIT, KML", "example": "file:///Users/christianbeutel/Downloads/2021-10-24_536064034_Essen-Mitte.nach.Bochum-Hauptbahnhof.gpx" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "text": { "type": "string" }, "updated": { "type": "string" } }, "required": [ "author", "collectionId", "collectionName", "created", "date", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "photos", "text", "updated" ] }, "example": { "author": "3mugf953w4a9fg5", "collectionId": "dd2l9a4vxpy2ni8", "collectionName": "summit_logs", "created": "2025-01-03 09:56:37.620Z", "date": "2025-01-02 00:00:00.000Z", "distance": 36983010.25256769, "duration": 68163654.92949024, "elevation_gain": 44389248.880456366, "elevation_loss": 6494274.720874871, "gpx": "2021_11_14_564807964_dusseldorf_angermund_nach_n4R1NcyDsY.Neuss-Hamm.gpx", "id": "58iuq9j30qbbwmq", "photos": [ "23xxesym0e9w18z2904frnpgy7_CTPOstkHAC.jpg" ], "text": "et magna veniam anim cillum", "updated": "2025-01-03 10:22:09.893Z" } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail": { "get": { "summary": "list", "deprecated": false, "description": "Lists all trails.", "operationId": "listTrails", "tags": [ "trail" ], "parameters": [ { "name": "page", "in": "query", "description": "Page number starting at 1", "required": false, "example": 1, "schema": { "type": "number" } }, { "name": "perPage", "in": "query", "description": "Items per page", "required": false, "example": 5, "schema": { "type": "number" } }, { "name": "sort", "in": "query", "description": "Sort string (-/+)", "required": false, "example": "-created", "schema": { "type": "string" } }, { "name": "filter", "in": "query", "description": "Filter string (https://pocketbase.io/docs/api-rules-and-filters/#filters-syntax)", "required": false, "example": "name=\"MyTrail\"", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "author", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "my-key", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "page": { "type": "integer" }, "perPage": { "type": "integer" }, "totalItems": { "type": "integer" }, "totalPages": { "type": "integer" }, "items": { "type": "array", "items": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "author" ] } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints", "expand" ] } } }, "required": [ "page", "perPage", "totalItems", "totalPages", "items" ] }, "examples": { "1": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 53, "totalPages": 11, "items": [ { "author": "3mugf953w4a9fg5", "category": "x5y2ikswxzoznek", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-10-06 09:33:11.404Z", "date": "2024-10-06 00:00:00.000Z", "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.\n\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.", "difficulty": "easy", "distance": 7504.162098327643, "duration": 0, "elevation_gain": 840.19189453125, "elevation_loss": 0, "gpx": "breitenstein_3_DvymxgjEm5.gpx", "id": "074jf18neqwfbsr", "lat": 47.71215663291514, "location": "", "lon": 11.964081572368741, "name": "Breitenstein", "photos": [], "public": false, "summit_logs": [], "thumbnail": 0, "updated": "2024-11-05 21:54:20.799Z", "waypoints": [ "43570e9537dd83a", "2efed4a4b90e8b3", "d1ae45c1f4e6353", "69de69fdb3b47b5", "162d22a68a1a98b", "04328b07923294e" ], "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "category": "x5y2ikswxzoznek", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-09-14 14:18:27.538Z", "date": "2024-09-14 00:00:00.000Z", "description": "", "difficulty": "easy", "distance": 18487.660615835353, "duration": 0, "elevation_gain": 209.55000000000015, "elevation_loss": 0, "gpx": "blob_BaoYdHnfYw.gpx", "id": "14y4qxqbqh0n10m", "lat": 48.311547246, "location": "", "lon": 0.993056622, "name": "Thiron-Gardais - Nogent-le-Rotrou", "photos": [], "public": true, "summit_logs": [], "thumbnail": 0, "updated": "2024-12-08 21:26:17.269Z", "waypoints": [], "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "znhd3hgrxl85c9f", "category": "x5y2ikswxzoznek", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-11-15 18:50:36.223Z", "date": "2024-11-15 00:00:00.000Z", "description": "", "difficulty": "easy", "distance": 283396.31855792465, "duration": 0, "elevation_gain": 0, "elevation_loss": 0, "gpx": "2024_10_22_04_28_2024_10_22_21_29_UUGET8zBuk.gpx", "id": "267r63tmbyezpck", "lat": 41.754053, "location": "", "lon": -2.484733, "name": "Gassi", "photos": [], "public": true, "summit_logs": [ "e980ffa422f1603" ], "thumbnail": 0, "updated": "2024-11-16 12:49:33.814Z", "waypoints": [], "expand": { "author": { "avatar": "screenshot_2024_06_30_at_22_55_34_jpeg_grafik_1024_1024_pixel_skaliert_89_GnBqL3uYqZ.png", "bio": "", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-30 21:02:11.693Z", "id": "znhd3hgrxl85c9f", "private": false, "username": "John" } } }, { "author": "3mugf953w4a9fg5", "category": "x5y2ikswxzoznek", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-09-14 14:18:26.946Z", "date": "2024-09-14 00:00:00.000Z", "description": "", "difficulty": "easy", "distance": 10942.463179990422, "duration": 0, "elevation_gain": 66.64999999999999, "elevation_loss": 0, "gpx": "blob_ZjF1DuT8Rl.gpx", "id": "2o9c3pxfvrzclud", "lat": 48.626390603, "location": "", "lon": -0.960178937, "name": "Mortain - St-Hilaire-du-Harcouët", "photos": [], "public": true, "summit_logs": [], "thumbnail": 0, "updated": "2024-12-08 21:26:17.888Z", "waypoints": [], "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "category": "x5y2ikswxzoznek", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-09-14 14:18:27.604Z", "date": "2024-09-14 00:00:00.000Z", "description": "", "difficulty": "easy", "distance": 23920.21858179372, "duration": 0, "elevation_gain": 238.07999999999996, "elevation_loss": 0, "gpx": "blob_oyW3EXsfqS.gpx", "id": "2y8o7bwmor4yltt", "lat": 48.8029381, "location": "", "lon": 2.1264017, "name": "Versailles - St-Rémy-lès-Chevreuse", "photos": [], "public": true, "summit_logs": [], "thumbnail": 0, "updated": "2024-12-08 21:26:16.840Z", "waypoints": [], "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } }, "3": { "summary": "Success", "value": { "page": 1, "perPage": 5, "totalItems": 4, "totalPages": 1, "items": [ { "author": "3mugf953w4a9fg5", "avatar": "", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2025-01-02 22:29:19.092Z", "description": "This list was updated by the wanderer API", "id": "4yql7587j64qdo5", "name": "Updated API List", "public": false, "trails": [], "updated": "2025-01-02 22:39:36.944Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "640px_mont_saint_michel_vu_du_ciel_MvWoudBkPE.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-09-09 22:10:07.972Z", "description": "La Véloscénie is a 450-kilometre (280 mi) cycle route that takes you on an adventure from Paris to Mont-Saint-Michel on the Channel coast. From the capital to the beaches, passing through numerous hamlets and stunning towns such as Chartres, this journey westwards has many surprises in store.\r\n\r\nWe suggest you complete this journey in seven stages. This is a challenging pace, but should still leave you time to discover the many attractions en route. Cathedrals, castles, lakes, stunning landscapes and historic villages will show you that you don't have to wait for Mont-Saint-Michel to be amazed.\r\n\r\nThe itinerary alternates between little-used secondary roads, greenways and trails. This trip is best ridden on a bike that can handle rougher trails, like a touring, hybrid or gravel bike.\r\n\r\nParis is easy to reach from anywhere in France, but the choice is more limited if you want to leave from Mont-Saint-Michel. The nearest railway station is in Pontorson, 10 kilometres (6 mi) from Mont-Saint-Michel. From Pontorson, direct trains to Paris leave every evening, around 6pm on weekdays and at weekends, only between June and the end of September. Bikes can be taken on board free of charge by prior arrangement. Apart from this seasonal service, there are other ways of returning to Paris, with at least one train change required. For more information: veloscenic.com/reaching-the-veloscenic-cycle-route\r\n\r\nAlthough the route is accessible all year round, some accommodation and tourist attractions are likely to close in the low season, so it’s best to ride in spring or summer. While some stages end in big cities, others end in more rural areas and you’ll need to book your accommodation in advance. It’s not necessary to book restaurants along the route, but it is best to plan stops for refreshments, as not all the villages you pass through have restaurants or shops.", "id": "bdv9iukn4d2lf2i", "name": "From Paris to Mont-Saint-Michel — La Véloscénie", "public": false, "trails": [ "jou2tcf0y8jj9m3", "ilyvsa4xr52lxlr", "2y8o7bwmor4yltt", "gmh81mczhjp834l", "6hpvcyosmqr8uk8", "iql9fifaxnb5u6m", "y9hjysn5xhbmi86", "fehuzqkfi49hkwn", "fmin7pbj8urtxx0", "14y4qxqbqh0n10m", "6fv6krwusycttbl", "66jj108gizquc2r", "wbuwzu8tp48hljg", "x3lo6ru4ly753w6", "h91u3vl8n5ekune", "bzodytd0vd2e56g", "oy1auygew9fvha0", "6atd6i73bzle0ar", "iz2ohx9hbn8irrc", "2o9c3pxfvrzclud", "btn09xkl7ab0n9k", "ek2cb00tw4v4fav" ], "updated": "2024-12-27 00:55:25.917Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "dscn0010_xN987yGxE0.jpg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-30 17:41:00.152Z", "description": "Hallo", "id": "dci7qk44birm2bn", "name": "Liste mit Oachkatzerl", "public": true, "trails": [ "ovo0m6pxxjupfp9", "yesm2tqc6jok8jq", "z94vgei3jdc37k4" ], "updated": "2024-12-30 18:58:44.269Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } }, { "author": "3mugf953w4a9fg5", "avatar": "caret_right_solid_iUtggzDoh7.svg", "collectionId": "r6gu2ajyidy1x69", "collectionName": "lists", "created": "2024-12-13 12:46:49.620Z", "description": "", "id": "m59tuo2yyretv7z", "name": "Flomp's List 2", "public": false, "trails": [ "ovo0m6pxxjupfp9" ], "updated": "2024-12-27 00:55:21.456Z", "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } ] } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "x-400:Invalid sort/expand/filter": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Something went wrong while processing your request.", "detail": { "code": 400, "message": "Something went wrong while processing your request.", "data": {} } } } }, "headers": {} } }, "security": [] }, "put": { "summary": "create", "deprecated": false, "description": "Creates a trail.", "operationId": "createTrail", "tags": [ "trail" ], "parameters": [ { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request id. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the trail" }, "public": { "type": "boolean", "description": "Visible for everyone" }, "category": { "type": "string", "minLength": 15, "maxLength": 15, "description": "Category Id" }, "date": { "type": "string", "format": "date", "description": "Date of the trail" }, "description": { "type": "string", "description": "Description of the trail" }, "difficulty": { "type": "string", "enum": [ "easy", "moderate", "hard" ], "description": "Difficulty of the trail" }, "distance": { "type": "number", "description": "Distance in meters", "minimum": 0 }, "duration": { "type": "number", "description": "Duration in seconds", "minimum": 0 }, "elevation_gain": { "type": "number", "description": "Elevation gain in vertical meters", "minimum": 0 }, "elevation_loss": { "type": "number", "description": "Elevation loss in vertical meters", "minimum": 0 }, "lat": { "type": "number", "description": "Latitude of the starting point", "minimum": -90, "maximum": 90 }, "location": { "type": "string", "description": "Nearest city/village" }, "lon": { "type": "number", "description": "Longitude of the starting point", "minimum": -180, "maximum": 180 }, "thumbnail": { "type": "integer", "description": "Index of the photo that should be used as the thumbnail.", "minimum": 0 }, "author": { "type": "string", "minLength": 15, "maxLength": 15, "description": "User Id" } }, "required": [ "name", "public", "author" ] }, "example": { "name": "at error minus", "public": false, "category": "l3q348pprel6opd", "date": "2025-01-03T00:36:48.554Z", "description": "Minima architecto maiores maiores architecto. Nobis aliquid magni magni ipsum. Itaque maxime mollitia. Laboriosam placeat ipsa omnis magni atque non.", "difficulty": "moderate", "distance": 46585640.67167308, "duration": 8687485.195364153, "elevation_gain": 4089694.238652264, "elevation_loss": 12108588.345680581, "lat": 86.60827022966254, "location": "sunt", "lon": 112.96378311445648, "thumbnail": 0, "author": "3mugf953w4a9fg5" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] }, "example": { "author": "3mugf953w4a9fg5", "category": "l3q348pprel6opd", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2025-01-03 11:36:58.976Z", "date": "2025-01-03 00:36:48.554Z", "description": "Minima architecto maiores maiores architecto. Nobis aliquid magni magni ipsum. Itaque maxime mollitia. Laboriosam placeat ipsa omnis magni atque non.", "difficulty": "moderate", "distance": 46585640.67167308, "duration": 8687485.195364153, "elevation_gain": 4089694.238652264, "elevation_loss": 12108588.345680581, "gpx": "", "id": "d9ba280yjycrk0k", "lat": 86.60827022966254, "location": "sunt", "lon": 112.96378311445648, "name": "at error minus", "photos": [], "public": false, "summit_logs": [], "thumbnail": 0, "updated": "2025-01-03 11:36:58.976Z", "waypoints": [] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": { "author": { "type": "object", "properties": { "code": { "type": "string" }, "message": { "type": "string" } }, "required": [ "code", "message" ] } }, "required": [ "author" ] } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "Failed to create record.", "detail": { "code": 400, "message": "Failed to create record.", "data": { "author": { "code": "validation_missing_rel_records", "message": "Failed to find all relation records with the provided ids." } } } } } }, "headers": {} }, "x-400:Invalid Params": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "validation": { "type": "string" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } }, "required": [ "code", "message", "path" ] } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "invalid_string", "validation": "date", "message": "Invalid date", "path": [ "date" ] }, { "code": "custom", "message": "invalid-date", "path": [ "date" ] } ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail/{id}": { "get": { "summary": "show", "deprecated": false, "description": "Shows a single trail.", "operationId": "showTrail", "tags": [ "trail" ], "parameters": [ { "name": "id", "in": "path", "description": "Trail Id", "required": true, "example": "95bb1d77c8dfa98", "schema": { "type": "string", "minLength": 15, "maxLength": 15 } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "example": "", "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "example": "", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "integer" }, "elevation_gain": { "type": "integer" }, "elevation_loss": { "type": "integer" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } }, "expand": { "type": "object", "properties": { "author": { "type": "object", "properties": { "avatar": { "type": "string" }, "bio": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "id": { "type": "string" }, "private": { "type": "boolean" }, "username": { "type": "string" } }, "required": [ "avatar", "bio", "collectionId", "collectionName", "created", "id", "private", "username" ] } }, "required": [ "author" ] } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints", "expand" ] }, "example": { "author": "3mugf953w4a9fg5", "category": "pbwx1lg2nmcih0w", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2024-12-30 18:57:35.453Z", "date": "2024-12-30", "description": "", "difficulty": "moderate", "distance": 5631.307320599051, "duration": 0, "elevation_gain": 76, "elevation_loss": 76, "gpx": "blob_0E0x721wan.gpx", "id": "z94vgei3jdc37k4", "lat": 47.385232, "location": "", "lon": 9.655863, "name": "Die Pottsau", "photos": [ "23xxesym0e9w18z2904frnpgy7_2SQmCCI6DV.jpg", "caret_right_solid_9154Rrvk6B.svg" ], "public": false, "summit_logs": [ "95bb1d77c8dfa98" ], "thumbnail": 1, "updated": "2024-12-30 18:59:56.924Z", "waypoints": [ "7f6d2a8c9d50136", "60c2d435a5b66ed" ], "expand": { "author": { "avatar": "pexels_photo_2230444_WILu8cRHVb.jpg", "bio": "ex aliqua velit deserunt ea exercitation do. Velit ullamco elit culpa eiusmod officia irure aute Lorem in ullamco labore ex. Officia ea qui in exercitation amet. Consequat laboris id duis enim Lorem dolore fugiat excepteur sunt. Sint consectetur duis tempor deserunt non. Ex amet sunt eu commodo.\n\nMollit labore cupidatat qui enim consectetur irure. Ea et reprehenderit ipsum adipisicing duis proident tempor esse excepteur dolor dolore anim consectetur aliqua. Laborum culpa eiusmod id ea consectetur do sit reprehenderit consequat voluptate mollit commodo. Ullamco aute ea minim enim et cupidatat ipsum cillum fugiat. Proident consectetur commodo Lorem do incididunt labore pariatur esse ea officia adipisicing. Do et sint culpa proident enim irure aliqua dolore magna. Laborum Lorem sunt amet occaecat occaecat mollit consectetur laborum ut.", "collectionId": "xku110v5a5xbufa", "collectionName": "users_anonymous", "created": "2024-06-29 19:23:47.731Z", "id": "3mugf953w4a9fg5", "private": false, "username": "Flomp" } } } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [] }, "post": { "summary": "update", "deprecated": false, "description": "", "operationId": "updateTrail", "tags": [ "trail" ], "parameters": [ { "name": "id", "in": "path", "description": "Trail Id", "required": true, "example": "", "schema": { "type": "string" } }, { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/json", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the trail" }, "category": { "type": "string", "minLength": 15, "maxLength": 15, "description": "Category Id" }, "date": { "type": "string", "format": "date", "description": "Date of the trail" }, "description": { "type": "string", "description": "Description of the trail" }, "difficulty": { "type": "string", "enum": [ "easy", "moderate", "hard" ], "description": "Difficulty of the trail" }, "distance": { "type": "number", "description": "Distance in meters", "minimum": 0 }, "duration": { "type": "number", "description": "Duration in seconds", "minimum": 0 }, "elevation_gain": { "type": "number", "description": "Elevation gain in vertical meters", "minimum": 0 }, "elevation_loss": { "type": "number", "description": "Elevation loss in vertical meters", "minimum": 0 }, "lat": { "type": "number", "description": "Latitude of the starting point", "minimum": -90, "maximum": 90 }, "location": { "type": "string", "description": "Nearest city/village" }, "lon": { "type": "number", "description": "Longitude of the starting point", "minimum": -180, "maximum": 180 }, "public": { "type": "boolean", "description": "Visible for everyone" }, "thumbnail": { "type": "integer", "description": "Index of the photo that should be used as the thumbnail.", "minimum": 0 } } }, "example": { "name": "inventore est laboriosam", "category": "7sqwezntokmbvdr", "date": "2025-01-03T07:14:55.803Z", "description": "At dolor deleniti architecto nulla nemo in perspiciatis. Iste iusto ex quidem sed modi. Ipsam unde doloribus aut. Molestias ducimus molestias soluta.", "difficulty": "easy", "distance": 71499916.19683264, "duration": 87771408.86514412, "elevation_gain": 67291819.86293587, "elevation_loss": 76718134.08675973, "lat": 85.23610854378416, "location": "ex laborum", "lon": -48.60959423486602, "public": true, "thumbnail": 0 } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] }, "example": { "author": "3mugf953w4a9fg5", "category": "7sqwezntokmbvdr", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2025-01-03 11:42:07.848Z", "date": "2025-01-03 07:14:55.803Z", "description": "At dolor deleniti architecto nulla nemo in perspiciatis. Iste iusto ex quidem sed modi. Ipsam unde doloribus aut. Molestias ducimus molestias soluta.", "difficulty": "easy", "distance": 71499916.19683264, "duration": 87771408.86514412, "elevation_gain": 67291819.86293587, "elevation_loss": 76718134.08675973, "gpx": "2021_11_14_564807964_dusseldorf_angermund_nach_ZpNsRB5SEW.Neuss-Hamm.gpx", "id": "hfdmpa1n1ulyr64", "lat": 85.23610854378416, "location": "ex laborum", "lon": -48.60959423486602, "name": "inventore est laboriosam", "photos": [], "public": true, "summit_logs": [ "3pagejfjt1cz4vr" ], "thumbnail": 0, "updated": "2025-01-03 11:48:41.963Z", "waypoints": [] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] }, "delete": { "summary": "delete", "deprecated": false, "description": "Deletes a summit log.", "operationId": "deleteTrail", "tags": [ "trail" ], "parameters": [ { "name": "id", "in": "path", "description": "Summit Log Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } }, { "name": "expand", "in": "query", "description": "Expand a foreign key column (https://pocketbase.io/docs/working-with-relations/#expanding-relations).", "required": false, "schema": { "type": "string" } }, { "name": "requestKey", "in": "query", "description": "Unique request key. Prevents auto cancel when sending multiple requests.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "acknowledged": { "type": "boolean" } }, "required": [ "acknowledged" ] }, "example": { "acknowledged": true } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail/upload": { "put": { "summary": "upload", "deprecated": false, "description": "Automatically creates a trail from the uploaded file. Tries to infer as much information as possible from the file's metadata.", "operationId": "uploadTrail", "tags": [ "trail" ], "parameters": [ { "name": "Content-Type", "in": "header", "description": "", "required": true, "example": "application/gpx+xml", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "file": { "format": "binary", "type": "string", "description": "File containing GPS track data. Allowed file types: GPX, JSON, FIT, KML", "example": "file:///Users/christianbeutel/Downloads/4_champex_to_le_chable.gpx" }, "name": { "description": "File name", "example": "", "type": "string" } }, "required": [ "file" ] }, "example": "/Users/christianbeutel/Downloads/2021-10-24_536064034_Essen-Mitte.nach.Bochum-Hauptbahnhof.gpx" } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] }, "example": { "author": "3mugf953w4a9fg5", "category": "", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2025-01-03 11:42:07.848Z", "date": "2021-11-14 00:00:00.000Z", "description": "", "difficulty": "easy", "distance": 24077.68400534589, "duration": 297.01666666666665, "elevation_gain": 40.10210099999998, "elevation_loss": 45.42742099999999, "gpx": "2021_11_14_564807964_dusseldorf_angermund_nach_ZpNsRB5SEW.Neuss-Hamm.gpx", "id": "hfdmpa1n1ulyr64", "lat": 51.33429, "location": "", "lon": 6.768533, "name": "Düsseldorf-Angermund nach Neuss-Hamm", "photos": [], "public": false, "summit_logs": [ "3pagejfjt1cz4vr" ], "thumbnail": 0, "updated": "2025-01-03 11:42:07.962Z", "waypoints": [] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "url": { "type": "string" }, "status": { "type": "integer" }, "response": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "isAbort": { "type": "boolean" }, "originalError": { "type": "object", "properties": { "status": { "type": "integer" }, "response": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] } }, "required": [ "status", "response" ] }, "name": { "type": "string" } }, "required": [ "url", "status", "response", "isAbort", "originalError", "name" ] }, "example": { "url": "", "status": 400, "response": { "message": "Invalid file" }, "isAbort": false, "originalError": { "status": 400, "response": { "message": "Invalid file" } }, "name": "ClientResponseError 400" } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } }, "/trail/{id}/file": { "post": { "summary": "file", "deprecated": false, "description": "Uploads or removes photos, uploads GPS data file for a trail.", "operationId": "fileTrail", "tags": [ "trail" ], "parameters": [ { "name": "id", "in": "path", "description": "Trail Id", "required": true, "example": "4yql7587j64qdo5", "schema": { "type": "string" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "type": "object", "properties": { "photos": { "format": "binary", "type": "string", "description": "List of image files to add. Allowed file types: PNG, JPG, WEBP, SVG", "example": [ "" ] }, "photos-": { "type": "array", "items": { "type": "string" }, "description": "List of file names to delete.", "example": "" }, "gpx": { "type": "string", "format": "binary", "minLength": 0, "maxLength": 1, "description": "File containing GPS track data. Allowed file types: GPX, JSON, FIT, KML", "example": "file:///Users/christianbeutel/Downloads/2021-10-24_536064034_Essen-Mitte.nach.Bochum-Hauptbahnhof.gpx" } } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "author": { "type": "string" }, "category": { "type": "string" }, "collectionId": { "type": "string" }, "collectionName": { "type": "string" }, "created": { "type": "string" }, "date": { "type": "string" }, "description": { "type": "string" }, "difficulty": { "type": "string" }, "distance": { "type": "number" }, "duration": { "type": "number" }, "elevation_gain": { "type": "number" }, "elevation_loss": { "type": "number" }, "gpx": { "type": "string" }, "id": { "type": "string" }, "lat": { "type": "number" }, "location": { "type": "string" }, "lon": { "type": "number" }, "name": { "type": "string" }, "photos": { "type": "array", "items": { "type": "string" } }, "public": { "type": "boolean" }, "summit_logs": { "type": "array", "items": { "type": "string" } }, "thumbnail": { "type": "integer" }, "updated": { "type": "string" }, "waypoints": { "type": "array", "items": { "type": "string" } } }, "required": [ "author", "category", "collectionId", "collectionName", "created", "date", "description", "difficulty", "distance", "duration", "elevation_gain", "elevation_loss", "gpx", "id", "lat", "location", "lon", "name", "photos", "public", "summit_logs", "thumbnail", "updated", "waypoints" ] }, "example": { "author": "3mugf953w4a9fg5", "category": "7sqwezntokmbvdr", "collectionId": "e864strfxo14pm4", "collectionName": "trails", "created": "2025-01-03 11:42:07.848Z", "date": "2025-01-03 07:14:55.803Z", "description": "At dolor deleniti architecto nulla nemo in perspiciatis. Iste iusto ex quidem sed modi. Ipsam unde doloribus aut. Molestias ducimus molestias soluta.", "difficulty": "easy", "distance": 71499916.19683264, "duration": 87771408.86514412, "elevation_gain": 67291819.86293587, "elevation_loss": 76718134.08675973, "gpx": "4_champex_to_le_chable_h8sE0CwAes.gpx", "id": "hfdmpa1n1ulyr64", "lat": 85.23610854378416, "location": "ex laborum", "lon": -48.60959423486602, "name": "inventore est laboriosam", "photos": [ "23xxesym0e9w18z2904frnpgy7_0h84aa22yv.jpg", "23xxesym0e9w18z2904frnpgy7_7JhLWsRrsm.jpg" ], "public": true, "summit_logs": [ "3pagejfjt1cz4vr" ], "thumbnail": 0, "updated": "2025-01-03 12:08:43.037Z", "waypoints": [] } } }, "headers": {} }, "400": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string" }, "minimum": { "type": "integer" }, "type": { "type": "string" }, "inclusive": { "type": "boolean" }, "exact": { "type": "boolean" }, "message": { "type": "string" }, "path": { "type": "array", "items": { "type": "string" } } } } } }, "required": [ "message", "details" ] }, "example": { "message": "invalid_params", "details": [ { "code": "too_small", "minimum": 15, "type": "string", "inclusive": true, "exact": true, "message": "String must contain exactly 15 character(s)", "path": [ "id" ] } ] } } }, "headers": {} }, "404": { "description": "", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string" }, "detail": { "type": "object", "properties": { "code": { "type": "integer" }, "message": { "type": "string" }, "data": { "type": "object", "properties": {} } }, "required": [ "code", "message", "data" ] } }, "required": [ "message", "detail" ] }, "example": { "message": "The requested resource wasn't found.", "detail": { "code": 404, "message": "The requested resource wasn't found.", "data": {} } } } }, "headers": {} } }, "security": [ { "apikey-header-pb_auth": [] } ] } } }, "components": { "schemas": {}, "securitySchemes": { "apikey-header-pb_auth": { "type": "apiKey", "in": "header", "name": "pb_auth" } } }, "servers": [], "security": [ { "apikey-header-pb_auth": [] } ] }