Skip to main content

API Endpoints

Live route signatures from the backend implementation in /Users/weshuber/Reactnative/Backend/routes/*.js.

Base URL: https://api.thetrickbook.com/api

Conventions

  • Authenticated routes use x-auth-token: <jwt>.
  • Some route files include admin/account checks in middleware; see the route file for exact authorization rules.
  • This page documents implemented signatures (method + path), not payload schema details.

Auth (/api/auth)

  • POST /api/auth
  • POST /api/auth/google-auth
  • POST /api/auth/apple-auth

User Profile (/api/user)

  • GET /api/user/me
  • GET /api/user/count
  • GET /api/user/:id
  • GET /api/user/:id/public
  • GET /api/user/:id/stats
  • PUT /api/user/:id
  • GET /api/user/:id/activity
  • GET /api/user/homie-status/:targetId

Users And Network (/api/users)

  • POST /api/users
  • GET /api/users
  • GET /api/users/all
  • DELETE /api/users/:id
  • POST /api/users/forgot-password
  • POST /api/users/reset-password
  • GET /api/users/network-status
  • PUT /api/users/:id/network
  • GET /api/users/discoverable
  • POST /api/users/:id/homie-request
  • POST /api/users/:id/accept-homie
  • POST /api/users/:id/reject-homie
  • GET /api/users/homies
  • GET /api/users/homie-requests
  • DELETE /api/users/homie/:id
  • GET /api/users/homie-status/:targetId

Trick Lists (/api/listings)

  • GET /api/listings
  • GET /api/listings/countTrickLists
  • POST /api/listings
  • DELETE /api/listings/:id
  • PUT /api/listings/edit
  • GET /api/listings/all
  • GET /api/listings/public
  • PUT /api/listings/:id/visibility

Tricks In Lists (/api/listing)

  • GET /api/listing
  • GET /api/listing/allData
  • GET /api/listing/allTricks
  • GET /api/listing/graph
  • DELETE /api/listing/:id
  • PUT /api/listing/edit
  • PUT /api/listing/update
  • PUT /api/listing

Trickipedia (/api/trickipedia)

  • GET /api/trickipedia
  • GET /api/trickipedia/category/:category
  • GET /api/trickipedia/:id
  • POST /api/trickipedia
  • PUT /api/trickipedia/:id
  • DELETE /api/trickipedia/:id

Categories (/api/categories)

  • GET /api/categories
  • GET /api/categories/:id
  • POST /api/categories
  • PUT /api/categories/:id
  • DELETE /api/categories/:id

Spots (/api/spots)

  • GET /api/spots/sport-types
  • GET /api/spots/places-search
  • GET /api/spots/places/:placeId
  • GET /api/spots/reverse-geocode
  • POST /api/spots
  • POST /api/spots/bulk
  • GET /api/spots
  • GET /api/spots/all
  • GET /api/spots/pending
  • GET /api/spots/search
  • GET /api/spots/my-spots
  • GET /api/spots/:id
  • PUT /api/spots/:id
  • PUT /api/spots/:id/approve
  • PUT /api/spots/:id/reject
  • DELETE /api/spots/:id
  • GET /api/spots/:id/lists
  • GET /api/spots/:id/places-info
  • GET /api/spots/:id/photos
  • POST /api/spots/:id/photos
  • DELETE /api/spots/:id/photos/:photoKey

Spot Lists (/api/spotlists)

  • POST /api/spotlists
  • GET /api/spotlists/usage
  • GET /api/spotlists
  • GET /api/spotlists/:id
  • PUT /api/spotlists/:id
  • DELETE /api/spotlists/:id
  • POST /api/spotlists/:id/spots
  • DELETE /api/spotlists/:id/spots/:spotId
  • GET /api/spotlists/:id/spots

Spot Reviews (/api/spot-reviews)

  • GET /api/spot-reviews/:spotId
  • POST /api/spot-reviews
  • PUT /api/spot-reviews/:reviewId
  • DELETE /api/spot-reviews/:reviewId
  • POST /api/spot-reviews/:reviewId/helpful
  • GET /api/spot-reviews/user/:userId

Feed (/api/feed)

  • GET /api/feed
  • GET /api/feed/trending
  • GET /api/feed/user/:userId
  • GET /api/feed/sport/:sportType
  • GET /api/feed/:postId
  • GET /api/feed/:postId/stream
  • GET /api/feed/debug-token/:videoId
  • POST /api/feed
  • PUT /api/feed/:postId
  • DELETE /api/feed/:postId
  • POST /api/feed/:postId/reaction
  • DELETE /api/feed/:postId/reaction/:type
  • GET /api/feed/:postId/comments
  • POST /api/feed/:postId/comments
  • DELETE /api/feed/:postId/comments/:commentId
  • GET /api/feed/:postId/comments/:commentId/replies
  • POST /api/feed/:postId/comments/:commentId/love
  • POST /api/feed/:postId/save
  • GET /api/feed/saved
  • POST /api/feed/:postId/view
  • POST /api/feed/:postId/report

Direct Messages (/api/dm)

  • GET /api/dm/conversations
  • GET /api/dm/conversations/:conversationId
  • GET /api/dm/conversations/:conversationId/messages
  • POST /api/dm/conversations
  • POST /api/dm/conversations/:conversationId/messages
  • PUT /api/dm/conversations/:conversationId/read
  • GET /api/dm/unread-count

Media Library (/api/media)

  • GET /api/media/library
  • GET /api/media/library/:id
  • GET /api/media/featured
  • GET /api/media/collections
  • GET /api/media/collections/:id
  • GET /api/media/search
  • POST /api/media/library/:id/rate
  • POST /api/media/library/:id/view
  • GET /api/media/library/:id/related
  • GET /api/media/library/sport/:sportType
  • POST /api/media/library
  • PUT /api/media/library/:id
  • DELETE /api/media/library/:id
  • POST /api/media/collections

The Couch (/api/couch)

  • GET /api/couch/videos
  • GET /api/couch/featured
  • GET /api/couch/videos/:id
  • GET /api/couch/videos/:id/stream
  • GET /api/couch/collections
  • GET /api/couch/collections/:id
  • GET /api/couch/videos/:id/reaction
  • POST /api/couch/videos/:id/reaction
  • DELETE /api/couch/videos/:id/reaction/:type
  • GET /api/couch/videos/:id/comments
  • POST /api/couch/videos/:id/comments
  • DELETE /api/couch/videos/:videoId/comments/:commentId
  • POST /api/couch/requests
  • GET /api/couch/requests/mine
  • POST /api/couch/admin/sync
  • GET /api/couch/admin/videos
  • POST /api/couch/admin/youtube-metadata
  • POST /api/couch/admin/bunny/create-video
  • GET /api/couch/admin/bunny/upload-url/:bunnyVideoId
  • GET /api/couch/admin/bunny/video/:bunnyVideoId
  • POST /api/couch/admin/videos
  • PUT /api/couch/admin/videos/:id
  • DELETE /api/couch/admin/videos/:id
  • POST /api/couch/admin/collections
  • PUT /api/couch/admin/collections/:id
  • GET /api/couch/admin/requests
  • PUT /api/couch/admin/requests/:id

Upload (/api/upload)

  • POST /api/upload/video/create
  • GET /api/upload/video/:videoId/status
  • DELETE /api/upload/video/:videoId
  • POST /api/upload/video/:videoId/thumbnail
  • GET /api/upload/videos
  • POST /api/upload/image/presign
  • POST /api/upload/image/base64
  • DELETE /api/upload/image

Payments (/api/payments)

  • POST /api/payments/create-checkout-session
  • GET /api/payments/subscription
  • POST /api/payments/admin/toggle-subscription
  • POST /api/payments/cancel-subscription
  • POST /api/payments/reactivate-subscription
  • POST /api/payments/webhook

Blog (/api/blog)

  • POST /api/blog
  • GET /api/blog
  • GET /api/blog/:id
  • GET /api/blog/url/:url
  • PATCH /api/blog/update/:id
  • PATCH /api/blog/:id
  • DELETE /api/blog/:id

Image Upload Routes

Profile Image (/api/image)

  • GET /api/image
  • POST /api/image

Trick Images (/api/trickImage)

  • POST /api/trickImage/upload
  • DELETE /api/trickImage/delete-folder/:slug

Blog Images (/api/blogImage)

  • POST /api/blogImage/upload
  • DELETE /api/blogImage/delete-folder/:slug

Utility And Legacy

  • GET /api/messages
  • POST /api/messages
  • GET /api/my/listings
  • POST /api/expoPushTokens
  • POST /api/contact/send-email
  • POST /api/newsletter/subscribe
  • GET /api/newsletter/stats
  • POST /api/newsletter/unsubscribe

Socket.IO Namespaces

  • /feed
  • /messages

Common event patterns implemented in socket handlers:

  • Feed rooms/events: join:post, leave:post, comment:new, comment:deleted, comment:loved
  • Messaging rooms/events: join:conversation, leave:conversation, typing:start, typing:stop, message:new, messages:read