openapi: 3.0.3
info:
  title: 'Your App API Documentation'
  description: ''
  version: 1.0.0
servers:
  -
    url: 'http://homzen.test'
tags:
  -
    name: Ads
    description: ''
  -
    name: Authentication
    description: ''
  -
    name: Blog
    description: ''
  -
    name: 'Device Tokens'
    description: ''
  -
    name: Endpoints
    description: ''
  -
    name: Languages
    description: ''
  -
    name: Notifications
    description: ''
  -
    name: Page
    description: ''
  -
    name: Profile
    description: ''
  -
    name: 'Real Estate'
    description: ''
paths:
  /api/v1/ads:
    get:
      summary: 'Get ads'
      operationId: getAds
      description: ''
      parameters:
        -
          in: query
          name: keys
          description: 'Array of ad keys to filter by.'
          example:
            - homepage-banner
            - sidebar-banner
          required: false
          schema:
            type: array
            description: 'Array of ad keys to filter by.'
            example:
              - homepage-banner
              - sidebar-banner
            items:
              type: string
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data: []
                  message: null
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: array
                    example: []
                  message:
                    type: string
                    example: null
      tags:
        - Ads
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                keys:
                  type: array
                  description: 'Array of ad keys to filter by.'
                  example:
                    - homepage-banner
                    - sidebar-banner
                  items:
                    type: string
      security: []
  /api/v1/register:
    post:
      summary: Register
      operationId: register
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data: null
                  message: 'Registered successfully! We emailed you to verify your account!'
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Registered successfully! We emailed you to verify your account!'
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'The given data was invalid.'
                  errors:
                    name:
                      - 'The name field is required.'
                    email:
                      - 'The email field is required.'
                    password:
                      - 'The password field is required.'
                properties:
                  message:
                    type: string
                    example: 'The given data was invalid.'
                  errors:
                    type: object
                    properties:
                      name:
                        type: array
                        example:
                          - 'The name field is required.'
                        items:
                          type: string
                      email:
                        type: array
                        example:
                          - 'The email field is required.'
                        items:
                          type: string
                      password:
                        type: array
                        example:
                          - 'The password field is required.'
                        items:
                          type: string
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'The first name of the user. This field is required when <code>name</code> is not present. Must not be greater than 120 characters. Must be at least 2 characters.'
                  example: John
                  nullable: true
                last_name:
                  type: string
                  description: 'The last name of the user. This field is required when <code>name</code> is not present. Must not be greater than 120 characters. Must be at least 2 characters.'
                  example: Smith
                  nullable: true
                name:
                  type: string
                  description: 'The name of the user.'
                  example: consequatur
                  nullable: true
                email:
                  type: string
                  description: 'The email of the user.'
                  example: qkunze@example.com
                  nullable: false
                password:
                  type: string
                  description: 'The password of user to create.'
                  example: 'O[2UZ5ij-e/dl4m{o,'
                  nullable: false
                phone:
                  type: string
                  description: 'The phone of the user.'
                  example: consequatur
                  nullable: true
                password_confirmation:
                  type: string
                  description: 'The password confirmation.'
                  example: consequatur
                  nullable: false
              required:
                - name
                - email
                - password
                - phone
                - password_confirmation
      security: []
  /api/v1/login:
    post:
      summary: Login
      operationId: login
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data:
                    token: 1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs...
                  message: null
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      token:
                        type: string
                        example: 1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs...
                  message:
                    type: string
                    example: null
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: qkunze@example.com
                  nullable: false
                password:
                  type: string
                  description: 'The password of user to create.'
                  example: 'O[2UZ5ij-e/dl4m{o,'
                  nullable: false
              required:
                - email
                - password
      security: []
  /api/v1/email/check:
    post:
      summary: 'Check email existing or not'
      operationId: checkEmailExistingOrNot
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data:
                    exists: true
                  message: null
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      exists:
                        type: boolean
                        example: true
                  message:
                    type: string
                    example: null
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: qkunze@example.com
                  nullable: false
              required:
                - email
      security: []
  /api/v1/password/forgot:
    post:
      summary: 'Forgot password'
      operationId: forgotPassword
      description: 'Send a reset link to the given user.'
      parameters: []
      responses: {  }
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: qkunze@example.com
                  nullable: false
              required:
                - email
      security: []
  /api/v1/resend-verify-account-email:
    post:
      summary: 'Resend email verification'
      operationId: resendEmailVerification
      description: 'Resend the email verification notification.'
      parameters: []
      responses: {  }
      tags:
        - Authentication
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  description: 'The email of the user.'
                  example: qkunze@example.com
                  nullable: false
              required:
                - email
      security: []
  /api/v1/logout:
    get:
      summary: Logout
      operationId: logout
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Authentication
  /api/v1/search:
    get:
      summary: 'Search post'
      operationId: searchPost
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'No results found, please try with different keywords.'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'No results found, please try with different keywords.'
      tags:
        - Blog
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                  description: 'The search keyword.'
                  example: consequatur
                  nullable: false
              required:
                - q
      security: []
  /api/v1/posts:
    get:
      summary: 'List posts'
      operationId: listPosts
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: 'Top 10 Tips for First-time Home Buyers'
                      slug: top-10-tips-for-first-time-home-buyers
                      description: "Soup does very well to say but 'It belongs to the baby, and not to be a Caucus-race.' 'What IS the same thing as \"I eat what I say,' the Mock Turtle Soup is made from,' said the Caterpillar."
                      image: 'http://homzen.test/storage/posts/3.jpg'
                      categories:
                        -
                          id: 2
                          name: 'Selling a Home'
                          slug: selling-a-home
                          url: 'http://homzen.test/news/selling-a-home'
                          description: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                        -
                          id: 4
                          name: 'Home Improvement'
                          slug: home-improvement
                          url: 'http://homzen.test/news/home-improvement'
                          description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                      tags:
                        -
                          id: 2
                          name: Investing
                          slug: investing
                          description: null
                        -
                          id: 3
                          name: 'Market Analysis'
                          slug: market-analysis
                          description: null
                        -
                          id: 8
                          name: Renovation
                          slug: renovation
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 2
                      name: 'How to Stage Your Home for a Quick Sale'
                      slug: how-to-stage-your-home-for-a-quick-sale
                      description: "WAS a narrow escape!' said Alice, as the rest of my own. I'm a hatter.' Here the other side. The further off from England the nearer is to find that her idea of the players to be a walrus or."
                      image: 'http://homzen.test/storage/posts/2.jpg'
                      categories:
                        -
                          id: 6
                          name: 'Neighborhood Guides'
                          slug: neighborhood-guides
                          url: 'http://homzen.test/news/neighborhood-guides'
                          description: 'Et ut molestiae quos hic molestiae sunt. Facilis quia in perspiciatis perferendis rerum. Pariatur maiores corrupti tenetur similique neque.'
                      tags:
                        -
                          id: 1
                          name: Tips
                          slug: tips
                          description: null
                        -
                          id: 5
                          name: 'Luxury Homes'
                          slug: luxury-homes
                          description: null
                        -
                          id: 6
                          name: 'First-time Buyers'
                          slug: first-time-buyers
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 3
                      name: 'Understanding the Current Real Estate Market Trends'
                      slug: understanding-the-current-real-estate-market-trends
                      description: "Alice, in a tone of delight, and rushed at the March Hare took the hookah into its nest. Alice crouched down among the trees, a little feeble, squeaking voice, ('That's Bill,' thought Alice,) 'Well."
                      image: 'http://homzen.test/storage/posts/9.jpg'
                      categories:
                        -
                          id: 4
                          name: 'Home Improvement'
                          slug: home-improvement
                          url: 'http://homzen.test/news/home-improvement'
                          description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                        -
                          id: 5
                          name: 'Real Estate Investing'
                          slug: real-estate-investing
                          url: 'http://homzen.test/news/real-estate-investing'
                          description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                      tags:
                        -
                          id: 2
                          name: Investing
                          slug: investing
                          description: null
                        -
                          id: 4
                          name: DIY
                          slug: diy
                          description: null
                        -
                          id: 8
                          name: Renovation
                          slug: renovation
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 4
                      name: 'DIY Home Improvement Projects That Add Value'
                      slug: diy-home-improvement-projects-that-add-value
                      description: "Alice. 'Oh, don't bother ME,' said Alice loudly. 'The idea of the country is, you know. Come on!' So they couldn't get them out with his nose, you know?' 'It's the thing yourself, some winter day, I."
                      image: 'http://homzen.test/storage/posts/10.jpg'
                      categories:
                        -
                          id: 3
                          name: 'Market Trends'
                          slug: market-trends
                          url: 'http://homzen.test/news/market-trends'
                          description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                      tags:
                        -
                          id: 1
                          name: Tips
                          slug: tips
                          description: null
                        -
                          id: 6
                          name: 'First-time Buyers'
                          slug: first-time-buyers
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 5
                      name: 'A Beginner’s Guide to Real Estate Investing'
                      slug: a-beginners-guide-to-real-estate-investing
                      description: "Alice timidly. 'Would you like the name: however, it only grinned a little bottle on it, or at any rate, the Dormouse into the roof was thatched with fur. It was so full of soup. 'There's certainly."
                      image: 'http://homzen.test/storage/posts/8.jpg'
                      categories:
                        -
                          id: 1
                          name: 'Buying a Home'
                          slug: buying-a-home
                          url: 'http://homzen.test/news/buying-a-home'
                          description: 'Fuga enim quas nobis atque quo accusantium. Et asperiores itaque dolorem qui. Corporis ad voluptas et non numquam. Aliquam ipsa dolor repellendus nihil est enim.'
                        -
                          id: 6
                          name: 'Neighborhood Guides'
                          slug: neighborhood-guides
                          url: 'http://homzen.test/news/neighborhood-guides'
                          description: 'Et ut molestiae quos hic molestiae sunt. Facilis quia in perspiciatis perferendis rerum. Pariatur maiores corrupti tenetur similique neque.'
                      tags:
                        -
                          id: 2
                          name: Investing
                          slug: investing
                          description: null
                        -
                          id: 4
                          name: DIY
                          slug: diy
                          description: null
                        -
                          id: 7
                          name: 'Property Management'
                          slug: property-management
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 6
                      name: 'How to Choose the Right Neighborhood for Your Family'
                      slug: how-to-choose-the-right-neighborhood-for-your-family
                      description: "Cheshire Cat,' said Alice: 'allow me to him: She gave me a pair of white kid gloves while she remembered the number of executions the Queen was in a whisper.) 'That would be four thousand miles."
                      image: 'http://homzen.test/storage/posts/1.jpg'
                      categories:
                        -
                          id: 5
                          name: 'Real Estate Investing'
                          slug: real-estate-investing
                          url: 'http://homzen.test/news/real-estate-investing'
                          description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                      tags:
                        -
                          id: 4
                          name: DIY
                          slug: diy
                          description: null
                        -
                          id: 7
                          name: 'Property Management'
                          slug: property-management
                          description: null
                      created_at: '2025-06-29T03:29:47.000000Z'
                      updated_at: '2025-06-29T03:29:47.000000Z'
                    -
                      id: 7
                      name: 'Luxury Homes: What to Look For'
                      slug: luxury-homes-what-to-look-for
                      description: "Queen's voice in the house opened, and a large mushroom growing near her, about the whiting!' 'Oh, as to go on. 'And so these three weeks!' 'I'm very sorry you've been annoyed,' said Alice, a little."
                      image: 'http://homzen.test/storage/posts/8.jpg'
                      categories:
                        -
                          id: 3
                          name: 'Market Trends'
                          slug: market-trends
                          url: 'http://homzen.test/news/market-trends'
                          description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                        -
                          id: 5
                          name: 'Real Estate Investing'
                          slug: real-estate-investing
                          url: 'http://homzen.test/news/real-estate-investing'
                          description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                      tags:
                        -
                          id: 2
                          name: Investing
                          slug: investing
                          description: null
                        -
                          id: 3
                          name: 'Market Analysis'
                          slug: market-analysis
                          description: null
                      created_at: '2025-06-29T03:29:48.000000Z'
                      updated_at: '2025-06-29T03:29:48.000000Z'
                    -
                      id: 8
                      name: 'Property Management: Best Practices for Landlords'
                      slug: property-management-best-practices-for-landlords
                      description: 'Who ever saw in another moment that it would be worth the trouble of getting up and ran off, thinking while she remembered that she had never been so much surprised, that for two reasons. First.'
                      image: 'http://homzen.test/storage/posts/7.jpg'
                      categories:
                        -
                          id: 3
                          name: 'Market Trends'
                          slug: market-trends
                          url: 'http://homzen.test/news/market-trends'
                          description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                        -
                          id: 4
                          name: 'Home Improvement'
                          slug: home-improvement
                          url: 'http://homzen.test/news/home-improvement'
                          description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                      tags:
                        -
                          id: 6
                          name: 'First-time Buyers'
                          slug: first-time-buyers
                          description: null
                        -
                          id: 7
                          name: 'Property Management'
                          slug: property-management
                          description: null
                        -
                          id: 8
                          name: Renovation
                          slug: renovation
                          description: null
                      created_at: '2025-06-29T03:29:48.000000Z'
                      updated_at: '2025-06-29T03:29:48.000000Z'
                    -
                      id: 9
                      name: 'Renovation Ideas to Increase Your Home’s Value'
                      slug: renovation-ideas-to-increase-your-homes-value
                      description: "There's no pleasing them!' Alice was silent. The Dormouse shook its head impatiently, and walked a little different. But if I'm Mabel, I'll stay down here with me! There are no mice in the wind, and."
                      image: 'http://homzen.test/storage/posts/7.jpg'
                      categories:
                        -
                          id: 2
                          name: 'Selling a Home'
                          slug: selling-a-home
                          url: 'http://homzen.test/news/selling-a-home'
                          description: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                        -
                          id: 5
                          name: 'Real Estate Investing'
                          slug: real-estate-investing
                          url: 'http://homzen.test/news/real-estate-investing'
                          description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                      tags:
                        -
                          id: 1
                          name: Tips
                          slug: tips
                          description: null
                        -
                          id: 5
                          name: 'Luxury Homes'
                          slug: luxury-homes
                          description: null
                      created_at: '2025-06-29T03:29:48.000000Z'
                      updated_at: '2025-06-29T03:29:48.000000Z'
                    -
                      id: 10
                      name: 'The Ultimate Guide to Buying a Vacation Home'
                      slug: the-ultimate-guide-to-buying-a-vacation-home
                      description: "Dodo, 'the best way to hear his history. I must be collected at once took up the conversation a little. ''Tis so,' said Alice. 'I mean what I say--that's the same tone, exactly as if he thought it."
                      image: 'http://homzen.test/storage/posts/2.jpg'
                      categories:
                        -
                          id: 1
                          name: 'Buying a Home'
                          slug: buying-a-home
                          url: 'http://homzen.test/news/buying-a-home'
                          description: 'Fuga enim quas nobis atque quo accusantium. Et asperiores itaque dolorem qui. Corporis ad voluptas et non numquam. Aliquam ipsa dolor repellendus nihil est enim.'
                        -
                          id: 3
                          name: 'Market Trends'
                          slug: market-trends
                          url: 'http://homzen.test/news/market-trends'
                          description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                      tags:
                        -
                          id: 3
                          name: 'Market Analysis'
                          slug: market-analysis
                          description: null
                        -
                          id: 4
                          name: DIY
                          slug: diy
                          description: null
                        -
                          id: 6
                          name: 'First-time Buyers'
                          slug: first-time-buyers
                          description: null
                      created_at: '2025-06-29T03:29:48.000000Z'
                      updated_at: '2025-06-29T03:29:48.000000Z'
                  links:
                    first: 'http://homzen.test/api/v1/posts?page=1'
                    last: 'http://homzen.test/api/v1/posts?page=2'
                    prev: null
                    next: 'http://homzen.test/api/v1/posts?page=2'
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 2
                    links:
                      -
                        url: null
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/posts?page=1'
                        label: '1'
                        active: true
                      -
                        url: 'http://homzen.test/api/v1/posts?page=2'
                        label: '2'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/posts?page=2'
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/posts'
                    per_page: 10
                    to: 10
                    total: 18
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Top 10 Tips for First-time Home Buyers'
                        slug: top-10-tips-for-first-time-home-buyers
                        description: "Soup does very well to say but 'It belongs to the baby, and not to be a Caucus-race.' 'What IS the same thing as \"I eat what I say,' the Mock Turtle Soup is made from,' said the Caterpillar."
                        image: 'http://homzen.test/storage/posts/3.jpg'
                        categories:
                          -
                            id: 2
                            name: 'Selling a Home'
                            slug: selling-a-home
                            url: 'http://homzen.test/news/selling-a-home'
                            description: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                          -
                            id: 4
                            name: 'Home Improvement'
                            slug: home-improvement
                            url: 'http://homzen.test/news/home-improvement'
                            description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                        tags:
                          -
                            id: 2
                            name: Investing
                            slug: investing
                            description: null
                          -
                            id: 3
                            name: 'Market Analysis'
                            slug: market-analysis
                            description: null
                          -
                            id: 8
                            name: Renovation
                            slug: renovation
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 2
                        name: 'How to Stage Your Home for a Quick Sale'
                        slug: how-to-stage-your-home-for-a-quick-sale
                        description: "WAS a narrow escape!' said Alice, as the rest of my own. I'm a hatter.' Here the other side. The further off from England the nearer is to find that her idea of the players to be a walrus or."
                        image: 'http://homzen.test/storage/posts/2.jpg'
                        categories:
                          -
                            id: 6
                            name: 'Neighborhood Guides'
                            slug: neighborhood-guides
                            url: 'http://homzen.test/news/neighborhood-guides'
                            description: 'Et ut molestiae quos hic molestiae sunt. Facilis quia in perspiciatis perferendis rerum. Pariatur maiores corrupti tenetur similique neque.'
                        tags:
                          -
                            id: 1
                            name: Tips
                            slug: tips
                            description: null
                          -
                            id: 5
                            name: 'Luxury Homes'
                            slug: luxury-homes
                            description: null
                          -
                            id: 6
                            name: 'First-time Buyers'
                            slug: first-time-buyers
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 3
                        name: 'Understanding the Current Real Estate Market Trends'
                        slug: understanding-the-current-real-estate-market-trends
                        description: "Alice, in a tone of delight, and rushed at the March Hare took the hookah into its nest. Alice crouched down among the trees, a little feeble, squeaking voice, ('That's Bill,' thought Alice,) 'Well."
                        image: 'http://homzen.test/storage/posts/9.jpg'
                        categories:
                          -
                            id: 4
                            name: 'Home Improvement'
                            slug: home-improvement
                            url: 'http://homzen.test/news/home-improvement'
                            description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                          -
                            id: 5
                            name: 'Real Estate Investing'
                            slug: real-estate-investing
                            url: 'http://homzen.test/news/real-estate-investing'
                            description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                        tags:
                          -
                            id: 2
                            name: Investing
                            slug: investing
                            description: null
                          -
                            id: 4
                            name: DIY
                            slug: diy
                            description: null
                          -
                            id: 8
                            name: Renovation
                            slug: renovation
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 4
                        name: 'DIY Home Improvement Projects That Add Value'
                        slug: diy-home-improvement-projects-that-add-value
                        description: "Alice. 'Oh, don't bother ME,' said Alice loudly. 'The idea of the country is, you know. Come on!' So they couldn't get them out with his nose, you know?' 'It's the thing yourself, some winter day, I."
                        image: 'http://homzen.test/storage/posts/10.jpg'
                        categories:
                          -
                            id: 3
                            name: 'Market Trends'
                            slug: market-trends
                            url: 'http://homzen.test/news/market-trends'
                            description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                        tags:
                          -
                            id: 1
                            name: Tips
                            slug: tips
                            description: null
                          -
                            id: 6
                            name: 'First-time Buyers'
                            slug: first-time-buyers
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 5
                        name: 'A Beginner’s Guide to Real Estate Investing'
                        slug: a-beginners-guide-to-real-estate-investing
                        description: "Alice timidly. 'Would you like the name: however, it only grinned a little bottle on it, or at any rate, the Dormouse into the roof was thatched with fur. It was so full of soup. 'There's certainly."
                        image: 'http://homzen.test/storage/posts/8.jpg'
                        categories:
                          -
                            id: 1
                            name: 'Buying a Home'
                            slug: buying-a-home
                            url: 'http://homzen.test/news/buying-a-home'
                            description: 'Fuga enim quas nobis atque quo accusantium. Et asperiores itaque dolorem qui. Corporis ad voluptas et non numquam. Aliquam ipsa dolor repellendus nihil est enim.'
                          -
                            id: 6
                            name: 'Neighborhood Guides'
                            slug: neighborhood-guides
                            url: 'http://homzen.test/news/neighborhood-guides'
                            description: 'Et ut molestiae quos hic molestiae sunt. Facilis quia in perspiciatis perferendis rerum. Pariatur maiores corrupti tenetur similique neque.'
                        tags:
                          -
                            id: 2
                            name: Investing
                            slug: investing
                            description: null
                          -
                            id: 4
                            name: DIY
                            slug: diy
                            description: null
                          -
                            id: 7
                            name: 'Property Management'
                            slug: property-management
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 6
                        name: 'How to Choose the Right Neighborhood for Your Family'
                        slug: how-to-choose-the-right-neighborhood-for-your-family
                        description: "Cheshire Cat,' said Alice: 'allow me to him: She gave me a pair of white kid gloves while she remembered the number of executions the Queen was in a whisper.) 'That would be four thousand miles."
                        image: 'http://homzen.test/storage/posts/1.jpg'
                        categories:
                          -
                            id: 5
                            name: 'Real Estate Investing'
                            slug: real-estate-investing
                            url: 'http://homzen.test/news/real-estate-investing'
                            description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                        tags:
                          -
                            id: 4
                            name: DIY
                            slug: diy
                            description: null
                          -
                            id: 7
                            name: 'Property Management'
                            slug: property-management
                            description: null
                        created_at: '2025-06-29T03:29:47.000000Z'
                        updated_at: '2025-06-29T03:29:47.000000Z'
                      -
                        id: 7
                        name: 'Luxury Homes: What to Look For'
                        slug: luxury-homes-what-to-look-for
                        description: "Queen's voice in the house opened, and a large mushroom growing near her, about the whiting!' 'Oh, as to go on. 'And so these three weeks!' 'I'm very sorry you've been annoyed,' said Alice, a little."
                        image: 'http://homzen.test/storage/posts/8.jpg'
                        categories:
                          -
                            id: 3
                            name: 'Market Trends'
                            slug: market-trends
                            url: 'http://homzen.test/news/market-trends'
                            description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                          -
                            id: 5
                            name: 'Real Estate Investing'
                            slug: real-estate-investing
                            url: 'http://homzen.test/news/real-estate-investing'
                            description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                        tags:
                          -
                            id: 2
                            name: Investing
                            slug: investing
                            description: null
                          -
                            id: 3
                            name: 'Market Analysis'
                            slug: market-analysis
                            description: null
                        created_at: '2025-06-29T03:29:48.000000Z'
                        updated_at: '2025-06-29T03:29:48.000000Z'
                      -
                        id: 8
                        name: 'Property Management: Best Practices for Landlords'
                        slug: property-management-best-practices-for-landlords
                        description: 'Who ever saw in another moment that it would be worth the trouble of getting up and ran off, thinking while she remembered that she had never been so much surprised, that for two reasons. First.'
                        image: 'http://homzen.test/storage/posts/7.jpg'
                        categories:
                          -
                            id: 3
                            name: 'Market Trends'
                            slug: market-trends
                            url: 'http://homzen.test/news/market-trends'
                            description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                          -
                            id: 4
                            name: 'Home Improvement'
                            slug: home-improvement
                            url: 'http://homzen.test/news/home-improvement'
                            description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                        tags:
                          -
                            id: 6
                            name: 'First-time Buyers'
                            slug: first-time-buyers
                            description: null
                          -
                            id: 7
                            name: 'Property Management'
                            slug: property-management
                            description: null
                          -
                            id: 8
                            name: Renovation
                            slug: renovation
                            description: null
                        created_at: '2025-06-29T03:29:48.000000Z'
                        updated_at: '2025-06-29T03:29:48.000000Z'
                      -
                        id: 9
                        name: 'Renovation Ideas to Increase Your Home’s Value'
                        slug: renovation-ideas-to-increase-your-homes-value
                        description: "There's no pleasing them!' Alice was silent. The Dormouse shook its head impatiently, and walked a little different. But if I'm Mabel, I'll stay down here with me! There are no mice in the wind, and."
                        image: 'http://homzen.test/storage/posts/7.jpg'
                        categories:
                          -
                            id: 2
                            name: 'Selling a Home'
                            slug: selling-a-home
                            url: 'http://homzen.test/news/selling-a-home'
                            description: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                          -
                            id: 5
                            name: 'Real Estate Investing'
                            slug: real-estate-investing
                            url: 'http://homzen.test/news/real-estate-investing'
                            description: 'Et explicabo dolor veritatis a consequuntur eveniet ut. Sed suscipit doloremque fugit suscipit. Qui provident earum in aut quae itaque.'
                        tags:
                          -
                            id: 1
                            name: Tips
                            slug: tips
                            description: null
                          -
                            id: 5
                            name: 'Luxury Homes'
                            slug: luxury-homes
                            description: null
                        created_at: '2025-06-29T03:29:48.000000Z'
                        updated_at: '2025-06-29T03:29:48.000000Z'
                      -
                        id: 10
                        name: 'The Ultimate Guide to Buying a Vacation Home'
                        slug: the-ultimate-guide-to-buying-a-vacation-home
                        description: "Dodo, 'the best way to hear his history. I must be collected at once took up the conversation a little. ''Tis so,' said Alice. 'I mean what I say--that's the same tone, exactly as if he thought it."
                        image: 'http://homzen.test/storage/posts/2.jpg'
                        categories:
                          -
                            id: 1
                            name: 'Buying a Home'
                            slug: buying-a-home
                            url: 'http://homzen.test/news/buying-a-home'
                            description: 'Fuga enim quas nobis atque quo accusantium. Et asperiores itaque dolorem qui. Corporis ad voluptas et non numquam. Aliquam ipsa dolor repellendus nihil est enim.'
                          -
                            id: 3
                            name: 'Market Trends'
                            slug: market-trends
                            url: 'http://homzen.test/news/market-trends'
                            description: 'Quo maxime non nostrum totam quia sunt sed. Unde nesciunt error qui. Error quo alias voluptatem dolores iste nobis.'
                        tags:
                          -
                            id: 3
                            name: 'Market Analysis'
                            slug: market-analysis
                            description: null
                          -
                            id: 4
                            name: DIY
                            slug: diy
                            description: null
                          -
                            id: 6
                            name: 'First-time Buyers'
                            slug: first-time-buyers
                            description: null
                        created_at: '2025-06-29T03:29:48.000000Z'
                        updated_at: '2025-06-29T03:29:48.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Top 10 Tips for First-time Home Buyers'
                        slug:
                          type: string
                          example: top-10-tips-for-first-time-home-buyers
                        description:
                          type: string
                          example: "Soup does very well to say but 'It belongs to the baby, and not to be a Caucus-race.' 'What IS the same thing as \"I eat what I say,' the Mock Turtle Soup is made from,' said the Caterpillar."
                        image:
                          type: string
                          example: 'http://homzen.test/storage/posts/3.jpg'
                        categories:
                          type: array
                          example:
                            -
                              id: 2
                              name: 'Selling a Home'
                              slug: selling-a-home
                              url: 'http://homzen.test/news/selling-a-home'
                              description: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                            -
                              id: 4
                              name: 'Home Improvement'
                              slug: home-improvement
                              url: 'http://homzen.test/news/home-improvement'
                              description: 'Non incidunt perspiciatis nisi sunt itaque et possimus. Porro et natus unde voluptas mollitia maxime. Animi nemo et ut repellat dicta. Ea numquam reiciendis architecto quae.'
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 2
                              name:
                                type: string
                                example: 'Selling a Home'
                              slug:
                                type: string
                                example: selling-a-home
                              url:
                                type: string
                                example: 'http://homzen.test/news/selling-a-home'
                              description:
                                type: string
                                example: 'Molestias fugiat maxime nostrum esse. Exercitationem excepturi molestiae enim eius. Qui corrupti autem minus nostrum.'
                        tags:
                          type: array
                          example:
                            -
                              id: 2
                              name: Investing
                              slug: investing
                              description: null
                            -
                              id: 3
                              name: 'Market Analysis'
                              slug: market-analysis
                              description: null
                            -
                              id: 8
                              name: Renovation
                              slug: renovation
                              description: null
                          items:
                            type: object
                            properties:
                              id:
                                type: integer
                                example: 2
                              name:
                                type: string
                                example: Investing
                              slug:
                                type: string
                                example: investing
                              description:
                                type: string
                                example: null
                        created_at:
                          type: string
                          example: '2025-06-29T03:29:47.000000Z'
                        updated_at:
                          type: string
                          example: '2025-06-29T03:29:47.000000Z'
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/posts?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/posts?page=2'
                      prev:
                        type: string
                        example: null
                      next:
                        type: string
                        example: 'http://homzen.test/api/v1/posts?page=2'
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 2
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/posts?page=1'
                            label: '1'
                            active: true
                          -
                            url: 'http://homzen.test/api/v1/posts?page=2'
                            label: '2'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/posts?page=2'
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/posts'
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 10
                      total:
                        type: integer
                        example: 18
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - Blog
      security: []
  /api/v1/tags:
    get:
      summary: 'List tags'
      operationId: listTags
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: Tips
                      slug: tips
                      description: null
                    -
                      id: 2
                      name: Investing
                      slug: investing
                      description: null
                    -
                      id: 3
                      name: 'Market Analysis'
                      slug: market-analysis
                      description: null
                    -
                      id: 4
                      name: DIY
                      slug: diy
                      description: null
                    -
                      id: 5
                      name: 'Luxury Homes'
                      slug: luxury-homes
                      description: null
                    -
                      id: 6
                      name: 'First-time Buyers'
                      slug: first-time-buyers
                      description: null
                    -
                      id: 7
                      name: 'Property Management'
                      slug: property-management
                      description: null
                    -
                      id: 8
                      name: Renovation
                      slug: renovation
                      description: null
                  links:
                    first: 'http://homzen.test/api/v1/tags?page=1'
                    last: 'http://homzen.test/api/v1/tags?page=1'
                    prev: null
                    next: null
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 1
                    links:
                      -
                        url: null
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/tags?page=1'
                        label: '1'
                        active: true
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/tags'
                    per_page: 10
                    to: 8
                    total: 8
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: Tips
                        slug: tips
                        description: null
                      -
                        id: 2
                        name: Investing
                        slug: investing
                        description: null
                      -
                        id: 3
                        name: 'Market Analysis'
                        slug: market-analysis
                        description: null
                      -
                        id: 4
                        name: DIY
                        slug: diy
                        description: null
                      -
                        id: 5
                        name: 'Luxury Homes'
                        slug: luxury-homes
                        description: null
                      -
                        id: 6
                        name: 'First-time Buyers'
                        slug: first-time-buyers
                        description: null
                      -
                        id: 7
                        name: 'Property Management'
                        slug: property-management
                        description: null
                      -
                        id: 8
                        name: Renovation
                        slug: renovation
                        description: null
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Tips
                        slug:
                          type: string
                          example: tips
                        description:
                          type: string
                          example: null
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/tags?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/tags?page=1'
                      prev:
                        type: string
                        example: null
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/tags?page=1'
                            label: '1'
                            active: true
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/tags'
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 8
                      total:
                        type: integer
                        example: 8
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - Blog
      security: []
  /api/v1/posts/filters:
    get:
      summary: 'Filters posts'
      operationId: filtersPosts
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set.Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set.Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: after
          description: 'Limit response to posts published after a given ISO8601 compliant date.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit response to posts published after a given ISO8601 compliant date.'
            example: consequatur
            nullable: false
        -
          in: query
          name: author
          description: 'Limit result set to posts assigned to specific authors.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to posts assigned to specific authors.'
            example: consequatur
            nullable: false
        -
          in: query
          name: author_exclude
          description: 'Ensure result set excludes posts assigned to specific authors.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Ensure result set excludes posts assigned to specific authors.'
            example: consequatur
            nullable: false
        -
          in: query
          name: before
          description: 'Limit response to posts published before a given ISO8601 compliant date.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit response to posts published before a given ISO8601 compliant date.'
            example: consequatur
            nullable: false
        -
          in: query
          name: exclude
          description: 'Ensure result set excludes specific IDs.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Ensure result set excludes specific IDs.'
            example: consequatur
            nullable: false
        -
          in: query
          name: include
          description: 'Limit result set to specific IDs.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to specific IDs.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc .One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc .One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: updated_at. One of: author, created_at, updated_at, id,  slug, title'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: updated_at. One of: author, created_at, updated_at, id,  slug, title'
            example: consequatur
            nullable: false
        -
          in: query
          name: categories
          description: 'Limit result set to all items that have the specified term assigned in the categories taxonomy.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to all items that have the specified term assigned in the categories taxonomy.'
            example: consequatur
            nullable: false
        -
          in: query
          name: categories_exclude
          description: 'Limit result set to all items except those that have the specified term assigned in the categories taxonomy.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to all items except those that have the specified term assigned in the categories taxonomy.'
            example: consequatur
            nullable: false
        -
          in: query
          name: tags
          description: 'Limit result set to all items that have the specified term assigned in the tags taxonomy.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to all items that have the specified term assigned in the tags taxonomy.'
            example: consequatur
            nullable: false
        -
          in: query
          name: tags_exclude
          description: 'Limit result set to all items except those that have the specified term assigned in the tags taxonomy.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to all items except those that have the specified term assigned in the tags taxonomy.'
            example: consequatur
            nullable: false
        -
          in: query
          name: featured
          description: 'Limit result set to items that are sticky.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit result set to items that are sticky.'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/posts/filters?page=1'
                    last: 'http://homzen.test/api/v1/posts/filters?page=1'
                    prev: 'http://homzen.test/api/v1/posts/filters?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 1
                    links:
                      -
                        url: 'http://homzen.test/api/v1/posts/filters?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/posts/filters?page=1'
                        label: '1'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/posts/filters'
                    per_page: 17
                    to: null
                    total: 0
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/posts/filters?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/posts/filters?page=1'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/posts/filters?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/posts/filters?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/posts/filters?page=1'
                            label: '1'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/posts/filters?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/posts/filters'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 0
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - Blog
      security: []
  '/api/v1/posts/{slug}':
    get:
      summary: 'Get post by slug'
      operationId: getPostBySlug
      description: ''
      parameters:
        -
          in: query
          name: slug
          description: 'Find by slug of post.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Find by slug of post.'
            example: consequatur
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Not found'
      tags:
        - Blog
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the post.'
        example: consequatur
        required: true
        schema:
          type: string
  /api/v1/device-tokens:
    post:
      summary: 'Register or update device token'
      operationId: registerOrUpdateDeviceToken
      description: 'Register a new device token or update an existing one for push notifications.'
      parameters: []
      responses: {  }
      tags:
        - 'Device Tokens'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: 'The FCM device token.'
                  example: consequatur
                  nullable: false
                platform:
                  type: string
                  description: 'The device platform (android, ios).'
                  example: consequatur
                  nullable: true
                app_version:
                  type: string
                  description: 'The app version.'
                  example: consequatur
                  nullable: true
                device_id:
                  type: string
                  description: 'The unique device identifier.'
                  example: consequatur
                  nullable: true
                user_type:
                  type: string
                  description: 'The user type (customer, admin).'
                  example: consequatur
                  nullable: true
                user_id:
                  type: integer
                  description: 'The user ID.'
                  example: 17
                  nullable: true
              required:
                - token
      security: []
    get:
      summary: "Get user's device tokens"
      operationId: getUsersDeviceTokens
      description: 'Retrieve all device tokens for the authenticated user.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Device Tokens'
      security: []
  '/api/v1/device-tokens/{id}':
    put:
      summary: 'Update device token'
      operationId: updateDeviceToken
      description: 'Update an existing device token.'
      parameters: []
      responses: {  }
      tags:
        - 'Device Tokens'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                platform:
                  type: string
                  description: 'The device platform (android, ios).'
                  example: consequatur
                  nullable: false
                app_version:
                  type: string
                  description: 'The app version.'
                  example: consequatur
                  nullable: false
                device_id:
                  type: string
                  description: 'The unique device identifier.'
                  example: consequatur
                  nullable: false
      security: []
    delete:
      summary: 'Delete device token'
      operationId: deleteDeviceToken
      description: 'Delete a device token to stop receiving push notifications.'
      parameters: []
      responses: {  }
      tags:
        - 'Device Tokens'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the device token.'
        example: '1562'
        required: true
        schema:
          type: string
  /api/v1/device-tokens/by-token:
    delete:
      summary: 'Delete device token by token value'
      operationId: deleteDeviceTokenByTokenValue
      description: 'Delete a device token using the token value.'
      parameters: []
      responses: {  }
      tags:
        - 'Device Tokens'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: 'The FCM device token to delete.'
                  example: consequatur
                  nullable: false
              required:
                - token
      security: []
  '/api/v1/device-tokens/{id}/deactivate':
    post:
      summary: 'Deactivate device token'
      operationId: deactivateDeviceToken
      description: 'Deactivate a device token without deleting it.'
      parameters: []
      responses: {  }
      tags:
        - 'Device Tokens'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the device token.'
        example: '1562'
        required: true
        schema:
          type: string
  /api/v1/auth/apple:
    post:
      summary: ''
      operationId: postApiV1AuthApple
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/auth/google:
    post:
      summary: ''
      operationId: postApiV1AuthGoogle
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/auth/facebook:
    post:
      summary: ''
      operationId: postApiV1AuthFacebook
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/auth/x:
    post:
      summary: ''
      operationId: postApiV1AuthX
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Endpoints
      security: []
  /api/v1/languages:
    get:
      summary: 'Get list of available languages'
      operationId: getListOfAvailableLanguages
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data:
                    -
                      lang_id: 1
                      lang_name: English
                      lang_locale: en
                      lang_code: en_US
                      lang_flag: '<svg ...>'
                      lang_is_default: true
                      lang_is_rtl: false
                      lang_order: 0
                    -
                      lang_id: 2
                      lang_name: Vietnamese
                      lang_locale: vi
                      lang_code: vi
                      lang_flag: '<svg ...>'
                      lang_is_default: false
                      lang_is_rtl: false
                      lang_order: 1
                  message: null
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: array
                    example:
                      -
                        lang_id: 1
                        lang_name: English
                        lang_locale: en
                        lang_code: en_US
                        lang_flag: '<svg ...>'
                        lang_is_default: true
                        lang_is_rtl: false
                        lang_order: 0
                      -
                        lang_id: 2
                        lang_name: Vietnamese
                        lang_locale: vi
                        lang_code: vi
                        lang_flag: '<svg ...>'
                        lang_is_default: false
                        lang_is_rtl: false
                        lang_order: 1
                    items:
                      type: object
                      properties:
                        lang_id:
                          type: integer
                          example: 1
                        lang_name:
                          type: string
                          example: English
                        lang_locale:
                          type: string
                          example: en
                        lang_code:
                          type: string
                          example: en_US
                        lang_flag:
                          type: string
                          example: '<svg ...>'
                        lang_is_default:
                          type: boolean
                          example: true
                        lang_is_rtl:
                          type: boolean
                          example: false
                        lang_order:
                          type: integer
                          example: 0
                  message:
                    type: string
                    example: null
      tags:
        - Languages
      security: []
  /api/v1/languages/current:
    get:
      summary: 'Get current language'
      operationId: getCurrentLanguage
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: false
                  data:
                    lang_id: 1
                    lang_name: English
                    lang_locale: en
                    lang_code: en_US
                    lang_flag: us
                    lang_is_default: true
                    lang_is_rtl: false
                    lang_order: 0
                  message: null
                properties:
                  error:
                    type: boolean
                    example: false
                  data:
                    type: object
                    properties:
                      lang_id:
                        type: integer
                        example: 1
                      lang_name:
                        type: string
                        example: English
                      lang_locale:
                        type: string
                        example: en
                      lang_code:
                        type: string
                        example: en_US
                      lang_flag:
                        type: string
                        example: us
                      lang_is_default:
                        type: boolean
                        example: true
                      lang_is_rtl:
                        type: boolean
                        example: false
                      lang_order:
                        type: integer
                        example: 0
                  message:
                    type: string
                    example: null
      tags:
        - Languages
      security: []
  /api/v1/notifications:
    get:
      summary: 'Get user notifications'
      operationId: getUserNotifications
      description: 'Retrieve notifications for the authenticated user.'
      parameters:
        -
          in: query
          name: page
          description: 'Page number for pagination.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'Page number for pagination.'
            example: 1
            nullable: false
        -
          in: query
          name: per_page
          description: 'Number of notifications per page (max 50).'
          example: 20
          required: false
          schema:
            type: integer
            description: 'Number of notifications per page (max 50).'
            example: 20
            nullable: false
        -
          in: query
          name: unread_only
          description: 'Filter to show only unread notifications.'
          example: false
          required: false
          schema:
            type: boolean
            description: 'Filter to show only unread notifications.'
            example: false
            nullable: false
        -
          in: query
          name: type
          description: 'Filter by notification type.'
          example: general
          required: false
          schema:
            type: string
            description: 'Filter by notification type.'
            example: general
            nullable: false
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Notifications
      security: []
  /api/v1/notifications/stats:
    get:
      summary: 'Get notification statistics'
      operationId: getNotificationStatistics
      description: 'Get notification statistics for the authenticated user.'
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Notifications
      security: []
  /api/v1/notifications/mark-all-read:
    post:
      summary: 'Mark all notifications as read'
      operationId: markAllNotificationsAsRead
      description: 'Mark all notifications as read for the authenticated user.'
      parameters: []
      responses: {  }
      tags:
        - Notifications
      security: []
  '/api/v1/notifications/{id}/read':
    post:
      summary: 'Mark notification as read'
      operationId: markNotificationAsRead
      description: 'Mark a specific notification as read for the authenticated user.'
      parameters: []
      responses: {  }
      tags:
        - Notifications
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: '1562'
        required: true
        schema:
          type: string
  '/api/v1/notifications/{id}/clicked':
    post:
      summary: 'Mark notification as clicked'
      operationId: markNotificationAsClicked
      description: 'Mark a notification as clicked when user taps on it.'
      parameters: []
      responses: {  }
      tags:
        - Notifications
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: '1562'
        required: true
        schema:
          type: string
  '/api/v1/notifications/{id}':
    delete:
      summary: 'Delete notification'
      operationId: deleteNotification
      description: "Delete a notification from user's list."
      parameters: []
      responses: {  }
      tags:
        - Notifications
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the notification.'
        example: '1562'
        required: true
        schema:
          type: string
  /api/v1/pages:
    get:
      summary: 'List pages'
      operationId: listPages
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: 'Homepage 1'
                      slug: homepage-1
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 2
                      name: 'Homepage 2'
                      slug: homepage-2
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 3
                      name: 'Homepage 3'
                      slug: homepage-3
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 4
                      name: 'Homepage 4'
                      slug: homepage-4
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 5
                      name: 'Homepage 5'
                      slug: homepage-5
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 6
                      name: Blog
                      slug: blog
                      description: null
                      image: null
                      template: null
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 7
                      name: 'Contact Us'
                      slug: contact-us
                      description: null
                      image: null
                      template: null
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 8
                      name: 'Our Services'
                      slug: our-services
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 9
                      name: FAQs
                      slug: faqs
                      description: null
                      image: null
                      template: null
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                    -
                      id: 10
                      name: 'About Us'
                      slug: about-us
                      description: null
                      image: null
                      template: full-width
                      status:
                        value: published
                        label: Published
                      created_at: '2025-06-29T03:29:52.000000Z'
                      updated_at: '2025-06-29T03:29:52.000000Z'
                  links:
                    first: 'http://homzen.test/api/v1/pages?page=1'
                    last: 'http://homzen.test/api/v1/pages?page=2'
                    prev: null
                    next: 'http://homzen.test/api/v1/pages?page=2'
                  meta:
                    current_page: 1
                    from: 1
                    last_page: 2
                    links:
                      -
                        url: null
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/pages?page=1'
                        label: '1'
                        active: true
                      -
                        url: 'http://homzen.test/api/v1/pages?page=2'
                        label: '2'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/pages?page=2'
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/pages'
                    per_page: 10
                    to: 10
                    total: 16
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Homepage 1'
                        slug: homepage-1
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 2
                        name: 'Homepage 2'
                        slug: homepage-2
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 3
                        name: 'Homepage 3'
                        slug: homepage-3
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 4
                        name: 'Homepage 4'
                        slug: homepage-4
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 5
                        name: 'Homepage 5'
                        slug: homepage-5
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 6
                        name: Blog
                        slug: blog
                        description: null
                        image: null
                        template: null
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 7
                        name: 'Contact Us'
                        slug: contact-us
                        description: null
                        image: null
                        template: null
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 8
                        name: 'Our Services'
                        slug: our-services
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 9
                        name: FAQs
                        slug: faqs
                        description: null
                        image: null
                        template: null
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                      -
                        id: 10
                        name: 'About Us'
                        slug: about-us
                        description: null
                        image: null
                        template: full-width
                        status:
                          value: published
                          label: Published
                        created_at: '2025-06-29T03:29:52.000000Z'
                        updated_at: '2025-06-29T03:29:52.000000Z'
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Homepage 1'
                        slug:
                          type: string
                          example: homepage-1
                        description:
                          type: string
                          example: null
                        image:
                          type: string
                          example: null
                        template:
                          type: string
                          example: full-width
                        status:
                          type: object
                          properties:
                            value:
                              type: string
                              example: published
                            label:
                              type: string
                              example: Published
                        created_at:
                          type: string
                          example: '2025-06-29T03:29:52.000000Z'
                        updated_at:
                          type: string
                          example: '2025-06-29T03:29:52.000000Z'
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/pages?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/pages?page=2'
                      prev:
                        type: string
                        example: null
                      next:
                        type: string
                        example: 'http://homzen.test/api/v1/pages?page=2'
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      from:
                        type: integer
                        example: 1
                      last_page:
                        type: integer
                        example: 2
                      links:
                        type: array
                        example:
                          -
                            url: null
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/pages?page=1'
                            label: '1'
                            active: true
                          -
                            url: 'http://homzen.test/api/v1/pages?page=2'
                            label: '2'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/pages?page=2'
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: null
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/pages'
                      per_page:
                        type: integer
                        example: 10
                      to:
                        type: integer
                        example: 10
                      total:
                        type: integer
                        example: 16
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - Page
      security: []
  '/api/v1/pages/{id}':
    get:
      summary: 'Get page by ID'
      operationId: getPageByID
      description: ''
      parameters:
        -
          in: query
          name: id
          description: 'Find by ID of page.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Find by ID of page.'
            example: 17
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Not found'
      tags:
        - Page
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the page.'
        example: '1562'
        required: true
        schema:
          type: string
  /api/v1/me:
    get:
      summary: 'Get the user profile information.'
      operationId: getTheUserProfileInformation
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Profile
    put:
      summary: 'Update profile'
      operationId: updateProfile
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Profile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                first_name:
                  type: string
                  description: 'This field is required when <code>name</code> is not present. Must not be greater than 120 characters. Must be at least 2 characters.'
                  example: vmqeopfuudtdsufvyvddqamniihfqcoynlazghdtqtqxbajwbpilpmufinllwloauydlsmsjur
                  nullable: true
                last_name:
                  type: string
                  description: 'This field is required when <code>name</code> is not present. Must not be greater than 120 characters. Must be at least 2 characters.'
                  example: yvojcybzvrbyickznkygloigmkwxphlvazjrcnfbaqywuxhgjjmzuxjubqouzswiwxtrkimfca
                  nullable: true
                name:
                  type: string
                  description: Name.
                  example: consequatur
                  nullable: true
                phone:
                  type: string
                  description: Phone.
                  example: consequatur
                  nullable: true
                dob:
                  type: date
                  description: 'nullable Date of birth (format: Y-m-d).'
                  example: consequatur
                  nullable: true
                gender:
                  type: string
                  description: 'Gender (male, female, other).'
                  example: consequatur
                  nullable: true
                description:
                  type: string
                  description: Description
                  example: 'Dolores dolorum amet iste laborum eius est dolor.'
                  nullable: true
                email:
                  type: string
                  description: Email.
                  example: qkunze@example.com
                  nullable: true
              required:
                - name
                - phone
  /api/v1/update/avatar:
    post:
      summary: 'Update Avatar'
      operationId: updateAvatar
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Profile
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                avatar:
                  type: string
                  format: binary
                  description: 'Avatar file.'
                  nullable: false
              required:
                - avatar
  /api/v1/update/password:
    put:
      summary: 'Update password'
      operationId: updatePassword
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Profile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                password:
                  type: string
                  description: 'The new password of user.'
                  example: 'O[2UZ5ij-e/dl4m{o,'
                  nullable: false
                old_password:
                  type: string
                  description: 'The current password of user.'
                  example: consequatur
                  nullable: false
              required:
                - password
                - old_password
  /api/v1/settings:
    get:
      summary: 'Get user settings'
      operationId: getUserSettings
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - Profile
    put:
      summary: 'Update user settings'
      operationId: updateUserSettings
      description: ''
      parameters: []
      responses: {  }
      tags:
        - Profile
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                biometric_enabled:
                  type: boolean
                  description: 'Enable/disable biometric authentication.'
                  example: false
                  nullable: false
                notification_enabled:
                  type: boolean
                  description: 'Enable/disable notifications.'
                  example: false
                  nullable: false
                language:
                  type: string
                  description: "User's preferred language."
                  example: consequatur
                  nullable: false
                currency:
                  type: string
                  description: "User's preferred currency."
                  example: consequatur
                  nullable: false
                theme:
                  type: string
                  description: "User's preferred theme (light, dark, auto)."
                  example: consequatur
                  nullable: false
                timezone:
                  type: string
                  description: "User's timezone."
                  example: Europe/Malta
                  nullable: false
  /api/v1/categories:
    get:
      summary: 'List categories'
      operationId: listCategories
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: parent_id
          description: 'Filter by parent category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by parent category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: order. One of: created_at, updated_at, name, order'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: order. One of: created_at, updated_at, name, order'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/categories?page=1'
                    last: 'http://homzen.test/api/v1/categories?page=1'
                    prev: 'http://homzen.test/api/v1/categories?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 1
                    links:
                      -
                        url: 'http://homzen.test/api/v1/categories?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/categories?page=1'
                        label: '1'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/categories'
                    per_page: 17
                    to: null
                    total: 6
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/categories?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/categories?page=1'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/categories?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/categories?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/categories?page=1'
                            label: '1'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/categories?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/categories'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 6
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/categories/filters:
    get:
      summary: 'Get category filters'
      operationId: getCategoryFilters
      description: ''
      parameters:
        -
          in: query
          name: parent_id
          description: 'Filter by parent category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by parent category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: order. One of: created_at, updated_at, name, order'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: order. One of: created_at, updated_at, name, order'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: Apartment
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 0
                      is_default: 1
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/apartment'
                      slug: apartment
                    -
                      id: 2
                      name: Villa
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 1
                      is_default: 0
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/villa'
                      slug: villa
                    -
                      id: 3
                      name: Condo
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 2
                      is_default: 0
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/condo'
                      slug: condo
                    -
                      id: 4
                      name: House
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 3
                      is_default: 0
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/house'
                      slug: house
                    -
                      id: 5
                      name: Land
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 4
                      is_default: 0
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/land'
                      slug: land
                    -
                      id: 6
                      name: 'Commercial property'
                      description: null
                      status:
                        value: published
                        label: Published
                      order: 5
                      is_default: 0
                      parent_id: 0
                      created_at: '2025-06-29T03:29:37.000000Z'
                      updated_at: '2025-06-29T03:29:37.000000Z'
                      url: 'http://homzen.test/property-category/commercial-property'
                      slug: commercial-property
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: Apartment
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 0
                        is_default: 1
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/apartment'
                        slug: apartment
                      -
                        id: 2
                        name: Villa
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 1
                        is_default: 0
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/villa'
                        slug: villa
                      -
                        id: 3
                        name: Condo
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 2
                        is_default: 0
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/condo'
                        slug: condo
                      -
                        id: 4
                        name: House
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 3
                        is_default: 0
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/house'
                        slug: house
                      -
                        id: 5
                        name: Land
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 4
                        is_default: 0
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/land'
                        slug: land
                      -
                        id: 6
                        name: 'Commercial property'
                        description: null
                        status:
                          value: published
                          label: Published
                        order: 5
                        is_default: 0
                        parent_id: 0
                        created_at: '2025-06-29T03:29:37.000000Z'
                        updated_at: '2025-06-29T03:29:37.000000Z'
                        url: 'http://homzen.test/property-category/commercial-property'
                        slug: commercial-property
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Apartment
                        description:
                          type: string
                          example: null
                        status:
                          type: object
                          properties:
                            value:
                              type: string
                              example: published
                            label:
                              type: string
                              example: Published
                        order:
                          type: integer
                          example: 0
                        is_default:
                          type: integer
                          example: 1
                        parent_id:
                          type: integer
                          example: 0
                        created_at:
                          type: string
                          example: '2025-06-29T03:29:37.000000Z'
                        updated_at:
                          type: string
                          example: '2025-06-29T03:29:37.000000Z'
                        url:
                          type: string
                          example: 'http://homzen.test/property-category/apartment'
                        slug:
                          type: string
                          example: apartment
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/categories/{slug}':
    get:
      summary: 'Get category by slug'
      operationId: getCategoryBySlug
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Category not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Category not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the category.'
        example: consequatur
        required: true
        schema:
          type: string
  /api/v1/properties:
    get:
      summary: 'List properties'
      operationId: listProperties
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: type
          description: 'Filter by property type (sale, rent).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by property type (sale, rent).'
            example: consequatur
            nullable: false
        -
          in: query
          name: city_id
          description: 'Filter by city ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by city ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: state_id
          description: 'Filter by state ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by state ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: country_id
          description: 'Filter by country ID.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by country ID.'
            example: 17
            nullable: false
        -
          in: query
          name: category_id
          description: 'Filter by category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: project_id
          description: 'Filter by project ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by project ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_price
          description: 'Filter by minimum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_price
          description: 'Filter by maximum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_square
          description: 'Filter by minimum square footage.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum square footage.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_square
          description: 'Filter by maximum square footage.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum square footage.'
            example: consequatur
            nullable: false
        -
          in: query
          name: number_bedroom
          description: 'Filter by number of bedrooms.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of bedrooms.'
            example: 17
            nullable: false
        -
          in: query
          name: number_bathroom
          description: 'Filter by number of bathrooms.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of bathrooms.'
            example: 17
            nullable: false
        -
          in: query
          name: number_floor
          description: 'Filter by number of floors.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of floors.'
            example: 17
            nullable: false
        -
          in: query
          name: features
          description: 'Filter by feature IDs (comma-separated).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by feature IDs (comma-separated).'
            example: consequatur
            nullable: false
        -
          in: query
          name: facilities
          description: 'Filter by facility IDs (comma-separated).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by facility IDs (comma-separated).'
            example: consequatur
            nullable: false
        -
          in: query
          name: is_featured
          description: 'Filter by featured properties (1 or 0).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by featured properties (1 or 0).'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/properties?page=1'
                    last: 'http://homzen.test/api/v1/properties?page=4'
                    prev: 'http://homzen.test/api/v1/properties?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 4
                    links:
                      -
                        url: 'http://homzen.test/api/v1/properties?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties?page=1'
                        label: '1'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties?page=2'
                        label: '2'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties?page=3'
                        label: '3'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties?page=4'
                        label: '4'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/properties'
                    per_page: 17
                    to: null
                    total: 61
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/properties?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/properties?page=4'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/properties?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 4
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/properties?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties?page=1'
                            label: '1'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties?page=2'
                            label: '2'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties?page=3'
                            label: '3'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties?page=4'
                            label: '4'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/properties?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/properties'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 61
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/properties/search:
    get:
      summary: 'Search properties'
      operationId: searchProperties
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - 'Real Estate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                  description: 'The search keyword.'
                  example: consequatur
                  nullable: false
              required:
                - q
      security: []
  /api/v1/properties/filters:
    get:
      summary: 'Get property filters'
      operationId: getPropertyFilters
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: type
          description: 'Filter by property type (sale, rent).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by property type (sale, rent).'
            example: consequatur
            nullable: false
        -
          in: query
          name: city_id
          description: 'Filter by city ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by city ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: state_id
          description: 'Filter by state ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by state ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: country_id
          description: 'Filter by country ID.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by country ID.'
            example: 17
            nullable: false
        -
          in: query
          name: category_id
          description: 'Filter by category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: project_id
          description: 'Filter by project ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by project ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_price
          description: 'Filter by minimum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_price
          description: 'Filter by maximum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_square
          description: 'Filter by minimum square footage.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum square footage.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_square
          description: 'Filter by maximum square footage.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum square footage.'
            example: consequatur
            nullable: false
        -
          in: query
          name: number_bedroom
          description: 'Filter by number of bedrooms.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of bedrooms.'
            example: 17
            nullable: false
        -
          in: query
          name: number_bathroom
          description: 'Filter by number of bathrooms.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of bathrooms.'
            example: 17
            nullable: false
        -
          in: query
          name: number_floor
          description: 'Filter by number of floors.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by number of floors.'
            example: 17
            nullable: false
        -
          in: query
          name: features
          description: 'Filter by feature IDs (comma-separated).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by feature IDs (comma-separated).'
            example: consequatur
            nullable: false
        -
          in: query
          name: facilities
          description: 'Filter by facility IDs (comma-separated).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by facility IDs (comma-separated).'
            example: consequatur
            nullable: false
        -
          in: query
          name: is_featured
          description: 'Filter by featured properties (1 or 0).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by featured properties (1 or 0).'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/properties/filters?page=1'
                    last: 'http://homzen.test/api/v1/properties/filters?page=4'
                    prev: 'http://homzen.test/api/v1/properties/filters?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 4
                    links:
                      -
                        url: 'http://homzen.test/api/v1/properties/filters?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties/filters?page=1'
                        label: '1'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties/filters?page=2'
                        label: '2'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties/filters?page=3'
                        label: '3'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/properties/filters?page=4'
                        label: '4'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/properties/filters'
                    per_page: 17
                    to: null
                    total: 61
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/properties/filters?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/properties/filters?page=4'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/properties/filters?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 4
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/properties/filters?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties/filters?page=1'
                            label: '1'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties/filters?page=2'
                            label: '2'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties/filters?page=3'
                            label: '3'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/properties/filters?page=4'
                            label: '4'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/properties/filters?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/properties/filters'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 61
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/properties/{slug}':
    get:
      summary: 'Get property by slug'
      operationId: getPropertyBySlug
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Property not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Property not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the property.'
        example: consequatur
        required: true
        schema:
          type: string
  '/api/v1/properties/id/{id}':
    get:
      summary: 'Get property by ID'
      operationId: getPropertyByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Property not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Property not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the property.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1/projects:
    get:
      summary: 'List projects'
      operationId: listProjects
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: city_id
          description: 'Filter by city ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by city ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: state_id
          description: 'Filter by state ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by state ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: country_id
          description: 'Filter by country ID.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by country ID.'
            example: 17
            nullable: false
        -
          in: query
          name: category_id
          description: 'Filter by category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: investor_id
          description: 'Filter by investor ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by investor ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_price
          description: 'Filter by minimum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_price
          description: 'Filter by maximum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: is_featured
          description: 'Filter by featured projects (1 or 0).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by featured projects (1 or 0).'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price_from'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price_from'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/projects?page=1'
                    last: 'http://homzen.test/api/v1/projects?page=2'
                    prev: 'http://homzen.test/api/v1/projects?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 2
                    links:
                      -
                        url: 'http://homzen.test/api/v1/projects?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/projects?page=1'
                        label: '1'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/projects?page=2'
                        label: '2'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/projects'
                    per_page: 17
                    to: null
                    total: 18
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/projects?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/projects?page=2'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/projects?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 2
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/projects?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/projects?page=1'
                            label: '1'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/projects?page=2'
                            label: '2'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/projects?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/projects'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 18
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/projects/search:
    get:
      summary: 'Search projects'
      operationId: searchProjects
      description: ''
      parameters: []
      responses:
        500:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Server Error'
                properties:
                  message:
                    type: string
                    example: 'Server Error'
      tags:
        - 'Real Estate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                  description: 'The search keyword.'
                  example: consequatur
                  nullable: false
              required:
                - q
      security: []
  /api/v1/projects/filters:
    get:
      summary: 'Get project filters'
      operationId: getProjectFilters
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: city_id
          description: 'Filter by city ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by city ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: state_id
          description: 'Filter by state ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by state ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: country_id
          description: 'Filter by country ID.'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Filter by country ID.'
            example: 17
            nullable: false
        -
          in: query
          name: category_id
          description: 'Filter by category ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by category ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: investor_id
          description: 'Filter by investor ID.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by investor ID.'
            example: consequatur
            nullable: false
        -
          in: query
          name: min_price
          description: 'Filter by minimum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by minimum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: max_price
          description: 'Filter by maximum price.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by maximum price.'
            example: consequatur
            nullable: false
        -
          in: query
          name: is_featured
          description: 'Filter by featured projects (1 or 0).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by featured projects (1 or 0).'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price_from'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, name, price_from'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/projects/filters?page=1'
                    last: 'http://homzen.test/api/v1/projects/filters?page=2'
                    prev: 'http://homzen.test/api/v1/projects/filters?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 2
                    links:
                      -
                        url: 'http://homzen.test/api/v1/projects/filters?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/projects/filters?page=1'
                        label: '1'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/projects/filters?page=2'
                        label: '2'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/projects/filters'
                    per_page: 17
                    to: null
                    total: 18
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/projects/filters?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/projects/filters?page=2'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/projects/filters?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 2
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/projects/filters?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/projects/filters?page=1'
                            label: '1'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/projects/filters?page=2'
                            label: '2'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/projects/filters?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/projects/filters'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 18
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/projects/{slug}':
    get:
      summary: 'Get project by slug'
      operationId: getProjectBySlug
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Project not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Project not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: slug
        description: 'The slug of the project.'
        example: consequatur
        required: true
        schema:
          type: string
  '/api/v1/projects/id/{id}':
    get:
      summary: 'Get project by ID'
      operationId: getProjectByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Project not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Project not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the project.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/projects/id/{id}/properties':
    get:
      summary: 'Get properties of a project'
      operationId: getPropertiesOfAProject
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Project not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Project not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the project.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/categories/id/{id}':
    get:
      summary: 'Get category by ID'
      operationId: getCategoryByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Category not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Category not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the category.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/categories/id/{id}/properties':
    get:
      summary: 'Get properties of a category'
      operationId: getPropertiesOfACategory
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Category not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Category not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the category.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1/features:
    get:
      summary: 'List features'
      operationId: listFeatures
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/features?page=1'
                    last: 'http://homzen.test/api/v1/features?page=1'
                    prev: 'http://homzen.test/api/v1/features?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 1
                    links:
                      -
                        url: 'http://homzen.test/api/v1/features?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/features?page=1'
                        label: '1'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/features'
                    per_page: 17
                    to: null
                    total: 12
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/features?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/features?page=1'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/features?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/features?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/features?page=1'
                            label: '1'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/features?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/features'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 12
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/features/all:
    get:
      summary: 'Get all features (without pagination)'
      operationId: getAllFeatureswithoutPagination
      description: ''
      parameters:
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: Wifi
                      icon: 'ti ti-wifi'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 2
                      name: Parking
                      icon: 'ti ti-parking'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 3
                      name: 'Swimming pool'
                      icon: 'ti ti-pool'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 4
                      name: Balcony
                      icon: 'ti ti-building-skyscraper'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 5
                      name: Garden
                      icon: 'ti ti-trees'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 6
                      name: Security
                      icon: 'ti ti-shield-lock'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 7
                      name: 'Fitness center'
                      icon: 'ti ti-stretching'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 8
                      name: 'Air Conditioning'
                      icon: 'ti ti-air-conditioning'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 9
                      name: 'Central Heating'
                      icon: 'ti ti-thermometer'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 10
                      name: 'Laundry Room'
                      icon: 'ti ti-wash-machine'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 11
                      name: 'Pets Allow'
                      icon: 'ti ti-paw'
                      status: published
                      created_at: null
                      updated_at: null
                    -
                      id: 12
                      name: 'Spa & Massage'
                      icon: 'ti ti-bath'
                      status: published
                      created_at: null
                      updated_at: null
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: Wifi
                        icon: 'ti ti-wifi'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 2
                        name: Parking
                        icon: 'ti ti-parking'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 3
                        name: 'Swimming pool'
                        icon: 'ti ti-pool'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 4
                        name: Balcony
                        icon: 'ti ti-building-skyscraper'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 5
                        name: Garden
                        icon: 'ti ti-trees'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 6
                        name: Security
                        icon: 'ti ti-shield-lock'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 7
                        name: 'Fitness center'
                        icon: 'ti ti-stretching'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 8
                        name: 'Air Conditioning'
                        icon: 'ti ti-air-conditioning'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 9
                        name: 'Central Heating'
                        icon: 'ti ti-thermometer'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 10
                        name: 'Laundry Room'
                        icon: 'ti ti-wash-machine'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 11
                        name: 'Pets Allow'
                        icon: 'ti ti-paw'
                        status: published
                        created_at: null
                        updated_at: null
                      -
                        id: 12
                        name: 'Spa & Massage'
                        icon: 'ti ti-bath'
                        status: published
                        created_at: null
                        updated_at: null
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Wifi
                        icon:
                          type: string
                          example: 'ti ti-wifi'
                        status:
                          type: string
                          example: published
                        created_at:
                          type: string
                          example: null
                        updated_at:
                          type: string
                          example: null
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/features/{id}':
    get:
      summary: 'Get feature by ID'
      operationId: getFeatureByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Feature not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Feature not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the feature.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1/facilities:
    get:
      summary: 'List facilities'
      operationId: listFacilities
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/facilities?page=1'
                    last: 'http://homzen.test/api/v1/facilities?page=1'
                    prev: 'http://homzen.test/api/v1/facilities?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 1
                    links:
                      -
                        url: 'http://homzen.test/api/v1/facilities?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/facilities?page=1'
                        label: '1'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/facilities'
                    per_page: 17
                    to: null
                    total: 11
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/facilities?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/facilities?page=1'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/facilities?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/facilities?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/facilities?page=1'
                            label: '1'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/facilities?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/facilities'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 11
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/facilities/all:
    get:
      summary: 'Get all facilities (without pagination)'
      operationId: getAllFacilitieswithoutPagination
      description: ''
      parameters:
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: asc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: name. One of: created_at, updated_at, name'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: Hospital
                      icon: 'ti ti-hospital'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 2
                      name: 'Super Market'
                      icon: 'ti ti-shopping-cart'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 3
                      name: School
                      icon: 'ti ti-school'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 4
                      name: Entertainment
                      icon: 'ti ti-movie'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 5
                      name: Pharmacy
                      icon: 'ti ti-pill'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 6
                      name: Airport
                      icon: 'ti ti-plane-departure'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 7
                      name: Railways
                      icon: 'ti ti-train'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 8
                      name: 'Bus Stop'
                      icon: 'ti ti-bus'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 9
                      name: Beach
                      icon: 'ti ti-beach'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 10
                      name: Mall
                      icon: 'ti ti-shopping-cart'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                    -
                      id: 11
                      name: Bank
                      icon: 'ti ti-building-bank'
                      status:
                        value: published
                        label: Published
                      created_at: null
                      updated_at: null
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: Hospital
                        icon: 'ti ti-hospital'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 2
                        name: 'Super Market'
                        icon: 'ti ti-shopping-cart'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 3
                        name: School
                        icon: 'ti ti-school'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 4
                        name: Entertainment
                        icon: 'ti ti-movie'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 5
                        name: Pharmacy
                        icon: 'ti ti-pill'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 6
                        name: Airport
                        icon: 'ti ti-plane-departure'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 7
                        name: Railways
                        icon: 'ti ti-train'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 8
                        name: 'Bus Stop'
                        icon: 'ti ti-bus'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 9
                        name: Beach
                        icon: 'ti ti-beach'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 10
                        name: Mall
                        icon: 'ti ti-shopping-cart'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                      -
                        id: 11
                        name: Bank
                        icon: 'ti ti-building-bank'
                        status:
                          value: published
                          label: Published
                        created_at: null
                        updated_at: null
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: Hospital
                        icon:
                          type: string
                          example: 'ti ti-hospital'
                        status:
                          type: object
                          properties:
                            value:
                              type: string
                              example: published
                            label:
                              type: string
                              example: Published
                        created_at:
                          type: string
                          example: null
                        updated_at:
                          type: string
                          example: null
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/facilities/{id}':
    get:
      summary: 'Get facility by ID'
      operationId: getFacilityByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Facility not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Facility not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the facility.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1/agents:
    get:
      summary: 'List agents/accounts'
      operationId: listAgentsaccounts
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: search
          description: 'Limit results to those matching a string.'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Limit results to those matching a string.'
            example: consequatur
            nullable: false
        -
          in: query
          name: is_featured
          description: 'Filter by featured agents (1 or 0).'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Filter by featured agents (1 or 0).'
            example: consequatur
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, first_name, last_name'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, first_name, last_name'
            example: consequatur
            nullable: false
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: []
                  links:
                    first: 'http://homzen.test/api/v1/agents?page=1'
                    last: 'http://homzen.test/api/v1/agents?page=1'
                    prev: 'http://homzen.test/api/v1/agents?page=16'
                    next: null
                  meta:
                    current_page: 17
                    from: null
                    last_page: 1
                    links:
                      -
                        url: 'http://homzen.test/api/v1/agents?page=16'
                        label: '&laquo; Previous'
                        active: false
                      -
                        url: 'http://homzen.test/api/v1/agents?page=1'
                        label: '1'
                        active: false
                      -
                        url: null
                        label: 'Next &raquo;'
                        active: false
                    path: 'http://homzen.test/api/v1/agents'
                    per_page: 17
                    to: null
                    total: 2
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example: []
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                        example: 'http://homzen.test/api/v1/agents?page=1'
                      last:
                        type: string
                        example: 'http://homzen.test/api/v1/agents?page=1'
                      prev:
                        type: string
                        example: 'http://homzen.test/api/v1/agents?page=16'
                      next:
                        type: string
                        example: null
                  meta:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 17
                      from:
                        type: string
                        example: null
                      last_page:
                        type: integer
                        example: 1
                      links:
                        type: array
                        example:
                          -
                            url: 'http://homzen.test/api/v1/agents?page=16'
                            label: '&laquo; Previous'
                            active: false
                          -
                            url: 'http://homzen.test/api/v1/agents?page=1'
                            label: '1'
                            active: false
                          -
                            url: null
                            label: 'Next &raquo;'
                            active: false
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              example: 'http://homzen.test/api/v1/agents?page=16'
                            label:
                              type: string
                              example: '&laquo; Previous'
                            active:
                              type: boolean
                              example: false
                      path:
                        type: string
                        example: 'http://homzen.test/api/v1/agents'
                      per_page:
                        type: integer
                        example: 17
                      to:
                        type: string
                        example: null
                      total:
                        type: integer
                        example: 2
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  '/api/v1/agents/{id}':
    get:
      summary: 'Get account by ID'
      operationId: getAccountByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Account not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Account not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the account.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/agents/{id}/properties':
    get:
      summary: 'Get properties of an account'
      operationId: getPropertiesOfAnAccount
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Account not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Account not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the account.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/agents/{id}/projects':
    get:
      summary: 'Get projects of an account'
      operationId: getProjectsOfAnAccount
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Account not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Account not found'
      tags:
        - 'Real Estate'
      security: []
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the account.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/properties/{property_id}/reviews':
    get:
      summary: 'List reviews for a property'
      operationId: listReviewsForAProperty
      description: ''
      parameters:
        -
          in: query
          name: page
          description: 'Current page of the collection. Default: 1'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Current page of the collection. Default: 1'
            example: 17
            nullable: false
        -
          in: query
          name: per_page
          description: 'Maximum number of items to be returned in result set. Default: 10'
          example: 17
          required: false
          schema:
            type: integer
            description: 'Maximum number of items to be returned in result set. Default: 10'
            example: 17
            nullable: false
        -
          in: query
          name: order
          description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Order sort attribute ascending or descending. Default: desc. One of: asc, desc'
            example: consequatur
            nullable: false
        -
          in: query
          name: order_by
          description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, star'
          example: consequatur
          required: false
          schema:
            type: string
            description: 'Sort collection by object attribute. Default: created_at. One of: created_at, updated_at, star'
            example: consequatur
            nullable: false
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Property not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Property not found'
      tags:
        - 'Real Estate'
      security: []
    post:
      summary: 'Create a review for a property'
      operationId: createAReviewForAProperty
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Real Estate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewable_type:
                  type: string
                  description: 'Type of reviewable entity (Property or Project).'
                  example: Botble\RealEstate\Models\Property
                  nullable: false
                  enum:
                    - Botble\RealEstate\Models\Property
                    - Botble\RealEstate\Models\Project
                star:
                  type: integer
                  description: 'The rating (1-5).'
                  example: 5
                  nullable: false
                content:
                  type: string
                  description: 'Content of the review. Must be at least 4 characters. Must not be greater than 500 characters.'
                  example: 'This is an excellent property with great amenities.'
                  nullable: false
                comment:
                  type: string
                  description: 'The review comment.'
                  example: 'Great property!'
                  nullable: false
              required:
                - star
                - content
                - comment
    parameters:
      -
        in: path
        name: property_id
        description: 'The ID of the property.'
        example: 17
        required: true
        schema:
          type: integer
  '/api/v1/reviews/{id}':
    get:
      summary: 'Get review by ID'
      operationId: getReviewByID
      description: ''
      parameters: []
      responses:
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: 'Review not found'
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: 'Review not found'
      tags:
        - 'Real Estate'
      security: []
    put:
      summary: 'Update a review'
      operationId: updateAReview
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Real Estate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewable_type:
                  type: string
                  description: 'Type of reviewable entity (Property or Project).'
                  example: Botble\RealEstate\Models\Property
                  nullable: false
                  enum:
                    - Botble\RealEstate\Models\Property
                    - Botble\RealEstate\Models\Project
                star:
                  type: integer
                  description: 'The rating (1-5).'
                  example: 5
                  nullable: false
                content:
                  type: string
                  description: 'Content of the review. Must be at least 4 characters. Must not be greater than 500 characters.'
                  example: 'This is an excellent property with great amenities.'
                  nullable: false
                comment:
                  type: string
                  description: 'The review comment.'
                  example: 'Updated review!'
                  nullable: false
              required:
                - star
                - content
                - comment
    delete:
      summary: 'Delete a review'
      operationId: deleteAReview
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Real Estate'
    parameters:
      -
        in: path
        name: id
        description: 'The ID of the review.'
        example: 17
        required: true
        schema:
          type: integer
  /api/v1/consults:
    post:
      summary: 'Send consultation request'
      operationId: sendConsultationRequest
      description: ''
      parameters: []
      responses: {  }
      tags:
        - 'Real Estate'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: 'The name of the person.'
                  example: 'John Doe'
                  nullable: false
                email:
                  type: string
                  description: 'The email address.'
                  example: john@example.com
                  nullable: false
                phone:
                  type: string
                  description: 'The phone number.'
                  example: '+1234567890'
                  nullable: true
                content:
                  type: string
                  description: 'The consultation message.'
                  example: "I'm interested in this property."
                  nullable: false
                consult_custom_fields:
                  type: array
                  description: 'Custom field values.'
                  example:
                    - consequatur
                  items:
                    type: string
                type:
                  type: string
                  description: 'The type of consultation (property or project).'
                  example: property
                  nullable: false
                data_id:
                  type: integer
                  description: 'The ID of the property or project.'
                  example: 1
                  nullable: false
              required:
                - name
                - email
                - content
                - type
                - data_id
      security: []
  /api/v1/consults/custom-fields:
    get:
      summary: 'Get consultation custom fields'
      operationId: getConsultationCustomFields
      description: ''
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    -
                      id: 1
                      name: 'Schedule a Tour (optional)'
                      type: date
                      options: []
                  error: false
                  message: null
                properties:
                  data:
                    type: array
                    example:
                      -
                        id: 1
                        name: 'Schedule a Tour (optional)'
                        type: date
                        options: []
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          example: 1
                        name:
                          type: string
                          example: 'Schedule a Tour (optional)'
                        type:
                          type: string
                          example: date
                        options:
                          type: array
                          example: []
                  error:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: null
      tags:
        - 'Real Estate'
      security: []
  /api/v1/account/profile:
    get:
      summary: 'Get account profile'
      operationId: getAccountProfile
      description: ''
      parameters: []
      responses:
        401:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: true
                  data: null
                  message: Unauthenticated.
                properties:
                  error:
                    type: boolean
                    example: true
                  data:
                    type: string
                    example: null
                  message:
                    type: string
                    example: Unauthenticated.
      tags:
        - 'Real Estate'
