[
  {
    "endpoint": "/api/login",
    "method": "POST",
    "description": "Authenticate a user and issue access/refresh tokens.",
    "request": {
      "body": {
        "email": "string (required)",
        "password": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/login.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "403": { "$ref": "../examples/errors/403.json" },
      "500": { "$ref": "../examples/errors/500.json" }
    }
  },
  {
    "endpoint": "/api/logout",
    "method": "POST",
    "description": "Log out the current user and invalidate their refresh token.",
    "request": {
      "body": {
        "refresh_token": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/logout.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "403": { "$ref": "../examples/errors/403.json" },
      "500": { "$ref": "../examples/errors/500.json" }
    }
  },
  {
    "endpoint": "/api/refresh",
    "method": "POST",
    "description": "Generate a new access token using a valid refresh token.",
    "request": {
      "body": {
        "refresh_token": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/refresh.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "404": { "$ref": "../examples/errors/404.json" }
    }
  },
  {
    "endpoint": "/api/me",
    "method": "GET",
    "description": "Retrieve the profile information of the currently authenticated user.",
    "responses": {
      "200": { "$ref": "../examples/auth/me.200.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "403": { "$ref": "../examples/errors/403.json" }
    }
  },
  {
    "endpoint": "/api/me",
    "method": "PUT",
    "description": "Update the profile information of the currently authenticated user.",
    "request": {
      "body": {
        "industry": "string (optional)",
        "full_name": "string (optional)",
        "phone_number": "string (optional)",
        "profile_image_url": "string (optional)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/me_update.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "403": { "$ref": "../examples/errors/403.json" }
    }
  },
  {
    "endpoint": "/api/forgot-password",
    "method": "POST",
    "description": "Request a password reset link for a user.",
    "request": {
      "body": {
        "email": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/forgot_password.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "500": { "$ref": "../examples/errors/500.json" }
    }
  },
  {
    "endpoint": "/api/reset-password",
    "method": "POST",
    "description": "Reset a user's password using a valid reset token.",
    "request": {
      "body": {
        "new_password": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/reset_password.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "404": { "$ref": "../examples/errors/404.json" }
    }
  },
  {
    "endpoint": "/api/change-password",
    "method": "POST",
    "description": "Change the password of the currently authenticated user.",
    "request": {
      "body": {
        "current_password": "string (required)",
        "new_password": "string (required)"
      }
    },
    "responses": {
      "200": { "$ref": "../examples/auth/change_password.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "403": { "$ref": "../examples/errors/403.json" }
    }
  },
  {
    "endpoint": "/api/verify",
    "method": "POST",
    "description": "Verify a user's account using a token.",
    "responses": {
      "200": { "$ref": "../examples/auth/verify.200.json" },
      "400": { "$ref": "../examples/errors/400.json" },
      "401": { "$ref": "../examples/errors/401.json" },
      "404": { "$ref": "../examples/errors/404.json" }
    }
  }
]
