Skip to main content

API Documentation

Complete API reference for the FishingLog Backend.

Overview

The FishingLog API is a RESTful API built with ASP.NET Core 9.0. It provides endpoints for:

  • Fishing Logs: Track fishing sessions, catches, and personal bests
  • Social Features: Posts, comments, likes, friends, and circles
  • Tournaments: Registration, leaderboards, and results
  • Gear Management: Rods, reels, boats, and gear setups
  • Spots & Reports: Fishing locations, ratings, and conditions
  • Charters: Charter listings and bookings
  • Clubs & Events: Fishing clubs, events, and memberships
  • Regulations: Location-based fishing regulations
  • Admin Panel: Content moderation, user management, and analytics
  • Advertising: Ad campaigns, targeting, and serving

Base URL

  • Local Development: https://localhost:5100 (HTTPS) or http://localhost:5101 (HTTP)
  • Staging: https://api-staging.reelog.app
  • Production: https://api.reelog.app

API Versioning

Currently using unversioned API. All endpoints are under /api/ prefix.

Authentication

Most endpoints require JWT Bearer token authentication via AWS Cognito.

See Authentication Guide for details.

Interactive Documentation

Swagger UI

When running locally, access interactive API documentation at:

https://localhost:5100/swagger

Insomnia Workspace

A complete Insomnia workspace is available for API testing:

Response Format

Success Response

{
"id": "guid",
"name": "string",
"createdAt": "2025-12-10T00:00:00Z"
}

Error Response

{
"error": "Error message",
"details": "Additional error details"
}

Pagination

Paginated endpoints return:

{
"items": [...],
"pageNumber": 1,
"pageSize": 20,
"totalCount": 100,
"totalPages": 5
}

HTTP Status Codes

  • 200 OK - Request successful
  • 201 Created - Resource created successfully
  • 400 Bad Request - Invalid request data
  • 401 Unauthorized - Authentication required
  • 403 Forbidden - Insufficient permissions
  • 404 Not Found - Resource not found
  • 500 Internal Server Error - Server error

Rate Limiting

Currently no rate limiting implemented. Rate limiting will be added in future releases.

Support

For API questions or issues: