definitions:
  dto.AddPlaceRequest:
    properties:
      parent_id:
        type: integer
      title:
        type: string
    required:
    - title
    type: object
  dto.AddTagRequest:
    properties:
      style:
        type: string
      title:
        type: string
    required:
    - style
    - title
    type: object
  dto.AddThingNotificationRequest:
    properties:
      notification_date:
        format: date-time
        type: string
      thing_id:
        type: integer
    required:
    - notification_date
    - thing_id
    type: object
  dto.AddThingRequest:
    properties:
      description:
        type: string
      place_id:
        type: integer
      title:
        type: string
    required:
    - place_id
    - title
    type: object
  dto.AddUserRequest:
    properties:
      password:
        type: string
      username:
        type: string
    required:
    - password
    - username
    type: object
  dto.EmptyResponse:
    type: object
  dto.ErrorResponse:
    properties:
      error:
        type: string
    type: object
  dto.ImageResponse:
    properties:
      created_at:
        type: string
      id:
        type: integer
      image:
        type: string
      place_id:
        type: integer
      thing_id:
        type: integer
    type: object
  dto.ImagesResponse:
    properties:
      images:
        items:
          $ref: '#/definitions/dto.ImageResponse'
        type: array
    type: object
  dto.LoginRequest:
    properties:
      password:
        type: string
      username:
        type: string
    required:
    - password
    - username
    type: object
  dto.LoginResponse:
    properties:
      token:
        type: string
    type: object
  dto.PlaceResponse:
    properties:
      created_at:
        type: string
      id:
        type: integer
      parent_id:
        type: integer
      title:
        type: string
      updated_at:
        type: string
    type: object
  dto.PlaceTree:
    properties:
      nested:
        items:
          $ref: '#/definitions/dto.PlaceTree'
        type: array
      place:
        $ref: '#/definitions/dto.PlaceResponse'
    type: object
  dto.PlaceTreeResponse:
    properties:
      places:
        items:
          $ref: '#/definitions/dto.PlaceTree'
        type: array
    type: object
  dto.PlacesResponse:
    properties:
      places:
        items:
          $ref: '#/definitions/dto.PlaceResponse'
        type: array
    type: object
  dto.TagResponse:
    properties:
      created_at:
        type: string
      id:
        type: integer
      style:
        type: string
      title:
        type: string
      updated_at:
        type: string
    type: object
  dto.TagsResponse:
    properties:
      tags:
        items:
          $ref: '#/definitions/dto.TagResponse'
        type: array
    type: object
  dto.ThingExtResponse:
    properties:
      created_at:
        type: string
      description:
        type: string
      id:
        type: integer
      place_id:
        type: integer
      tags:
        items:
          $ref: '#/definitions/dto.TagResponse'
        type: array
      title:
        type: string
      updated_at:
        type: string
    type: object
  dto.ThingNotificationExtResponse:
    properties:
      created_at:
        type: string
      notification_date:
        type: string
      place_id:
        type: integer
      place_title:
        type: string
      thing_id:
        type: integer
      thing_title:
        type: string
      updated_at:
        type: string
    type: object
  dto.ThingNotificationResponse:
    properties:
      created_at:
        type: string
      id:
        type: integer
      notification_date:
        type: string
      updated_at:
        type: string
    type: object
  dto.ThingNotificationsExtResponse:
    properties:
      notifications:
        items:
          $ref: '#/definitions/dto.ThingNotificationExtResponse'
        type: array
    type: object
  dto.ThingResponse:
    properties:
      created_at:
        type: string
      description:
        type: string
      id:
        type: integer
      place_id:
        type: integer
      title:
        type: string
      updated_at:
        type: string
    type: object
  dto.ThingsExtResponse:
    properties:
      things:
        items:
          $ref: '#/definitions/dto.ThingExtResponse'
        type: array
    type: object
  dto.UpdatePlaceRequest:
    properties:
      parent_id:
        type: integer
      title:
        type: string
    required:
    - title
    type: object
  dto.UpdateTagRequest:
    properties:
      style:
        type: string
      title:
        type: string
    required:
    - style
    - title
    type: object
  dto.UpdateThingNotificationRequest:
    properties:
      notification_date:
        format: date-time
        type: string
    required:
    - notification_date
    type: object
  dto.UpdateThingRequest:
    properties:
      description:
        type: string
      place_id:
        type: integer
      title:
        type: string
    required:
    - place_id
    - title
    type: object
  dto.UpdateUserRequest:
    properties:
      password:
        type: string
      username:
        type: string
    type: object
  dto.UserResponse:
    properties:
      username:
        type: string
    type: object
info:
  contact: {}
  title: Homethings API
  version: "1.0"
paths:
  /api/v1/auth/check:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.UserResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      summary: Check auth
      tags:
      - Auth
  /api/v1/auth/login:
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.LoginRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.LoginResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "403":
          description: Forbidden
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      summary: Log in user
      tags:
      - Auth
  /api/v1/images:
    post:
      consumes:
      - multipart/form-data
      parameters:
      - description: Place ID
        in: formData
        name: place_id
        type: integer
      - description: Thing ID
        in: formData
        name: thing_id
        type: integer
      - collectionFormat: csv
        description: Files
        in: formData
        items:
          type: file
        name: files
        required: true
        type: array
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add images
      tags:
      - Images
  /api/v1/images/place/{imageId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Image ID
        in: path
        name: imageId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete image
      tags:
      - Images
  /api/v1/images/place/{placeId}:
    get:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: placeId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ImagesResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get images by place ID (with child places)
      tags:
      - Images
  /api/v1/images/thing/{imageId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Image ID
        in: path
        name: imageId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete image
      tags:
      - Images
  /api/v1/images/thing/{thingId}:
    get:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ImagesResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get images by thing ID
      tags:
      - Images
  /api/v1/places:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlacesResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get places list
      tags:
      - Places
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.AddPlaceRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlaceResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add place
      tags:
      - Places
  /api/v1/places/{parentPlaceId}/nested:
    get:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: parentPlaceId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlacesResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get nested places by parent ID
      tags:
      - Places
  /api/v1/places/{placeId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: placeId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete place
      tags:
      - Places
    get:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: placeId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlaceResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get one place
      tags:
      - Places
    put:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: placeId
        required: true
        type: integer
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.UpdatePlaceRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlaceResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Update place
      tags:
      - Places
  /api/v1/places/tree:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.PlaceTreeResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get places tree
      tags:
      - Places
  /api/v1/tags:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagsResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get tags
      tags:
      - Tags
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.AddTagRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add tag
      tags:
      - Tags
  /api/v1/tags/{tagId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Tag ID
        in: path
        name: tagId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete tag
      tags:
      - Tags
    get:
      consumes:
      - application/json
      parameters:
      - description: Tag ID
        in: path
        name: tagId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get one tag
      tags:
      - Tags
    put:
      consumes:
      - application/json
      parameters:
      - description: Tag ID
        in: path
        name: tagId
        required: true
        type: integer
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateTagRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Update tag
      tags:
      - Tags
  /api/v1/tags/{tagId}/thing/{thingId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Tag ID
        in: path
        name: tagId
        required: true
        type: integer
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete thing tag
      tags:
      - Tags
    post:
      consumes:
      - application/json
      parameters:
      - description: Tag ID
        in: path
        name: tagId
        required: true
        type: integer
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add thing tag
      tags:
      - Tags
  /api/v1/tags/thing/{thingId}:
    get:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.TagsResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get thing tags
      tags:
      - Tags
  /api/v1/things:
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.AddThingRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add thing
      tags:
      - Things
  /api/v1/things/{thingId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete thing
      tags:
      - Things
    get:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get one thing
      tags:
      - Things
    put:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateThingRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Update thing
      tags:
      - Things
  /api/v1/things/notifications:
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.AddThingNotificationRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingNotificationResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add thing notification
      tags:
      - Notifications
  /api/v1/things/notifications/{thingId}:
    delete:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Delete thing notification
      tags:
      - Notifications
    get:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingNotificationResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "404":
          description: Not Found
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get thing notification
      tags:
      - Notifications
    put:
      consumes:
      - application/json
      parameters:
      - description: Thing ID
        in: path
        name: thingId
        required: true
        type: integer
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateThingNotificationRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingNotificationResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Update thing notification
      tags:
      - Notifications
  /api/v1/things/notifications/expired:
    get:
      consumes:
      - application/json
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingNotificationsExtResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get expired thing notifications
      tags:
      - Notifications
  /api/v1/things/place/{placeId}:
    get:
      consumes:
      - application/json
      parameters:
      - description: Place ID
        in: path
        name: placeId
        required: true
        type: integer
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingsExtResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Get things by place ID
      tags:
      - Things
  /api/v1/things/search/{search}:
    get:
      consumes:
      - application/json
      parameters:
      - description: Search string
        in: path
        name: search
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.ThingResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Search things
      tags:
      - Things
  /api/v1/users:
    post:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.AddUserRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Add user
      tags:
      - Users
    put:
      consumes:
      - application/json
      parameters:
      - description: Request body
        in: body
        name: data
        required: true
        schema:
          $ref: '#/definitions/dto.UpdateUserRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            $ref: '#/definitions/dto.EmptyResponse'
        "400":
          description: Bad Request
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
        "500":
          description: Internal Server Error
          schema:
            $ref: '#/definitions/dto.ErrorResponse'
      security:
      - APIKey: []
      summary: Update user
      tags:
      - Users
securityDefinitions:
  APIKey:
    in: header
    name: Authorization
    type: apiKey
swagger: "2.0"
