TripFlow API (v1.0.0)

Download OpenAPI specification:

API documentation for TripFlow, the travel planning application.

Get Shared Itinerary

Returns a read-only itinerary by share token. Public endpoint.

Authorizations:
auth_token
path Parameters
token
required
string

Responses

Map Integration

Map search and directions proxy endpoints

Get route directions

Returns optimized route geometry and summary from ordered waypoints.

Authorizations:
auth_token
Request Body schema: application/json
required
profile
required
string
Enum: "DRIVING" "DRIVING_TRAFFIC" "WALKING" "CYCLING"
required
Array of objects (MapCoordinateDTO) [ 2 .. 25 ] items
alternatives
boolean
steps
boolean

Responses

Request samples

Content type
application/json
{
  • "profile": "DRIVING",
  • "waypoints": [
    ],
  • "alternatives": true,
  • "steps": true
}

Suggest places

Returns autocomplete location suggestions through backend map proxy.

Authorizations:
auth_token
query Parameters
q
string
language
string
limit
integer <int32>
proximity
string
bbox
string
country
string
lat
number <double>
lon
number <double>
radiusKm
integer <int32>
category
string

Responses

Retrieve place details

Returns place details and coordinates from selected suggestion.

Authorizations:
auth_token
path Parameters
id
required
string
query Parameters
language
string

Responses

AI Generation

AI generation and processing

Submit AI Processing Request

Submits a request for AI processing based on user preferences.

Authorizations:
auth_token
Request Body schema: application/json
required
aiPrompt
string [ 0 .. 2000 ] characters
destination
string [ 0 .. 200 ] characters
style
string [ 0 .. 100 ] characters
budget
number <double>
lodging
string [ 0 .. 100 ] characters
duration
string [ 0 .. 50 ] characters
interests
Array of strings [ 0 .. 20 ] items

Responses

Request samples

Content type
application/json
{
  • "aiPrompt": "string",
  • "destination": "string",
  • "style": "string",
  • "budget": 0.1,
  • "lodging": "string",
  • "duration": "string",
  • "interests": [
    ]
}

Get AI Status

Retrieves the AI status for the authenticated user.

Authorizations:
auth_token

Responses

Statistics

Endpoints for retrieving statistics

Get Users By Plan Statistics

Retrieves user distribution grouped by subscription plan. Admin only endpoint.

Authorizations:
auth_token

Responses

Get User Statistics

Retrieves statistics related to the authenticated user.

Authorizations:
auth_token

Responses

Itinerary Collaboration

Endpoints for managing itinerary collaborators and invitations

Update Collaborator Role

Updates a collaborator's role. Only owner can do this.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>
username
required
string
Request Body schema: application/json
required
role
required
string
Enum: "EDITOR" "VIEWER" "OWNER"

Responses

Request samples

Content type
application/json
{
  • "role": "EDITOR"
}

Remove Collaborator

Removes a collaborator. Owner can remove anyone, collaborators can remove themselves.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>
username
required
string

Responses

Accept Invitation

Accepts a pending invitation to collaborate on an itinerary.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>
username
required
string

Responses

Get Collaborators

Gets all collaborators of an itinerary.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>

Responses

Send Invitation

Sends an invitation to a user to collaborate on an itinerary. Only owner can do this.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>
Request Body schema: application/json
required
username
required
string non-empty
role
required
string
Enum: "EDITOR" "VIEWER" "OWNER"

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "role": "EDITOR"
}

Decline Invitation

Declines a pending invitation to collaborate on an itinerary.

Authorizations:
auth_token
path Parameters
itineraryId
required
integer <int64>
username
required
string

Responses

Users Management

User management and operations

Get user by username

Retrieves a user by their username.

Authorizations:
auth_token
path Parameters
username
required
string

Responses

Update user by username

Updates a user by their username.

Authorizations:
auth_token
path Parameters
username
required
string
Request Body schema: application/json
required
name
string [ 0 .. 50 ] characters
description
string [ 0 .. 500 ] characters
location
string [ 0 .. 100 ] characters
notificationsAllowed
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "location": "string",
  • "notificationsAllowed": true
}

Delete user by username

Deletes a user by their username.

Authorizations:
auth_token
path Parameters
username
required
string

Responses

Get avatar for user by username

Retrieves an avatar for a user by their username.

Authorizations:
auth_token
path Parameters
username
required
string

Responses

Upload avatar for user by username

Uploads an avatar for a user by their username.

Authorizations:
auth_token
path Parameters
username
required
string
Request Body schema: application/json
avatar
required
string <binary>

Responses

Request samples

Content type
application/json
{
  • "avatar": "string"
}

Get all users

Retrieves a list of all users.

Authorizations:
auth_token
query Parameters
required
object (Pageable)
search
string

Responses

Get pending invitations

Retrieves all pending collaboration invitations for a user.

Authorizations:
auth_token
path Parameters
username
required
string

Responses

Health Check

Endpoint for checking the health status of the application

Health Check Endpoint

Returns the health status of the application.

Authorizations:
auth_token

Responses

Health Check Endpoint

Returns the health status of the application.

Authorizations:
auth_token

Responses

Authentication

Endpoints for user authentication and authorization

Account Verification Endpoint

Verifies a user account using the provided code.

Authorizations:
auth_token
Request Body schema: application/json
required
username
required
string non-empty
code
required
string [ 0 .. 10 ] characters

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "code": "string"
}

Reset Password with OTP

Resets password using username/email, OTP code, and new password.

Authorizations:
auth_token
Request Body schema: application/json
required
username
required
string non-empty
code
required
string non-empty
password
required
string non-empty
confirmPassword
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "code": "string",
  • "password": "string",
  • "confirmPassword": "string"
}

Resend Verification Code

Resends the verification code to the user's email.

Authorizations:
auth_token
Request Body schema: application/json
required
username
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

User Registration Endpoint

Registers a new user with the provided details.

Authorizations:
auth_token
Request Body schema: application/json
required
email
required
string <email> [ 0 .. 255 ] characters
username
required
string non-empty
password
required
string non-empty
confirmPassword
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "username": "string",
  • "password": "string",
  • "confirmPassword": "string"
}

Token Refresh Endpoint

Refreshes the authentication token using a valid refresh token.

Authorizations:
auth_token
cookie Parameters
refresh_token
required
string

Responses

User Logout Endpoint

Logs out the authenticated user and terminates the session.

Authorizations:
auth_token

Responses

User Login Endpoint

Authenticates a user and initiates a session.

Authorizations:
auth_token
Request Body schema: application/json
required
username
required
string non-empty
password
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Forgot Password Endpoint

Sends a one-time code to reset account password.

Authorizations:
auth_token
Request Body schema: application/json
required
username
required
string non-empty

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

Itinerary Management

Endpoints for managing itineraries

Get Itinerary by ID

Retrieves the details of a specific itinerary by its ID for the authenticated user.

Authorizations:
auth_token
path Parameters
id
required
integer <int64>

Responses

Update Itinerary

Updates an existing itinerary for the authenticated user.

Authorizations:
auth_token
path Parameters
id
required
integer <int64>
Request Body schema: application/json
required
id
integer <int64>
title
required
string [ 0 .. 200 ] characters
place
string [ 0 .. 200 ] characters
people
integer <int32>
budget
number <double>
date
string [ 0 .. 50 ] characters
tags
Array of strings [ 0 .. 30 ] items
updatedCount
integer <int64>
status
string
Enum: "DRAFT" "PLANNED" "ONGOING" "COMPLETED"
Array of objects (ItineraryDayDTO)
countDays
integer <int32>
object (ExternalImageDTO)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "place": "string",
  • "people": 0,
  • "budget": 0.1,
  • "date": "string",
  • "tags": [
    ],
  • "updatedCount": 0,
  • "status": "DRAFT",
  • "days": [
    ],
  • "countDays": 0,
  • "coverImage": {
    }
}

Delete Itinerary

Deletes an existing itinerary for the authenticated user.

Authorizations:
auth_token
path Parameters
id
required
integer <int64>

Responses

Get All Itineraries

Retrieves a paginated list of itineraries for the authenticated user.

Authorizations:
auth_token
query Parameters
required
object (Pageable)
search
string

Responses

Create Itinerary

Creates a new itinerary for the authenticated user.

Authorizations:
auth_token
Request Body schema: application/json
required
id
integer <int64>
title
required
string [ 0 .. 200 ] characters
place
string [ 0 .. 200 ] characters
people
integer <int32>
budget
number <double>
date
string [ 0 .. 50 ] characters
tags
Array of strings [ 0 .. 30 ] items
updatedCount
integer <int64>
status
string
Enum: "DRAFT" "PLANNED" "ONGOING" "COMPLETED"
Array of objects (ItineraryDayDTO)
countDays
integer <int32>
object (ExternalImageDTO)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "place": "string",
  • "people": 0,
  • "budget": 0.1,
  • "date": "string",
  • "tags": [
    ],
  • "updatedCount": 0,
  • "status": "DRAFT",
  • "days": [
    ],
  • "countDays": 0,
  • "coverImage": {
    }
}

Get All Itineraries

Retrieves a paginated list of itineraries for the authenticated user.

Authorizations:
auth_token
query Parameters
required
object (Pageable)
search
string

Responses

Create Itinerary

Creates a new itinerary for the authenticated user.

Authorizations:
auth_token
Request Body schema: application/json
required
id
integer <int64>
title
required
string [ 0 .. 200 ] characters
place
string [ 0 .. 200 ] characters
people
integer <int32>
budget
number <double>
date
string [ 0 .. 50 ] characters
tags
Array of strings [ 0 .. 30 ] items
updatedCount
integer <int64>
status
string
Enum: "DRAFT" "PLANNED" "ONGOING" "COMPLETED"
Array of objects (ItineraryDayDTO)
countDays
integer <int32>
object (ExternalImageDTO)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "title": "string",
  • "place": "string",
  • "people": 0,
  • "budget": 0.1,
  • "date": "string",
  • "tags": [
    ],
  • "updatedCount": 0,
  • "status": "DRAFT",
  • "days": [
    ],
  • "countDays": 0,
  • "coverImage": {
    }
}