I'm Guide API Documentation
    I'm Guide API Documentation
    • I'm Guide - API Version Control
    • I'm Guide - Custom Error Exception
    • Planner
      • Route
        • Popular Route V1
        • Popular Route [V3] Combind
        • Popular Route AI [V2]
        • Route Detail V1
      • Place
        • Region Place V1
        • Place LIST V2 With Favorite Flag
        • Region Place V2 - include fav flag specific user
        • Place LIST V1
        • Place Detail - ATTRACTION V1
      • Custom Trip
        • Delete Custom Trip V1
        • Create trip with ai prompt
        • Optimize trip with ai prompt
        • Create Custom trip V1
        • Edit Custom Trip V1
        • VIew Detail User Custom Trip V1
        • VIew List of User Custom Trip V1
        • Create trip with custom presetdata
        • Create trip with popular presetdata
        • Review Trip V1
        • Get Unavaliable Date List V1
        • Check Unavaliable Date V1
        • Create trip with ai prompt V2
        • VIew List of User Active Trip V1
      • Active Trip
        • Get Active Trip V1
      • Config
        • Get Province
        • Get Place-Keyword
      • Activities
        • Add Fav V1
        • Add view Details Logs v1
        • Add and Update Preference v1
        • Remove Fav V1
        • Clear details Logs v1
        • Get Fav V1
        • Get Fav By Province V1
        • Get Fav By Id V1
        • Get view details Logs v1
        • Get Preference Question v1
        • Get Preference V1
        • Get Analytics AI Data
      • Communities
        • Add to community
        • Get Communities
        • Get Web Content Communities
        • edit post in community
        • delete post in community - soft delete
      • Feedback
        • Add Feedback
        • Get Feedback Web-Admin
      • Internal Endpoint
        • sync TAT ROute Data
        • sync community orderjob
        • Get Route AI Data
        • Untitled Endpoint
        • LINE SYNC CURRENT TRIP
      • Line
        • Get List Of Linked Trip In Group V1
        • Get Detail Of Linked Trip In Group V1
        • Get Day Detail Of Linked Trip In Group V1
        • Generate Link Code V1
        • Verify Link Code V1
        • Unlink From LIne V1
        • Unlink From App V1
        • Get Current Trip In Group V1
        • Get Current Trip By Day In Group V1
        • Init Line
        • Update Line Line Notification
        • Update General Line Notification
        • Get Noti Trip Line
        • LINE GET TODAY TRIP BY DAY
        • LINE GET TODAY TRIP
        • LINE GET TODAY TRIP
        • Get Noti General Line
    • Core
    • AI
      • AI Progress Notification
      • INTERNAL: getPlaceInProvince
        POST
      • UAT
        POST
    • Storage
      • File Upload
        POST
      • Get File
        GET
      • Get File List ADMIN
        GET
    • Internal
      • AI
    • TEST TAT
      GET

    I'm Guide - API Version Control

    Overview#

    This document outlines the API versioning strategy for the I'm Guide API. The versioning approach ensures backward compatibility while allowing improvements and new features.

    Current Version#

    API Version: 1.2.0#

    Release Date: Oct 29, 2024#

    💡
    Enhancements:: Version 1.2.x introduces enhanced trip configuration, user-specific custom trip management, and new trip creation options, including TAT preset routes and non-AI functionalities.

    Changelog#

    1.2.0
    Focused on trip configuration and TAT route creation.
    MethodEndpoint SlugVersionDescription
    GET/trips/v1/config/province1.0.0Get provinces list
    GET/trips/v1/config/place-keyword1.0.0Get place keyword categories
    GET/trips/v1/custom/me1.0.0Get created custom trips specific user.
    GET/trips/v1/custom/me/:id/detail1.0.0Get created custom trips detail
    POST/trips/v1/custom/preset1.0.0endpoint for create custom trip with none ai function
    POST/trips/v1/custom/tat-route1.0.0endpoint for create trip with tat perset route
    1.1.1
    1.0.0

    Versioning Strategy#

    URL Versioning#

    Versioning is implemented in the URL path to ensure clarity for users. For example: /trips/v1/place or /trips/v2/custom
    Major versions are indicated by /v1/, /v2/, etc., and will be incremented when breaking changes are introduced.

    Types of Versioning#

    Major Versioning#

    A major version is released when there are breaking changes that might disrupt clients using the current API version. For instance, removing or renaming endpoints or parameters.

    Minor Versioning#

    Minor versions are introduced when there are new backward-compatible features or enhancements added to existing endpoints.

    Patch Versioning#

    Patch versions are used for small changes such as bug fixes or minor updates that do not affect the API’s functionality.

    Example Scenarios#

    TypeExample Scenario
    MajorRemoving or renaming /trips/v1 endpoints in /trips/v2.
    MinorAdding new optional parameters to /trips/v1/place.
    PatchBug fixes or performance optimizations that don’t change API responses.

    Deprecation Policy#

    Deprecation Notice: When an API endpoint is deprecated, it will be clearly marked as such in the documentation. Clients will also receive deprecation notices in the API responses to ensure they are informed about the upcoming changes.
    Deprecation Timeline: Deprecated endpoints will remain active for at least 6 months after the deprecation notice. This gives clients adequate time to transition to newer versions or alternative endpoints.

    Error Codes & Handling#

    When versioning impacts the API's behavior, relevant error codes will be updated. For instance, calling an unsupported version of an endpoint may result in a 400 Bad Request or a 500 Internal Server Error.

    Example#

    {
      "statusCode": 400,
      "error": "Bad Request",
      "message": "Version not supported"
    }
    

    Backward Compatibility and Breaking Changes#

    Maintaining backward compatibility is crucial for minimizing disruption to clients. The API will only introduce breaking changes in major version updates. Minor and patch versions are always backward compatible.

    API Version Lifecycle#

    Active Support#

    Mobile app APIs will continue to receive new features, bug fixes, and optimizations during the active support phase.

    Deprecation Policy#

    Deprecated APIs will remain available for 6 months after notice is given. After this period, they will be deactivated, and mobile apps must migrate to the newer version.

    EOL (End-of-Life)#

    APIs that have reached the end of their life cycle will be permanently removed, and any requests made to these APIs will return a 410 Gone error.
    Next
    I'm Guide - Custom Error Exception
    Built with