Skip to content

Search file imports

GET
/api/v1/file-imports
curl --request GET \
--url http://localhost:8080/api/v1/file-imports \
--header 'Authorization: Bearer <token>'

Lists the files that are waiting to be imported, followed by the outcome of every file import, newest first.

Status Meaning
queued The file is waiting for the next import run.
success The file was imported; activityId is the new activity.
skipped The file duplicates an activity that was already imported.
failed The file could not be imported; errorMessage says why.
GET /api/v1/file-imports?filters[filename]=morning-ride.fit
filters
object
filename

Only imports of the file with exactly this name

string
status

One status, or several separated by commas. Queued files are always listed.

string
source

One source, or several separated by commas

string
pagination
object
page
integer
default: 1 >= 1
size
integer
default: 25 >= 1 <= 100

A page of file imports, queued files first, then newest first.

Media typeapplication/json
object
fileImports
required
Array<object>
object
id
required

Null while the file is queued.

string | null
filename
required
string
source
required
string
Allowed values: fitFile tcxFile gpxFile
status
required
string
Allowed values: queued success skipped failed
errorMessage
required
string | null
activityId
required

The imported activity. Only set when the status is success.

string | null
importedOn
required

Null while the file is queued.

string | null format: date-time
pagination
required
object
page
required
integer
size
required
integer
total
required
integer
totalPages
required
integer
Example
{
"fileImports": [
{
"id": "fileImport-0198a2b1-8f3e-7c2d-9a4b-1f2e3d4c5b6a",
"filename": "morning-ride.fit",
"source": "fitFile",
"status": "queued",
"errorMessage": "Skipped, activity was already imported",
"activityId": "activity-9542782314",
"importedOn": "2026-09-28T10:00:00"
}
]
}
Media typeapplication/json

Every error uses this shape.

object
error
required

A stable, machine readable code.

string
Allowed values: invalid_token missing_file unsupported_media_type unsupported_file_type file_too_large import_mode_not_files gpx_not_available not_found method_not_allowed bad_request forbidden internal_error
message
required
string
Examples
ExampleunknownStatus
{
"error": "bad_request",
"message": "\"filters[status]\" contains an unknown status."
}

The Authorization header was missing, malformed, or did not match the configured key.

Media typeapplication/json

Every error uses this shape.

object
error
required

A stable, machine readable code.

string
Allowed values: invalid_token missing_file unsupported_media_type unsupported_file_type file_too_large import_mode_not_files gpx_not_available not_found method_not_allowed bad_request forbidden internal_error
message
required
string
Examples
ExampleinvalidToken
{
"error": "invalid_token",
"message": "A valid API token is required. Send it in the Authorization header as a Bearer token."
}
WWW-Authenticate
string