Skip to content

upload

PUT
/trail/upload

Automatically creates a trail from the uploaded file. Tries to infer as much information as possible from the file’s metadata.

Authorizations

Request Body

object
file
required

File containing GPS track data. Allowed file types: GPX, JSON, FIT, KML

string format: binary
file:///Users/christianbeutel/Downloads/4_champex_to_le_chable.gpx
name

File name

string

Responses

200

object
author
required
string
category
required
string
collectionId
required
string
collectionName
required
string
created
required
string
date
required
string
description
required
string
difficulty
required
string
distance
required
number
duration
required
number
elevation_gain
required
number
elevation_loss
required
number
gpx
required
string
id
required
string
lat
required
number
location
required
string
lon
required
number
name
required
string
photos
required
Array<string>
public
required
boolean
summit_logs
required
Array<string>
thumbnail
required
integer
updated
required
string
waypoints
required
Array<string>
Examples

Success

{
"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": []
}

400

object
url
required
string
status
required
integer
response
required
object
message
required
string
isAbort
required
boolean
originalError
required
object
status
required
integer
response
required
object
message
required
string
name
required
string
Examples

Exception

{
"url": "",
"status": 400,
"response": {
"message": "Invalid file"
},
"isAbort": false,
"originalError": {
"status": 400,
"response": {
"message": "Invalid file"
}
},
"name": "ClientResponseError 400"
}