Tripsy Public API
The Tripsy Public API is exposed through:
https://api.tripsy.app
Examples:
https://api.tripsy.app/v1/me
https://api.tripsy.app/v1/trips
https://api.tripsy.app/v2/trips
https://api.tripsy.app/auth
Content types
Request bodies use application/json unless an endpoint says otherwise. Response bodies are generally JSON; some successful updates and deletes have an empty body, and email verification links render an HTML page.
Datetimes
Datetimes use UTC ISO-8601:
YYYY-MM-DDTHH:MM:SSZ
Example:
2026-03-17T14:30:00Z
List envelopes
Most list endpoints return paginated responses:
{
"count": 2,
"next": null,
"previous": null,
"results": []
}
GET /v1/trips is the exception and returns:
{
"results": []
}
GET /v2/trips and /v2/trip/... list endpoints use the standard paginated envelope. Detail endpoints return a single object. GET /v1/categories returns an unpaginated results envelope.
Field filtering
Trips, hostings, activities, transportations, and expenses support field filtering:
?fields=id,name,starts_at
?fields!=emails
Some fields may still be omitted based on permissions:
priceandcurrencymay be hidden if the caller cannot see expenses.- Document and booking-email content requires document visibility permission. Owners need active Pro; permitted collaborators do not need their own Pro.
Route Summary
Use the public paths below; do not add the internal /api/ prefix. The public virtual-host configuration must be deployed alongside the backend when new paths are introduced.
Auth and account
POST /authPOST /v1/authPOST /v1/signupPOST /auth/login/POST /auth/logout/GET|PUT|PATCH /auth/user/POST /auth/password/reset/POST /auth/password/reset/confirm/POST /auth/password/change/GET|PUT|PATCH /v1/me
OAuth discovery, registration, authorization, token, revocation, introspection, and user info use the separate authorization server.
Email and inbox
GET /v1/emailsPOST /v1/emails/addDELETE /v1/emails/{id}GET /v1/emails/{hash}/verifyGET /v1/automation/emailsGET|PUT|PATCH|DELETE /v1/automation/emails/{id}
Storage and document metadata
POST /v1/storage/uploadsGET /v1/documents/{id}/getPUT|PATCH /v1/documents/{id}
See Documents for the complete attachment and upload flows.
Categories and guests
GET|POST /v1/categoriesGET|PUT|PATCH|DELETE /v1/categories/{id}GET /v1/guests/favoritesPOST /v1/guests/inviteGET /v1/trip/{trip_id}/collaboratorsGET|DELETE /v1/trip/{trip_id}/collaborator/{user_id}PATCH /v1/trip/{trip_id}/collaborator/{user_id}/permissions
Trips
GET|POST /v1/tripsGET|PUT|PATCH|DELETE /v1/trips/{id}GET /v2/trips
Itinerary objects
GET|POST /v1/trip/{trip_id}/hostingsGET|PUT|PATCH|DELETE /v1/trip/{trip_id}/hosting/{id}GET|POST /v1/trip/{trip_id}/activitiesGET|PUT|PATCH|DELETE /v1/trip/{trip_id}/activity/{id}GET|POST /v1/trip/{trip_id}/transportationsGET|PUT|PATCH|DELETE /v1/trip/{trip_id}/transportation/{id}GET|POST /v1/trip/{trip_id}/expensesGET|PUT|PATCH|DELETE /v1/trip/{trip_id}/expense/{id}GET /v2/trip/{trip_id}/hostingsGET /v2/trip/{trip_id}/hosting/{id}GET /v2/trip/{trip_id}/activitiesGET /v2/trip/{trip_id}/activity/{id}GET /v2/trip/{trip_id}/transportationsGET /v2/trip/{trip_id}/transportation/{id}
Document attachment writes
POST /v1/trip/{trip_id}/documentsPUT|PATCH|DELETE /v1/trip/{trip_id}/documents/{id}POST /v1/trip/{trip_id}/activity/{activity_id}/documentsPUT|PATCH|DELETE /v1/trip/{trip_id}/activity/{activity_id}/documents/{id}POST /v1/trip/{trip_id}/hosting/{hosting_id}/documentsPUT|PATCH|DELETE /v1/trip/{trip_id}/hosting/{hosting_id}/documents/{id}POST /v1/trip/{trip_id}/transportation/{transportation_id}/documentsPUT|PATCH|DELETE /v1/trip/{trip_id}/transportation/{transportation_id}/documents/{id}
Document reads
GET /v2/trip/{trip_id}/documentsGET /v2/trip/{trip_id}/documents/{id}GET /v2/trip/{trip_id}/activity/{activity_id}/documentsGET /v2/trip/{trip_id}/activity/{activity_id}/documents/{id}GET /v2/trip/{trip_id}/hosting/{hosting_id}/documentsGET /v2/trip/{trip_id}/hosting/{hosting_id}/documents/{id}GET /v2/trip/{trip_id}/transportation/{transportation_id}/documentsGET /v2/trip/{trip_id}/transportation/{transportation_id}/documents/{id}
Attached booking-email reads
GET /v2/trip/{trip_id}/emailsGET /v2/trip/{trip_id}/emails/{id}GET /v2/trip/{trip_id}/activity/{activity_id}/emailsGET /v2/trip/{trip_id}/activity/{activity_id}/emails/{id}GET /v2/trip/{trip_id}/hosting/{hosting_id}/emailsGET /v2/trip/{trip_id}/hosting/{hosting_id}/emails/{id}GET /v2/trip/{trip_id}/transportation/{transportation_id}/emailsGET /v2/trip/{trip_id}/transportation/{transportation_id}/emails/{id}