{
  "openapi": "3.0.0",
  "info": {
    "title": "backend-lb4",
    "version": "1.2.0",
    "description": "nuovo backend FL con Loopback4",
    "contact": {
      "name": "Firstlife Team"
    }
  },
  "paths": {
    "/Things/SearchCounter": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "searchCounter",
        "tags": [
          "ThingController"
        ],
        "summary": "Total number of items found by the search - To get thing and placeslist they need to be explicitly set in ename param",
        "responses": {
          "200": {
            "description": "Total number of items found by the search - To get thing and placeslist they need to be explicitly set in ename param"
          }
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "The string to look for in the title or description",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.searchCounter"
      }
    },
    "/Things/TagSearch": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "tagSearch",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "returns all the things that have that tag in the document and the total of the things returned .",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tags": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "total": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "tags",
            "description": "strings of tags separated by comma",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.tagSearch"
      }
    },
    "/Things/bindList": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "bindList",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "List of Thing (entities and placeslist) to associate with a places list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "placeListId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.bindList"
      }
    },
    "/Things/boundingbox/SearchCounter": {
      "get": {
        "x-controller-name": "ThingBoundigboxController",
        "x-operation-name": "countBoundingBox",
        "tags": [
          "ThingBoundigboxController"
        ],
        "responses": {
          "200": {
            "description": "Number of Things",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ne_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ne_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingBoundigboxController.countBoundingBox"
      }
    },
    "/Things/boundingbox": {
      "get": {
        "x-controller-name": "ThingBoundigboxController",
        "x-operation-name": "findBoundingBox",
        "tags": [
          "ThingBoundigboxController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing model instances - The light versione with  less data is enabled by default",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ne_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ne_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "light",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "onlyWeb3",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "factoryAddress",
            "in": "query",
            "description": "string with one or more  factory_address separated by comma",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingBoundigboxController.findBoundingBox"
      }
    },
    "/Things/near": {
      "get": {
        "x-controller-name": "ThingBoundigboxController",
        "x-operation-name": "findNear",
        "tags": [
          "ThingBoundigboxController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lon",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "distance",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "onlyWeb3",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "factoryAddress",
            "in": "query",
            "description": "string with one or more  factory_address separated by comma",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingBoundigboxController.findNear"
      }
    },
    "/Things/search": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "searchThings",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Array of Things",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.searchThings"
      }
    },
    "/Things/{id}/addToParent/{parentId}": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "addThingToParent",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Add a parent to a  thing - set isChildren and parent_id params"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "parentId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.addThingToParent"
      }
    },
    "/Things/{id}/addToPlacelists": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "placesListToSubscribe",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Add one thing to the follow or subscription of a placelists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingController.placesListToSubscribe"
      }
    },
    "/Things/{thingId}/addgroupmember/{userId}": {
      "put": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "addGroupMember",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "200": {
            "description": "Adds a user to the group as a member or if the group requires approval save the user as a candidate"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.addGroupMember"
      }
    },
    "/Things/{id}/answers": {
      "get": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "findAnswers",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "Returns all the answers given to a  single survey",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AnswerController.findAnswers"
      }
    },
    "/Things/{thingId}/approvegroupcandidate/{userId}": {
      "put": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "approveGroupCandidate",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Thing PUT success"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.approveGroupCandidate"
      }
    },
    "/Things/{id}/attachments/{attachId}": {
      "delete": {
        "x-controller-name": "ThingController",
        "x-operation-name": "deleteAttachment",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Delete an attachment from a  thing"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "attachId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.deleteAttachment"
      }
    },
    "/Things/{id}/attachments": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "addAttachments",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Add an array of attachments to a  thing",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "fileId"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "fileId": {
                        "type": "string"
                      },
                      "originalname": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingController.addAttachments"
      },
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "getThingsAttachments",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Return an array of attachments or attachment with corresponding serched name",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "fileId"
                    ],
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "fileId": {
                        "type": "string"
                      },
                      "originalname": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "name",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.getThingsAttachments"
      }
    },
    "/Things/{id}/attachmentsToResources/{fileId}": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "moveAttachment",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Move an attachment to  resources"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "fileId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "coverImage",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.moveAttachment"
      }
    },
    "/Things/{thingId}/candidates": {
      "get": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "getGroupCandidates",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Returns all candidates to a group only if the user is admin/owner  - the list exclude the caller user"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.getGroupCandidates"
      }
    },
    "/Things/{thingId}/checkgroupmembership/{userId}": {
      "get": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "checkGroupMembership",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "200": {
            "description": "Returns if a user is member or a canditate of a group"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.checkGroupMembership"
      }
    },
    "/Things/{id}/comments/{comment_id}": {
      "patch": {
        "x-controller-name": "ThingCommentsController",
        "x-operation-name": "patch",
        "tags": [
          "ThingCommentsController"
        ],
        "responses": {
          "200": {
            "description": "Thing.Comments PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "comment_id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommentsPartial"
              }
            }
          },
          "x-parameter-index": 2
        },
        "operationId": "ThingCommentsController.patch"
      },
      "delete": {
        "x-controller-name": "ThingCommentsController",
        "x-operation-name": "deleteComment",
        "tags": [
          "ThingCommentsController"
        ],
        "responses": {
          "200": {
            "description": "Thing.Comments DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "comment_id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingCommentsController.deleteComment"
      }
    },
    "/Things/{id}/comments": {
      "post": {
        "x-controller-name": "ThingCommentsController",
        "x-operation-name": "addComment",
        "tags": [
          "ThingCommentsController"
        ],
        "summary": "Add a comment",
        "responses": {
          "200": {
            "description": "\"Add a comment",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comments"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCommentsInThing"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingCommentsController.addComment"
      },
      "get": {
        "x-controller-name": "ThingCommentsController",
        "x-operation-name": "find",
        "tags": [
          "ThingCommentsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing has many Comments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Comments"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ThingCommentsController.find"
      }
    },
    "/Things/{thingId}/confirmGroupParticipant/{userId}": {
      "put": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "confirmGroupParticipant",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Thing PUT success"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.confirmGroupParticipant"
      }
    },
    "/Things/{thingId}/groupsize": {
      "get": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "groupSize",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Thing PUT success"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.groupSize"
      }
    },
    "/Things/{thingId}/members": {
      "get": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "getGroupMembers",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Returns all members of a group only if the user is admin/owner or  participant - the list exclude the caller user"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.getGroupMembers"
      }
    },
    "/Things/{id}/questions": {
      "post": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "create",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "200": {
            "description": "Sets a new group of questions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Question"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NewQuestionInSurvey"
                }
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionController.create"
      },
      "get": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "getSurveyQuestions",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "200": {
            "description": "Returns all the questions associated with a FL_SURVEY",
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionController.getSurveyQuestions"
      }
    },
    "/Things/{thingId}/rejectgroupcandidate/{userId}": {
      "put": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "rejectGroupMember",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Return true if user is deleted"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.rejectGroupMember"
      }
    },
    "/Things/{id}/removeFromPlacelists": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "placesListToUnsubscribe",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "204": {
            "description": "Remove  one thing to the follow or subscription of a placelists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingController.placesListToUnsubscribe"
      }
    },
    "/Things/{id}/removeParent": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "removeThingToParent",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Remove parent from Thing"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.removeThingToParent"
      }
    },
    "/Things/{thingId}/removeRejected/{userId}": {
      "delete": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "removeGroupCandidate",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Thing PUT success"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.removeGroupCandidate"
      }
    },
    "/Things/{thingId}/removegroupmember/{userId}": {
      "delete": {
        "x-controller-name": "ThingGroupsController",
        "x-operation-name": "removeGroupMember",
        "tags": [
          "ThingGroupsController"
        ],
        "responses": {
          "204": {
            "description": "Remove group member"
          }
        },
        "parameters": [
          {
            "name": "thingId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "userId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingGroupsController.removeGroupMember"
      }
    },
    "/Things/{id}/results": {
      "get": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "findFeedbackResults",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "Returns the results of a feedback",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AnswerController.findFeedbackResults"
      }
    },
    "/Things/{id}/subentities": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "getSubEnties",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Return all children given a parent ID ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ThingController.getSubEnties"
      }
    },
    "/Things/{id}/subscribe": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "thingSubscribe",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "204": {
            "description": "Follow or subscribe a thing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.thingSubscribe"
      }
    },
    "/Things/{id}/unsubscribe": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "thingUnsubscribe",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "204": {
            "description": "Remove the follow or subscription of  a thing",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.thingUnsubscribe"
      }
    },
    "/Things/{id}": {
      "put": {
        "x-controller-name": "ThingController",
        "x-operation-name": "thingsUpdateById",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "204": {
            "description": "Thing PUT success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingController.thingsUpdateById"
      },
      "patch": {
        "x-controller-name": "ThingController",
        "x-operation-name": "updateById",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "204": {
            "description": "Thing PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingController.updateById"
      },
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "findById",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThingWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.findById"
      },
      "delete": {
        "x-controller-name": "ThingController",
        "x-operation-name": "deleteThingById",
        "tags": [
          "ThingController"
        ],
        "summary": "Delete an entity and its link in the placeslists and  disconnect all children",
        "responses": {
          "200": {
            "description": "Thing DELETE success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "removeChild",
            "in": "query",
            "description": "If set to true deletes all children of the entity",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "newParentId",
            "in": "query",
            "description": "if set it assigns this ID as the new parent of the children",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ThingController.deleteThingById"
      }
    },
    "/Things": {
      "post": {
        "x-controller-name": "ThingController",
        "x-operation-name": "createThing",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Creates a new entity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Thing"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewThing"
              }
            }
          }
        },
        "operationId": "ThingController.createThing"
      },
      "patch": {
        "x-controller-name": "ThingController",
        "x-operation-name": "updateAll",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Thing.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Thing>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThingPartial"
              }
            }
          }
        },
        "operationId": "ThingController.updateAll"
      },
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "find",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "notChildren",
            "in": "query",
            "description": "if it is set returns only the parent entities",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ThingController.find"
      }
    },
    "/admin/add-entity-language/{domain}": {
      "get": {
        "x-controller-name": "AdminApiController",
        "x-operation-name": "addEntityLanguage",
        "tags": [
          "AdminApiController"
        ],
        "responses": {
          "204": {
            "description": "Multi comment deletion - only for administrator  "
          }
        },
        "parameters": [
          {
            "name": "domain",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AdminApiController.addEntityLanguage"
      }
    },
    "/admin/comments": {
      "get": {
        "x-controller-name": "AdminApiController",
        "x-operation-name": "getComments",
        "tags": [
          "AdminApiController"
        ],
        "responses": {
          "200": {
            "description": "Return all Comment paginated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "pageIndex": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  },
                  "items": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Comments",
                        "definitions": {
                          "Comments": {
                            "$ref": "#/components/schemas/Comments"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateRangeFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateRangeTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "inappropriate",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "AdminApiController.getComments"
      },
      "delete": {
        "x-controller-name": "AdminApiController",
        "x-operation-name": "deleteCommentsArray",
        "tags": [
          "AdminApiController"
        ],
        "responses": {
          "204": {
            "description": "Multi comment deletion - only for administrator  "
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ids"
                ],
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "description": "The input of delete things function",
          "required": true
        },
        "operationId": "AdminApiController.deleteCommentsArray"
      }
    },
    "/admin/fl-categories/{id}/translations": {
      "patch": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "addTranslations",
        "tags": [
          "FlCategoryController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Add translation to category"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlCategoryController.addTranslations"
      }
    },
    "/admin/fl-categories/{id}": {
      "put": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "replaceById",
        "tags": [
          "FlCategoryController"
        ],
        "summary": "Update category by id",
        "responses": {
          "200": {
            "description": "FlCategory PUT success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlCategory"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlCategory"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlCategoryController.replaceById"
      },
      "get": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "findById",
        "tags": [
          "FlCategoryController"
        ],
        "responses": {
          "200": {
            "description": "FlCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlCategory"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "FlCategoryController.findById"
      }
    },
    "/admin/fl-categories": {
      "post": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "create",
        "tags": [
          "FlCategoryController"
        ],
        "responses": {
          "200": {
            "description": "FlCategory model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlCategory"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFlCategory"
              }
            }
          }
        },
        "operationId": "FlCategoryController.create"
      },
      "get": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "find",
        "tags": [
          "FlCategoryController"
        ],
        "responses": {
          "200": {
            "summary": "Return an array of  categories ordered by name",
            "description": "Return all Categories paginated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "pageIndex": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  },
                  "items": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FlCategory",
                        "definitions": {
                          "FlCategory": {
                            "$ref": "#/components/schemas/FlCategory"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "FlCategoryController.find"
      },
      "delete": {
        "x-controller-name": "FlCategoryController",
        "x-operation-name": "deleteMany",
        "tags": [
          "FlCategoryController"
        ],
        "summary": "Deletes one or multiple categories",
        "responses": {
          "204": {
            "description": "bulk deletion of categories - used by the backoffice"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ids"
                ],
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "description": "The input of delete things function",
          "required": true
        },
        "operationId": "FlCategoryController.deleteMany"
      }
    },
    "/admin/fl-instances/default": {
      "get": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "getDefault",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "returns the default instance document- only for admin",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "items": {
                    "$ref": "#/components/schemas/FL_InstanceWithRelations",
                    "definitions": {
                      "FL_InstanceWithRelations": {
                        "$ref": "#/components/schemas/FL_InstanceWithRelations"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "FlInstancesController.getDefault"
      }
    },
    "/admin/fl-instances/{domain_id}": {
      "put": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "replaceById",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "updates the data of an instance or creates a new one if it doesn't exist with that domain"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FL_Instance"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlInstancesController.replaceById"
      },
      "delete": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "deleteByDomainId",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "DELETE an instance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "FlInstancesController.deleteByDomainId"
      }
    },
    "/admin/fl-instances": {
      "post": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "create",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "Add new fl-instance - only for admin",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FL_Instance"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FL_Instance"
              }
            }
          }
        },
        "operationId": "FlInstancesController.create"
      }
    },
    "/admin/reports/{id}": {
      "put": {
        "x-controller-name": "ReportController",
        "x-operation-name": "replaceById",
        "tags": [
          "ReportController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update report status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Report"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ReportController.replaceById"
      }
    },
    "/admin/reports": {
      "get": {
        "x-controller-name": "ReportController",
        "x-operation-name": "find",
        "tags": [
          "ReportController"
        ],
        "responses": {
          "200": {
            "description": "Object with Array of Report, pages and total",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "pageIndex": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Report",
                      "definitions": {
                        "Report": {
                          "$ref": "#/components/schemas/Report"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "description": "search in message text ",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "timestamp_insert | last_update - default: timestamp_insert ",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "description": "values : 1 , -1  | default : -1",
            "required": false,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "values :  RESOLVED, UNRESOLVED - default UNRESOLVED",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ReportController.find"
      }
    },
    "/admin/things": {
      "get": {
        "x-controller-name": "AdminApiController",
        "x-operation-name": "findThingsl",
        "tags": [
          "AdminApiController"
        ],
        "responses": {
          "200": {
            "description": "Return all Things paginated",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "total": {
                      "type": "number"
                    },
                    "pageIndex": {
                      "type": "number"
                    },
                    "pageSize": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateRangeFrom",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dateRangeTo",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "inappropriate",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "AdminApiController.findThingsl"
      },
      "delete": {
        "x-controller-name": "AdminApiController",
        "x-operation-name": "deleteMany",
        "tags": [
          "AdminApiController"
        ],
        "summary": "bulk deletion of Things- used by the backoffice",
        "responses": {
          "204": {
            "description": "bulk deletion of Things- used by the backoffice"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ids"
                ],
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "description": "The input of delete things function",
          "required": true
        },
        "operationId": "AdminApiController.deleteMany"
      }
    },
    "/admin/user-action-log": {
      "get": {
        "x-controller-name": "UserActionLoggerController",
        "x-operation-name": "findByUserId",
        "tags": [
          "UserActionLoggerController"
        ],
        "responses": {
          "200": {
            "description": "List of user actions for a given userId with total count, ordered by timestamp DESC",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "number"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UserActionloggerWithRelations"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "userId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "domain_id",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "number of items - default 10",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "UserActionLoggerController.findByUserId"
      }
    },
    "/answers/{id}": {
      "put": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "updateById",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Answer PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnswerPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "AnswerController.updateById"
      },
      "get": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "findById",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "Answer model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnswerWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Answer.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AnswerController.findById"
      },
      "delete": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "deleteById",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Answer DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AnswerController.deleteById"
      }
    },
    "/answers": {
      "post": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "create",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "Accept an array of anwers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Answer"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NewAnswerInQuestion"
                }
              }
            }
          }
        },
        "operationId": "AnswerController.create"
      },
      "patch": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "updateAll",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Answer PATCH success count"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AnswerPartial"
                }
              }
            }
          }
        },
        "operationId": "AnswerController.updateAll"
      },
      "get": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "find",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "200": {
            "description": "Array of Answer model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AnswerWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Answer.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "AnswerController.find"
      },
      "delete": {
        "x-controller-name": "AnswerController",
        "x-operation-name": "deleteAnswerArray",
        "tags": [
          "AnswerController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Answer DELETE success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          }
        },
        "operationId": "AnswerController.deleteAnswerArray"
      }
    },
    "/areas/boundingbox": {
      "get": {
        "x-controller-name": "AreaController",
        "x-operation-name": "findByBBox",
        "tags": [
          "AreaController"
        ],
        "responses": {
          "200": {
            "description": "return all areas within the bbox | default type is administrative areas",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AreaWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "ne_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ne_lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "AreaController.findByBBox"
      }
    },
    "/category-spaces/count": {
      "get": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "count",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "200": {
            "description": "CategorySpace model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CategorySpace.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CategorySpace>"
                }
              }
            }
          }
        ],
        "operationId": "CategorySpaceController.count"
      }
    },
    "/category-spaces/{id}": {
      "put": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "replaceById",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CategorySpace PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategorySpace"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CategorySpaceController.replaceById"
      },
      "patch": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "updateById",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CategorySpace PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategorySpacePartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "CategorySpaceController.updateById"
      },
      "get": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "findById",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "200": {
            "description": "CategorySpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategorySpaceWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategorySpace.Filter"
                }
              }
            }
          }
        ],
        "operationId": "CategorySpaceController.findById"
      },
      "delete": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "deleteById",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "CategorySpace DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CategorySpaceController.deleteById"
      }
    },
    "/category-spaces": {
      "post": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "create",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "200": {
            "description": "CategorySpace model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CategorySpace"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewCategorySpace"
              }
            }
          }
        },
        "operationId": "CategorySpaceController.create"
      },
      "patch": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "updateAll",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "200": {
            "description": "CategorySpace PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "CategorySpace.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<CategorySpace>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CategorySpacePartial"
              }
            }
          }
        },
        "operationId": "CategorySpaceController.updateAll"
      },
      "get": {
        "x-controller-name": "CategorySpaceController",
        "x-operation-name": "find",
        "tags": [
          "CategorySpaceController"
        ],
        "responses": {
          "200": {
            "description": "Array of CategorySpace model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CategorySpaceWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "entities",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "CategorySpaceController.find"
      }
    },
    "/chedih/newInteraction": {
      "post": {
        "x-controller-name": "ChedihController",
        "x-operation-name": "create",
        "tags": [
          "ChedihController"
        ],
        "responses": {
          "200": {
            "description": "Send the contact/booking form data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "createdtime": {
                      "type": "string"
                    },
                    "assigned_user_id": {
                      "type": "string"
                    },
                    "id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "CRM connection failed",
            "content": {
              "application/json": {}
            }
          },
          "422": {
            "description": "The request body is invalid. See error object `details` property for more info",
            "content": {
              "application/json": {}
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "gdpr_privacypolicy"
                ],
                "properties": {
                  "firstname": {
                    "type": "string"
                  },
                  "lastname": {
                    "type": "string"
                  },
                  "user_id": {
                    "type": "string"
                  },
                  "company": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string"
                  },
                  "designation": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "vatNumber": {
                    "type": "string"
                  },
                  "taxIdentificationNumber": {
                    "type": "string"
                  },
                  "area": {
                    "type": "string"
                  },
                  "gdpr_privacypolicy": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "operationId": "ChedihController.create"
      }
    },
    "/comments/{id}/thing": {
      "get": {
        "x-controller-name": "CommentsThingController",
        "x-operation-name": "getThing",
        "tags": [
          "CommentsThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing belonging to Comments",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Thing"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "CommentsThingController.getThing"
      }
    },
    "/domains/{domain_id}/categories": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "getCategories",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "returns the categories list based on domain_id",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.getCategories"
      }
    },
    "/draft/{id}/{entity_type}": {
      "delete": {
        "x-controller-name": "ThingController",
        "x-operation-name": "deleteDraft",
        "tags": [
          "ThingController"
        ],
        "summary": "Delete the draft",
        "responses": {
          "204": {
            "content": {
              "description": "Delete the draft and return void or in placeslist case the link of the associated relation deleted"
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "entity or placeslist id",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "entity_type",
            "in": "path",
            "description": "entity type to discriminate between things and placeslist",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ThingController.deleteDraft"
      }
    },
    "/draft": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "getThingDraft",
        "tags": [
          "ThingController"
        ],
        "summary": "Retrieves all the Things in draft state created by the user ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ThingController.getThingDraft"
      }
    },
    "/fl-entities/count": {
      "get": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "count",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "200": {
            "description": "FlEntity model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FlEntity.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FlEntity>"
                }
              }
            }
          }
        ],
        "operationId": "FlEntityController.count"
      }
    },
    "/fl-entities/{id}": {
      "put": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "replaceById",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FlEntity PUT success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlEntity"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlEntityController.replaceById"
      },
      "patch": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "updateById",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FlEntity PATCH success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlEntityPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlEntityController.updateById"
      },
      "get": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "findById",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "200": {
            "description": "FlEntity model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntity.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FlEntityController.findById"
      },
      "delete": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "deleteById",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "FlEntity DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FlEntityController.deleteById"
      }
    },
    "/fl-entities": {
      "post": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "create",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "200": {
            "description": "Create Entity model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntity"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlEntity"
              }
            }
          }
        },
        "operationId": "FlEntityController.create"
      },
      "patch": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "updateAll",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "200": {
            "description": "FlEntity PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FlEntity.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FlEntity>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlEntityPartial"
              }
            }
          }
        },
        "operationId": "FlEntityController.updateAll"
      },
      "get": {
        "x-controller-name": "FlEntityController",
        "x-operation-name": "find",
        "tags": [
          "FlEntityController"
        ],
        "responses": {
          "200": {
            "description": "Array of FlEntity model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlEntityWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntity.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "FlEntityController.find"
      }
    },
    "/fl-entity-instances/domain/{domain_id}": {
      "get": {
        "x-controller-name": "FlEntityInstanceController",
        "x-operation-name": "findByDomainId",
        "tags": [
          "FlEntityInstanceController"
        ],
        "responses": {
          "200": {
            "description": "Returns all entities by domain_id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityInstance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "FlEntityInstanceController.findByDomainId"
      }
    },
    "/fl-entity-instances/id/{id}": {
      "get": {
        "x-controller-name": "FlEntityInstanceController",
        "x-operation-name": "findById",
        "tags": [
          "FlEntityInstanceController"
        ],
        "responses": {
          "200": {
            "description": "Returns all entities by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityInstanceWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityInstance.Filter"
                }
              }
            }
          }
        ],
        "operationId": "FlEntityInstanceController.findById"
      }
    },
    "/fl-entity-instances/{domainId}": {
      "put": {
        "x-controller-name": "FlEntityInstanceController",
        "x-operation-name": "replaceByDomainId",
        "tags": [
          "FlEntityInstanceController"
        ],
        "summary": "Update entity instance - requires administrator token",
        "responses": {
          "200": {
            "description": "Returns the entiy instance updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityInstance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domainId",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlEntityInstanceExcluding__id-domain_id_"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlEntityInstanceController.replaceByDomainId"
      }
    },
    "/fl-entity-instances": {
      "post": {
        "x-controller-name": "FlEntityInstanceController",
        "x-operation-name": "create",
        "tags": [
          "FlEntityInstanceController"
        ],
        "responses": {
          "200": {
            "description": "Creates a new group of entities associated with a specific domain/instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlEntityInstance"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFlEntityInstance"
              }
            }
          }
        },
        "operationId": "FlEntityInstanceController.create"
      },
      "get": {
        "x-controller-name": "FlEntityInstanceController",
        "x-operation-name": "find",
        "tags": [
          "FlEntityInstanceController"
        ],
        "responses": {
          "200": {
            "description": "Returns all instances and relative entities",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlEntityInstanceWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "FlEntityInstanceController.find"
      }
    },
    "/fl-instance-categories/{id}": {
      "put": {
        "x-controller-name": "InstanceCategoriesController",
        "x-operation-name": "replaceById",
        "tags": [
          "InstanceCategoriesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update Instance Category Space"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstanceCategories"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "InstanceCategoriesController.replaceById"
      }
    },
    "/fl-instance-categories/{domain_id}": {
      "get": {
        "x-controller-name": "InstanceCategoriesController",
        "x-operation-name": "findByDomainId",
        "tags": [
          "InstanceCategoriesController"
        ],
        "responses": {
          "200": {
            "description": "InstanceCategories model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceCategories"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "lang",
            "in": "query",
            "description": "the language to order by",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InstanceCategoriesController.findByDomainId"
      }
    },
    "/fl-instance-categories": {
      "post": {
        "x-controller-name": "InstanceCategoriesController",
        "x-operation-name": "create",
        "tags": [
          "InstanceCategoriesController"
        ],
        "responses": {
          "200": {
            "description": "InstanceCategories model instance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstanceCategoriesExcluding__id_"
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/NewInstanceCategorySpace"
                }
              }
            }
          }
        },
        "operationId": "InstanceCategoriesController.create"
      },
      "get": {
        "x-controller-name": "InstanceCategoriesController",
        "x-operation-name": "find",
        "tags": [
          "InstanceCategoriesController"
        ],
        "responses": {
          "200": {
            "description": "Array of InstanceCategories model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InstanceCategoriesWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortDirection",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "page",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "pageSize",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "InstanceCategoriesController.find"
      },
      "delete": {
        "x-controller-name": "InstanceCategoriesController",
        "x-operation-name": "deleteMany",
        "tags": [
          "InstanceCategoriesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "bulk deletion of Istance category spaces - used by the backoffice"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "ids"
                ],
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "description": "The input of delete things function",
          "required": true
        },
        "operationId": "InstanceCategoriesController.deleteMany"
      }
    },
    "/fl-instances/rating": {
      "post": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "submitRating",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "Submit a rating (1-5) for this domain. Logged users are limited to one vote (upsert). Anonymous users can vote freely.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "average": {
                      "type": "number"
                    },
                    "count": {
                      "type": "number"
                    },
                    "userScore": {
                      "type": "number",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "score"
                ],
                "properties": {
                  "score": {
                    "type": "number",
                    "minimum": 1,
                    "maximum": 5
                  }
                }
              }
            }
          }
        },
        "operationId": "FlInstancesController.submitRating"
      },
      "get": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "getRating",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "Returns average rating, vote count and current user score (null if anonymous) for this domain",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "average": {
                      "type": "number"
                    },
                    "count": {
                      "type": "number"
                    },
                    "userScore": {
                      "type": "number",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "operationId": "FlInstancesController.getRating"
      }
    },
    "/fl-instances/{domain_id}": {
      "get": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "findByDomain",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "Return fl-instance by domain id - only for admin",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FL_Instance"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "domain_id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          }
        ],
        "operationId": "FlInstancesController.findByDomain"
      }
    },
    "/fl-instances": {
      "get": {
        "x-controller-name": "FlInstancesController",
        "x-operation-name": "find",
        "tags": [
          "FlInstancesController"
        ],
        "responses": {
          "200": {
            "description": "Returns the specific FL instance for that API",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FL_InstanceWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "FlInstancesController.find"
      }
    },
    "/groupcandidates/{id}/fl-user": {
      "get": {
        "x-controller-name": "GroupcandidatesFlUserController",
        "x-operation-name": "getFlUser",
        "tags": [
          "GroupcandidatesFlUserController"
        ],
        "responses": {
          "200": {
            "description": "FlUser belonging to Groupcandidates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlUser"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GroupcandidatesFlUserController.getFlUser"
      }
    },
    "/groupcandidates/{id}/thing": {
      "get": {
        "x-controller-name": "GroupcandidatesThingController",
        "x-operation-name": "getThing",
        "tags": [
          "GroupcandidatesThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing belonging to Groupcandidates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Thing"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GroupcandidatesThingController.getThing"
      }
    },
    "/members/{id}/thing": {
      "get": {
        "x-controller-name": "MemberThingController",
        "x-operation-name": "getThing",
        "tags": [
          "MemberThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing belonging to Member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Thing"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "MemberThingController.getThing"
      }
    },
    "/nemo-tesor/organizations/{id}": {
      "get": {
        "x-controller-name": "NemoTesorController",
        "x-operation-name": "getOrganization",
        "tags": [
          "NemoTesorController"
        ],
        "responses": {
          "200": {
            "description": "Organization data from Nemo Tesor Evaluator",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "number"
            },
            "required": true
          },
          {
            "name": "kind",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "NemoTesorController.getOrganization"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/placelists/bindThing": {
      "get": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "bindThing",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "200": {
            "description": "List of Placelists to associate with a Thing ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceList"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "thingId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "PlaceListsController.bindThing"
      }
    },
    "/placelists/{id}/addthings": {
      "put": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "addThingToPlacelist",
        "tags": [
          "PlaceListsController"
        ],
        "summary": "Return all Things inside the  list and bounding box",
        "responses": {
          "200": {
            "description": "Return all Things inside the  list and bounding box ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "things": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "boundingbox": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "descrption": "Returns an array of things ids",
          "x-parameter-index": 1
        },
        "operationId": "PlaceListsController.addThingToPlacelist"
      }
    },
    "/placelists/{id}/removethings": {
      "put": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "removeThingFromPlacelist",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Remove one or multiple  thing from a PlacesList"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlaceListsController.removeThingFromPlacelist"
      }
    },
    "/placelists/{id}/subscribe": {
      "put": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "placeListSubscribe",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "204": {
            "description": "Follow or subscribe a placeslist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlaceListsController.placeListSubscribe"
      }
    },
    "/placelists/{id}/things": {
      "get": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "getThingsInPlaceslist",
        "tags": [
          "PlaceListsController"
        ],
        "summary": "Return all Things inside the  list and bounding box",
        "responses": {
          "200": {
            "description": "Return all Things inside the  list and bounding box ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "things": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thing"
                      }
                    },
                    "boundingbox": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "distance",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "PlaceListsController.getThingsInPlaceslist"
      }
    },
    "/placelists/{id}/unsubscribe": {
      "put": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "placesListUnsubscribe",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "204": {
            "description": "Remove the follow or subscription of a placelists",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlaceListsController.placesListUnsubscribe"
      }
    },
    "/placelists/{id}": {
      "put": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "replaceById",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update placeList"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "PlaceListsController.replaceById"
      },
      "get": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "findById",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "200": {
            "description": "PlaceList by ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceListWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceList.Filter"
                }
              }
            }
          }
        ],
        "operationId": "PlaceListsController.findById"
      },
      "delete": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "deleteById",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": " DELETE placelists"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PlaceListsController.deleteById"
      }
    },
    "/placelists": {
      "post": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "createPlaceList",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "200": {
            "description": "Creates a new placeslist ",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceList"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPlaceList"
              }
            }
          }
        },
        "operationId": "PlaceListsController.createPlaceList"
      },
      "get": {
        "x-controller-name": "PlaceListsController",
        "x-operation-name": "find",
        "tags": [
          "PlaceListsController"
        ],
        "responses": {
          "200": {
            "description": "Returns an array of PlaceList instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceListWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceList.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "PlaceListsController.find"
      }
    },
    "/questions/{id}/answers": {
      "post": {
        "x-controller-name": "QuestionAnswerController",
        "x-operation-name": "create",
        "tags": [
          "QuestionAnswerController"
        ],
        "responses": {
          "200": {
            "description": "Question model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Answer"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewAnswerInQuestion"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionAnswerController.create"
      },
      "patch": {
        "x-controller-name": "QuestionAnswerController",
        "x-operation-name": "patch",
        "tags": [
          "QuestionAnswerController"
        ],
        "responses": {
          "200": {
            "description": "Question.Answer PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Answer.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Answer>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnswerPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionAnswerController.patch"
      },
      "get": {
        "x-controller-name": "QuestionAnswerController",
        "x-operation-name": "find",
        "tags": [
          "QuestionAnswerController"
        ],
        "responses": {
          "200": {
            "description": "Array of Question has many Answer",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Answer"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "QuestionAnswerController.find"
      },
      "delete": {
        "x-controller-name": "QuestionAnswerController",
        "x-operation-name": "delete",
        "tags": [
          "QuestionAnswerController"
        ],
        "responses": {
          "200": {
            "description": "Question.Answer DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Answer.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Answer>"
                }
              }
            }
          }
        ],
        "operationId": "QuestionAnswerController.delete"
      }
    },
    "/questions/{id}": {
      "put": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "updateById",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Returns the questions updated "
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "QuestionController.updateById"
      }
    },
    "/questions/{questionId}": {
      "delete": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "deleteById",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Question DELETE success"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "questionId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "QuestionController.deleteById"
      }
    },
    "/questions": {
      "patch": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "updateAll",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Accept an array of questions to update"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/QuestionPartial"
                }
              }
            }
          }
        },
        "operationId": "QuestionController.updateAll"
      },
      "delete": {
        "x-controller-name": "QuestionController",
        "x-operation-name": "deleteQuestionArray",
        "tags": [
          "QuestionController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Question DELETE success"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array"
              }
            }
          }
        },
        "operationId": "QuestionController.deleteQuestionArray"
      }
    },
    "/ratings/{id}/thing": {
      "get": {
        "x-controller-name": "RatingsThingController",
        "x-operation-name": "getThing",
        "tags": [
          "RatingsThingController"
        ],
        "responses": {
          "200": {
            "description": "Thing belonging to Ratings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Thing"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "RatingsThingController.getThing"
      }
    },
    "/reports": {
      "post": {
        "x-controller-name": "ReportController",
        "x-operation-name": "create",
        "tags": [
          "ReportController"
        ],
        "responses": {
          "200": {
            "description": "Report  instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Report"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewReport"
              }
            }
          }
        },
        "operationId": "ReportController.create"
      }
    },
    "/things/{id}/place-lists": {
      "post": {
        "x-controller-name": "ThingPlaceListController",
        "x-operation-name": "create",
        "tags": [
          "ThingPlaceListController"
        ],
        "responses": {
          "200": {
            "description": "create a PlaceList model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlaceList"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPlaceListInThing"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingPlaceListController.create"
      },
      "patch": {
        "x-controller-name": "ThingPlaceListController",
        "x-operation-name": "patch",
        "tags": [
          "ThingPlaceListController"
        ],
        "responses": {
          "200": {
            "description": "Thing.PlaceList PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PlaceList.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PlaceList>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlaceListPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingPlaceListController.patch"
      },
      "get": {
        "x-controller-name": "ThingPlaceListController",
        "x-operation-name": "find",
        "tags": [
          "ThingPlaceListController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing has many PlaceList through PlaceListThings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PlaceList"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ThingPlaceListController.find"
      },
      "delete": {
        "x-controller-name": "ThingPlaceListController",
        "x-operation-name": "delete",
        "tags": [
          "ThingPlaceListController"
        ],
        "responses": {
          "200": {
            "description": "Thing.PlaceList DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "PlaceList.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<PlaceList>"
                }
              }
            }
          }
        ],
        "operationId": "ThingPlaceListController.delete"
      }
    },
    "/things/{id}/ratings": {
      "post": {
        "x-controller-name": "ThingRatingsController",
        "x-operation-name": "create",
        "tags": [
          "ThingRatingsController"
        ],
        "responses": {
          "200": {
            "description": "Thing model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ratings"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewRatingsInThing"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingRatingsController.create"
      },
      "patch": {
        "x-controller-name": "ThingRatingsController",
        "x-operation-name": "patch",
        "tags": [
          "ThingRatingsController"
        ],
        "responses": {
          "200": {
            "description": "Thing.Ratings PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Ratings.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Ratings>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RatingsPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingRatingsController.patch"
      },
      "get": {
        "x-controller-name": "ThingRatingsController",
        "x-operation-name": "find",
        "tags": [
          "ThingRatingsController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing has many Ratings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Ratings"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ThingRatingsController.find"
      },
      "delete": {
        "x-controller-name": "ThingRatingsController",
        "x-operation-name": "delete",
        "tags": [
          "ThingRatingsController"
        ],
        "responses": {
          "200": {
            "description": "Thing.Ratings DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Ratings.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Ratings>"
                }
              }
            }
          }
        ],
        "operationId": "ThingRatingsController.delete"
      }
    },
    "/things/{id}/thing-histories": {
      "post": {
        "x-controller-name": "ThingThingHistoryController",
        "x-operation-name": "create",
        "tags": [
          "ThingThingHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Thing model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThingHistory"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewThingHistoryInThing"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingThingHistoryController.create"
      },
      "patch": {
        "x-controller-name": "ThingThingHistoryController",
        "x-operation-name": "patch",
        "tags": [
          "ThingThingHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Thing.ThingHistory PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ThingHistory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ThingHistory>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThingHistoryPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingThingHistoryController.patch"
      },
      "get": {
        "x-controller-name": "ThingThingHistoryController",
        "x-operation-name": "find",
        "tags": [
          "ThingThingHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing has many ThingHistory",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingHistory"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ThingThingHistoryController.find"
      },
      "delete": {
        "x-controller-name": "ThingThingHistoryController",
        "x-operation-name": "delete",
        "tags": [
          "ThingThingHistoryController"
        ],
        "responses": {
          "200": {
            "description": "Thing.ThingHistory DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "ThingHistory.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<ThingHistory>"
                }
              }
            }
          }
        ],
        "operationId": "ThingThingHistoryController.delete"
      }
    },
    "/things/{id}/users": {
      "post": {
        "x-controller-name": "ThingFlUserController",
        "x-operation-name": "create",
        "tags": [
          "ThingFlUserController"
        ],
        "responses": {
          "200": {
            "description": "create a FlUser model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FlUser"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewFlUserInThing"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingFlUserController.create"
      },
      "patch": {
        "x-controller-name": "ThingFlUserController",
        "x-operation-name": "patch",
        "tags": [
          "ThingFlUserController"
        ],
        "responses": {
          "200": {
            "description": "Thing.FlUser PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FlUser.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FlUser>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FlUserPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "ThingFlUserController.patch"
      },
      "get": {
        "x-controller-name": "ThingFlUserController",
        "x-operation-name": "find",
        "tags": [
          "ThingFlUserController"
        ],
        "responses": {
          "200": {
            "description": "Array of Thing has many FlUser through Groupcandidates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FlUser"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "ThingFlUserController.find"
      },
      "delete": {
        "x-controller-name": "ThingFlUserController",
        "x-operation-name": "delete",
        "tags": [
          "ThingFlUserController"
        ],
        "responses": {
          "200": {
            "description": "Thing.FlUser DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "FlUser.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<FlUser>"
                }
              }
            }
          }
        ],
        "operationId": "ThingFlUserController.delete"
      }
    },
    "/tokens/check": {
      "get": {
        "x-controller-name": "TokenController",
        "x-operation-name": "check",
        "tags": [
          "TokenController"
        ],
        "responses": {
          "200": {
            "description": "Array of Token model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TokenWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "access_token",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "auth_server",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "TokenController.check"
      }
    },
    "/tokens/fl-auth": {
      "post": {
        "x-controller-name": "TokenController",
        "x-operation-name": "fl_auth",
        "tags": [
          "TokenController"
        ],
        "responses": {
          "200": {
            "description": "sends client data and returns token data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "clientId": {
                    "type": "string"
                  },
                  "redirectUri": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "description": "client data and code",
          "required": true
        },
        "operationId": "TokenController.fl_auth"
      }
    },
    "/translate": {
      "post": {
        "x-controller-name": "TranslateController",
        "x-operation-name": "translate",
        "tags": [
          "TranslateController"
        ],
        "responses": {
          "200": {
            "description": "Translation Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TranslateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - Missing required parameters"
          },
          "500": {
            "description": "Internal Server Error - Translation service error"
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "text",
                  "target_lang"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "Text to translate"
                  },
                  "target_lang": {
                    "type": "string",
                    "description": "Target language code (e.g., EN, IT, FR, DE, ES)"
                  },
                  "source_lang": {
                    "type": "string",
                    "description": "Source language code (optional, auto-detect if not provided)"
                  },
                  "tag_handling": {
                    "type": "string",
                    "description": "How to handle HTML tags (default: html)",
                    "default": "html"
                  }
                }
              }
            }
          },
          "description": "Translation request body",
          "required": true
        },
        "operationId": "TranslateController.translate"
      }
    },
    "/user-actions-log": {
      "get": {
        "x-controller-name": "UserActionLoggerController",
        "x-operation-name": "find",
        "tags": [
          "UserActionLoggerController"
        ],
        "responses": {
          "200": {
            "description": "List of user actions ordered by timestamp DESC ",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserActionloggerWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "number of items - default 10",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "UserActionLoggerController.find"
      }
    },
    "/users/{memberId}/boundingbox": {
      "get": {
        "x-controller-name": "FlUserController",
        "x-operation-name": "userBBoxSubscription",
        "tags": [
          "FlUserController"
        ],
        "summary": "returns all user subscriptions within a boundary ",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "description": "the user id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ne_lng",
            "in": "query",
            "description": "ne lng coord",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lat",
            "in": "query",
            "description": "ne lng coord",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ne_lat",
            "in": "query",
            "description": "ne lng coord",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "sw_lng",
            "in": "query",
            "description": "ne lng coord",
            "required": true,
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "light",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "token",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "factoryAddress",
            "in": "query",
            "description": "string with one or more  factory_address separated by comma",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "FlUserController.userBBoxSubscription"
      }
    },
    "/users/{id}/groupcandidates": {
      "post": {
        "x-controller-name": "FlUserGroupcandidatesController",
        "x-operation-name": "create",
        "tags": [
          "FlUserGroupcandidatesController"
        ],
        "responses": {
          "200": {
            "description": "FlUser model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Groupcandidates"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewGroupcandidatesInFlUser"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlUserGroupcandidatesController.create"
      },
      "patch": {
        "x-controller-name": "FlUserGroupcandidatesController",
        "x-operation-name": "patch",
        "tags": [
          "FlUserGroupcandidatesController"
        ],
        "responses": {
          "200": {
            "description": "FlUser.Groupcandidates PATCH success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Groupcandidates.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Groupcandidates>"
                }
              }
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupcandidatesPartial"
              }
            }
          },
          "x-parameter-index": 1
        },
        "operationId": "FlUserGroupcandidatesController.patch"
      },
      "get": {
        "x-controller-name": "FlUserGroupcandidatesController",
        "x-operation-name": "find",
        "tags": [
          "FlUserGroupcandidatesController"
        ],
        "responses": {
          "200": {
            "description": "Array of FlUser has many Groupcandidates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Groupcandidates"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "FlUserGroupcandidatesController.find"
      },
      "delete": {
        "x-controller-name": "FlUserGroupcandidatesController",
        "x-operation-name": "delete",
        "tags": [
          "FlUserGroupcandidatesController"
        ],
        "responses": {
          "200": {
            "description": "FlUser.Groupcandidates DELETE success count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Groupcandidates.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Groupcandidates>"
                }
              }
            }
          }
        ],
        "operationId": "FlUserGroupcandidatesController.delete"
      }
    },
    "/users/{memberId}/groups": {
      "get": {
        "x-controller-name": "FlUserController",
        "x-operation-name": "getGroupMembers",
        "tags": [
          "FlUserController"
        ],
        "summary": "Return an array  of groups where the user is a member",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Thing"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "Authorization",
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "memberId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "FlUserController.getGroupMembers"
      }
    },
    "/users/{memberId}/subscriptions": {
      "get": {
        "x-controller-name": "FlUserController",
        "x-operation-name": "userSubscription",
        "tags": [
          "FlUserController"
        ],
        "summary": "Return all user's  subscriptions with things and placeslist details",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subscription"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "memberId",
            "in": "path",
            "description": "the user id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "details",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "wallView",
            "in": "query",
            "description": "returns an array of all things and placeslist subscribed by the user - with this params details are true by default",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "factoryAddress",
            "in": "query",
            "description": "string with one or more  factory_address separated by comma",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "FlUserController.userSubscription"
      }
    },
    "/wall": {
      "get": {
        "x-controller-name": "ThingController",
        "x-operation-name": "findWall",
        "tags": [
          "ThingController"
        ],
        "responses": {
          "200": {
            "description": "Returns an rray of Things and Placelists - ename (eg. ename=FL_PLACES,FL_ARTICLES)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ThingWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ename",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "types",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "sort result by last_activity | near | timestamp_insert - default: timestamp_insert",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lat",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "lng",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "factoryAddress",
            "in": "query",
            "description": "string with one or more  factory_address separated by comma",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "distance",
            "in": "query",
            "schema": {
              "type": "number"
            }
          }
        ],
        "operationId": "ThingController.findWall"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.copyouth2030agenda.firstlife.org"
    }
  ],
  "components": {
    "schemas": {
      "UserActionloggerWithRelations": {
        "title": "UserActionloggerWithRelations",
        "type": "object",
        "description": "(tsType: UserActionloggerWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          },
          "action": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "entityId": {
            "type": "string"
          },
          "entityType": {
            "type": "string"
          },
          "entityName": {
            "type": "string"
          },
          "domainId": {
            "type": "number"
          }
        },
        "required": [
          "action",
          "userId",
          "entityId",
          "entityType",
          "domainId"
        ],
        "additionalProperties": true,
        "x-typescript-type": "UserActionloggerWithRelations"
      },
      "TokenWithRelations": {
        "title": "TokenWithRelations",
        "type": "object",
        "description": "(tsType: TokenWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "member_id": {},
          "access_token": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          },
          "expires_in": {
            "type": "number"
          },
          "token_type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "scope": {
            "type": "string"
          },
          "member": {}
        },
        "required": [
          "auth_server",
          "member_id",
          "access_token",
          "expires_in",
          "expiration"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TokenWithRelations"
      },
      "Token": {
        "title": "Token",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "member_id": {},
          "access_token": {
            "type": "string"
          },
          "refresh_token": {
            "type": "string"
          },
          "expires_in": {
            "type": "number"
          },
          "token_type": {
            "type": "string"
          },
          "created": {
            "type": "string",
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expiration": {
            "type": "string",
            "format": "date-time"
          },
          "scope": {
            "type": "string"
          },
          "member": {}
        },
        "required": [
          "auth_server",
          "member_id",
          "access_token",
          "expires_in",
          "expiration"
        ],
        "additionalProperties": false
      },
      "ThingProperty": {
        "title": "ThingProperty",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "wallet_context_info": {
            "type": "object"
          },
          "wallet_tx_payload": {
            "type": "object"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entity_name": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "thumbnail": {
            "type": "string"
          },
          "level": {
            "type": "number",
            "nullable": true
          },
          "domain_id": {
            "type": "number"
          },
          "parent_id": {},
          "owner": {
            "type": "object"
          },
          "updater": {},
          "group_id": {
            "type": "string",
            "nullable": true
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_activity": {
            "type": "string",
            "format": "date-time"
          },
          "last_activity_type": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "valid_to": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "door_time": {
            "type": "string",
            "format": "date-time"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "initiative_list": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "link_url": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "area_id": {
            "type": "string",
            "nullable": true
          },
          "tile_id": {
            "type": "string",
            "nullable": true
          },
          "requireMembershipApproval": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "zoom_level": {
            "type": "number",
            "nullable": true
          },
          "images": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "news_of": {
            "type": "string",
            "nullable": true
          },
          "coordinates_type": {
            "type": "string"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "isChildren": {
            "type": "boolean"
          },
          "editmode": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "PRIVATE",
              "DRAFT",
              "PUBLIC",
              "PENDING",
              "PROTECTED",
              "REJECTED"
            ]
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "survey_options": {
            "type": "object"
          },
          "factory_address": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description",
          "entity_name",
          "entity_type",
          "categories"
        ],
        "additionalProperties": true
      },
      "Thing": {
        "title": "Thing",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "area_id": {
            "type": "string"
          },
          "datasource": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "roles": {
            "type": "object"
          },
          "center_lon": {
            "type": "number"
          },
          "center_lat": {
            "type": "number"
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": true
      },
      "NewThing": {
        "title": "NewThing",
        "type": "object",
        "description": "(tsType: Omit<Thing, '_id'>, schemaOptions: { title: 'NewThing', exclude: [ '_id' ] })",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "area_id": {
            "type": "string"
          },
          "datasource": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "roles": {
            "type": "object"
          },
          "center_lon": {
            "type": "number"
          },
          "center_lat": {
            "type": "number"
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<Thing, '_id'>"
      },
      "CommentsWithRelations": {
        "title": "CommentsWithRelations",
        "type": "object",
        "description": "(tsType: CommentsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "edited": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          },
          "flresources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "thing": {
            "$ref": "#/components/schemas/ThingWithRelations"
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": true,
        "x-typescript-type": "CommentsWithRelations"
      },
      "PlaceListProperty": {
        "title": "PlaceListProperty",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "domain_id": {
            "type": "number"
          },
          "owner": {
            "type": "object"
          },
          "updater": {},
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_activity": {
            "type": "string",
            "format": "date-time"
          },
          "link_url": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "PRIVATE",
              "DRAFT",
              "PUBLIC",
              "PENDING",
              "PROTECTED",
              "REJECTED"
            ]
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "name",
          "description"
        ],
        "additionalProperties": true
      },
      "PlaceListWithRelations": {
        "title": "PlaceListWithRelations",
        "type": "object",
        "description": "(tsType: PlaceListWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/PlaceListProperty"
          },
          "roles": {
            "type": "object"
          },
          "things": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThingWithRelations"
            }
          }
        },
        "required": [
          "properties"
        ],
        "additionalProperties": false,
        "x-typescript-type": "PlaceListWithRelations"
      },
      "SubscriptionWithRelations": {
        "title": "SubscriptionWithRelations",
        "type": "object",
        "description": "(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "domain": {
            "type": "number"
          },
          "thingId": {
            "type": "string"
          },
          "placeListId": {
            "type": "string"
          },
          "thing": {
            "$ref": "#/components/schemas/ThingWithRelations"
          },
          "placeList": {
            "$ref": "#/components/schemas/PlaceListWithRelations"
          }
        },
        "required": [
          "userId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "SubscriptionWithRelations"
      },
      "RatingsWithRelations": {
        "title": "RatingsWithRelations",
        "type": "object",
        "description": "(tsType: RatingsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "ratings": {
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "image_name": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "filedata": {
            "type": "string"
          },
          "self": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "image_thumbnail": {
            "type": "string"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          },
          "thing": {
            "$ref": "#/components/schemas/ThingWithRelations"
          }
        },
        "required": [
          "ratings",
          "owner",
          "status"
        ],
        "additionalProperties": true,
        "x-typescript-type": "RatingsWithRelations"
      },
      "GroupcandidatesWithRelations": {
        "title": "GroupcandidatesWithRelations",
        "type": "object",
        "description": "(tsType: GroupcandidatesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "candidateId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "flUser": {
            "$ref": "#/components/schemas/FlUserWithRelations"
          },
          "thing": {
            "$ref": "#/components/schemas/ThingWithRelations"
          }
        },
        "required": [
          "role",
          "timestamp_insert"
        ],
        "additionalProperties": false,
        "x-typescript-type": "GroupcandidatesWithRelations"
      },
      "FlUserWithRelations": {
        "title": "FlUserWithRelations",
        "type": "object",
        "description": "(tsType: FlUserWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullname": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time"
          },
          "member_id_UWUM": {},
          "member_id_FIRSTLIFE": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "candidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupcandidatesWithRelations"
            }
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThingWithRelations"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "FlUserWithRelations"
      },
      "ThingHistoryWithRelations": {
        "title": "ThingHistoryWithRelations",
        "type": "object",
        "description": "(tsType: ThingHistoryWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "originalThingId": {
            "type": "string"
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ThingHistoryWithRelations"
      },
      "AnswerWithRelations": {
        "title": "AnswerWithRelations",
        "type": "object",
        "description": "(tsType: AnswerWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "answer_content": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "attachment": {
            "type": "object"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/QuestionWithRelations"
          }
        },
        "required": [
          "answer_content",
          "thingId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AnswerWithRelations"
      },
      "QuestionWithRelations": {
        "title": "QuestionWithRelations",
        "type": "object",
        "description": "(tsType: QuestionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "optional": {
            "type": "boolean"
          },
          "text": {
            "type": "string"
          },
          "attachment": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "index": {
            "type": "number"
          },
          "question_features": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          },
          "thing": {
            "$ref": "#/components/schemas/ThingWithRelations"
          },
          "answers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerWithRelations"
            }
          }
        },
        "required": [
          "type",
          "optional",
          "text",
          "index"
        ],
        "additionalProperties": false,
        "x-typescript-type": "QuestionWithRelations"
      },
      "ThingWithRelations": {
        "title": "ThingWithRelations",
        "type": "object",
        "description": "(tsType: ThingWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "area_id": {
            "type": "string"
          },
          "datasource": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "roles": {
            "type": "object"
          },
          "center_lon": {
            "type": "number"
          },
          "center_lat": {
            "type": "number"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommentsWithRelations"
            }
          },
          "subscriptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionWithRelations"
            }
          },
          "ratings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RatingsWithRelations"
            }
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlUserWithRelations"
            }
          },
          "history": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ThingHistoryWithRelations"
            }
          },
          "placelists": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlaceListWithRelations"
            }
          },
          "candidates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FlUserWithRelations"
            }
          },
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/QuestionWithRelations"
            }
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": true,
        "x-typescript-type": "ThingWithRelations"
      },
      "Date": {},
      "ThingPartial": {
        "title": "ThingPartial",
        "type": "object",
        "description": "(tsType: Partial<Thing>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "area_id": {
            "type": "string"
          },
          "datasource": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "roles": {
            "type": "object"
          },
          "center_lon": {
            "type": "number"
          },
          "center_lat": {
            "type": "number"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Partial<Thing>"
      },
      "Subscription": {
        "title": "Subscription",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "domain": {
            "type": "number"
          },
          "thingId": {
            "type": "string"
          },
          "placeListId": {
            "type": "string"
          }
        },
        "required": [
          "userId"
        ],
        "additionalProperties": false
      },
      "ThingHistory": {
        "title": "ThingHistory",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "originalThingId": {
            "type": "string"
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": false
      },
      "ThingPropertyOptional_originalThingId_": {
        "title": "ThingPropertyOptional_originalThingId_",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<ThingProperty, 'originalThingId'>, schemaOptions: { optional: [ 'originalThingId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "wallet_context_info": {
            "type": "object"
          },
          "wallet_tx_payload": {
            "type": "object"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "entity_name": {
            "type": "string"
          },
          "entity_type": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "thumbnail": {
            "type": "string"
          },
          "level": {
            "type": "number",
            "nullable": true
          },
          "domain_id": {
            "type": "number"
          },
          "parent_id": {},
          "owner": {
            "type": "object"
          },
          "updater": {},
          "group_id": {
            "type": "string",
            "nullable": true
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_activity": {
            "type": "string",
            "format": "date-time"
          },
          "last_activity_type": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "valid_to": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "door_time": {
            "type": "string",
            "format": "date-time"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "initiative_list": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "link_url": {
            "type": "string"
          },
          "user": {
            "type": "string"
          },
          "area_id": {
            "type": "string",
            "nullable": true
          },
          "tile_id": {
            "type": "string",
            "nullable": true
          },
          "requireMembershipApproval": {
            "type": "boolean"
          },
          "id": {
            "type": "string",
            "nullable": true
          },
          "zoom_level": {
            "type": "number",
            "nullable": true
          },
          "images": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "news_of": {
            "type": "string",
            "nullable": true
          },
          "coordinates_type": {
            "type": "string"
          },
          "coordinates": {
            "type": "array",
            "items": {
              "type": "number"
            }
          },
          "isChildren": {
            "type": "boolean"
          },
          "editmode": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "PRIVATE",
              "DRAFT",
              "PUBLIC",
              "PENDING",
              "PROTECTED",
              "REJECTED"
            ]
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "survey_options": {
            "type": "object"
          },
          "factory_address": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "description",
          "entity_name",
          "entity_type",
          "categories"
        ],
        "additionalProperties": true,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<ThingProperty, 'originalThingId'>"
      },
      "NewThingHistoryInThing": {
        "title": "NewThingHistoryInThing",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<ThingHistory, '_id'>, 'originalThingId'>, schemaOptions: { title: 'NewThingHistoryInThing', exclude: [ '_id' ], optional: [ 'originalThingId' ] })",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/ThingPropertyOptional_originalThingId_"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "originalThingId": {
            "type": "string"
          }
        },
        "required": [
          "properties",
          "geometry",
          "type"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<ThingHistory, '_id'>, 'originalThingId'>"
      },
      "ThingHistoryPartial": {
        "title": "ThingHistoryPartial",
        "type": "object",
        "description": "(tsType: Partial<ThingHistory>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ThingProperty"
          },
          "geometry": {},
          "type": {
            "type": "string"
          },
          "originalThingId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<ThingHistory>"
      },
      "Ratings": {
        "title": "Ratings",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "ratings": {
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "image_name": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "filedata": {
            "type": "string"
          },
          "self": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "image_thumbnail": {
            "type": "string"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          }
        },
        "required": [
          "ratings",
          "owner",
          "status"
        ],
        "additionalProperties": true
      },
      "NewRatingsInThing": {
        "title": "NewRatingsInThing",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Ratings, '_id'>, 'thingId'>, schemaOptions: { title: 'NewRatingsInThing', exclude: [ '_id' ], optional: [ 'thingId' ] })",
        "properties": {
          "ratings": {
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "image_name": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "filedata": {
            "type": "string"
          },
          "self": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "image_thumbnail": {
            "type": "string"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          }
        },
        "required": [
          "ratings",
          "owner",
          "status"
        ],
        "additionalProperties": true,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Ratings, '_id'>, 'thingId'>"
      },
      "RatingsPartial": {
        "title": "RatingsPartial",
        "type": "object",
        "description": "(tsType: Partial<Ratings>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "ratings": {
            "type": "object"
          },
          "message": {
            "type": "string"
          },
          "image_name": {
            "type": "string"
          },
          "filename": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "filedata": {
            "type": "string"
          },
          "self": {
            "type": "string"
          },
          "image_url": {
            "type": "string"
          },
          "image_thumbnail": {
            "type": "string"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Partial<Ratings>"
      },
      "PlaceList": {
        "title": "PlaceList",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/PlaceListProperty"
          },
          "roles": {
            "type": "object"
          }
        },
        "required": [
          "properties"
        ],
        "additionalProperties": false
      },
      "NewPlaceListInThing": {
        "title": "NewPlaceListInThing",
        "type": "object",
        "description": "(tsType: Omit<PlaceList, '_id'>, schemaOptions: { title: 'NewPlaceListInThing', exclude: [ '_id' ] })",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/PlaceListProperty"
          },
          "roles": {
            "type": "object"
          }
        },
        "required": [
          "properties"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PlaceList, '_id'>"
      },
      "PlaceListPartial": {
        "title": "PlaceListPartial",
        "type": "object",
        "description": "(tsType: Partial<PlaceList>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/PlaceListProperty"
          },
          "roles": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<PlaceList>"
      },
      "FlUser": {
        "title": "FlUser",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullname": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time"
          },
          "member_id_UWUM": {},
          "member_id_FIRSTLIFE": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "NewFlUserInThing": {
        "title": "NewFlUserInThing",
        "type": "object",
        "description": "(tsType: Omit<FlUser, 'id'>, schemaOptions: { title: 'NewFlUserInThing', exclude: [ 'id' ] })",
        "properties": {
          "fullname": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time"
          },
          "member_id_UWUM": {},
          "member_id_FIRSTLIFE": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<FlUser, 'id'>"
      },
      "FlUserPartial": {
        "title": "FlUserPartial",
        "type": "object",
        "description": "(tsType: Partial<FlUser>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "fullname": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "valid_to": {
            "type": "string",
            "format": "date-time"
          },
          "member_id_UWUM": {},
          "member_id_FIRSTLIFE": {
            "type": "string"
          },
          "auth_server": {
            "type": "string"
          },
          "role": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<FlUser>"
      },
      "Comments": {
        "title": "Comments",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "edited": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          },
          "flresources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": true
      },
      "NewCommentsInThing": {
        "title": "NewCommentsInThing",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Comments, '_id'>, 'thingId'>, schemaOptions: { title: 'NewCommentsInThing', exclude: [ '_id' ], optional: [ 'thingId' ] })",
        "properties": {
          "message": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "edited": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          },
          "flresources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "message"
        ],
        "additionalProperties": true,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Comments, '_id'>, 'thingId'>"
      },
      "CommentsPartial": {
        "title": "CommentsPartial",
        "type": "object",
        "description": "(tsType: Partial<Comments>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "status": {
            "type": "number"
          },
          "inappropriate": {
            "type": "boolean"
          },
          "edited": {
            "type": "boolean"
          },
          "thingId": {
            "type": "string"
          },
          "flresources": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Partial<Comments>"
      },
      "Report": {
        "title": "Report",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "entity_type": {
            "type": "string"
          },
          "entity_id": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          },
          "reporter_email": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "status": {
            "type": "string",
            "enum": [
              "UNRESOLVED",
              "RESOLVED"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "entity_type",
          "entity_id",
          "user_id",
          "reporter_email"
        ],
        "additionalProperties": true
      },
      "NewReport": {
        "title": "NewReport",
        "type": "object",
        "description": "(tsType: Omit<Report, '_id' | 'timestamp_insert' | 'status' | 'domain_id' | 'user_id' | 'last_update' | 'reporter_email'>, schemaOptions: { title: 'NewReport', exclude: [ '_id', 'timestamp_insert', 'status', 'domain_id', 'user_id', 'last_update', 'reporter_email' ] })",
        "properties": {
          "entity_type": {
            "type": "string"
          },
          "entity_id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "entity_type",
          "entity_id"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<Report, '_id' | 'timestamp_insert' | 'status' | 'domain_id' | 'user_id' | 'last_update' | 'reporter_email'>"
      },
      "Question": {
        "title": "Question",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "optional": {
            "type": "boolean"
          },
          "text": {
            "type": "string"
          },
          "attachment": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "index": {
            "type": "number"
          },
          "question_features": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "optional",
          "text",
          "index"
        ],
        "additionalProperties": false
      },
      "NewQuestionInSurvey": {
        "title": "NewQuestionInSurvey",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Question, '_id'>, 'thingId'>, schemaOptions: { title: 'NewQuestionInSurvey', exclude: [ '_id' ], optional: [ 'thingId' ] })",
        "properties": {
          "type": {
            "type": "string"
          },
          "optional": {
            "type": "boolean"
          },
          "text": {
            "type": "string"
          },
          "attachment": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "index": {
            "type": "number"
          },
          "question_features": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "optional",
          "text",
          "index"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Question, '_id'>, 'thingId'>"
      },
      "QuestionPartial": {
        "title": "QuestionPartial",
        "type": "object",
        "description": "(tsType: Partial<Question>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "optional": {
            "type": "boolean"
          },
          "text": {
            "type": "string"
          },
          "attachment": {
            "type": "object"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "index": {
            "type": "number"
          },
          "question_features": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Question>"
      },
      "Answer": {
        "title": "Answer",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "answer_content": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "attachment": {
            "type": "object"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "questionId": {
            "type": "string"
          }
        },
        "required": [
          "answer_content",
          "thingId"
        ],
        "additionalProperties": false
      },
      "NewAnswerInQuestion": {
        "title": "NewAnswerInQuestion",
        "type": "object",
        "description": "(tsType: Omit<Answer, '_id'>, schemaOptions: { title: 'NewAnswerInQuestion', exclude: [ '_id' ] })",
        "properties": {
          "answer_content": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "attachment": {
            "type": "object"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "questionId": {
            "type": "string"
          }
        },
        "required": [
          "answer_content",
          "thingId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Answer, '_id'>"
      },
      "AnswerPartial": {
        "title": "AnswerPartial",
        "type": "object",
        "description": "(tsType: Partial<Answer>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "answer_content": {
            "type": "object"
          },
          "thingId": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "attachment": {
            "type": "object"
          },
          "last_update": {
            "type": "string",
            "format": "date-time"
          },
          "owner": {
            "type": "object"
          },
          "updater": {
            "type": "object"
          },
          "questionId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Answer>"
      },
      "NewPlaceList": {
        "title": "NewPlaceList",
        "type": "object",
        "description": "(tsType: Omit<PlaceList, '_id'>, schemaOptions: { title: 'NewPlaceList', exclude: [ '_id' ] })",
        "properties": {
          "properties": {
            "$ref": "#/components/schemas/PlaceListProperty"
          },
          "roles": {
            "type": "object"
          }
        },
        "required": [
          "properties"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<PlaceList, '_id'>"
      },
      "Groupcandidates": {
        "title": "Groupcandidates",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "candidateId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          }
        },
        "required": [
          "role",
          "timestamp_insert"
        ],
        "additionalProperties": false
      },
      "NewGroupcandidatesInFlUser": {
        "title": "NewGroupcandidatesInFlUser",
        "type": "object",
        "description": "(tsType: @loopback/repository-json-schema#Optional<Omit<Groupcandidates, '_id'>, 'candidateId'>, schemaOptions: { title: 'NewGroupcandidatesInFlUser', exclude: [ '_id' ], optional: [ 'candidateId' ] })",
        "properties": {
          "role": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "candidateId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          }
        },
        "required": [
          "role",
          "timestamp_insert"
        ],
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository-json-schema#Optional<Omit<Groupcandidates, '_id'>, 'candidateId'>"
      },
      "GroupcandidatesPartial": {
        "title": "GroupcandidatesPartial",
        "type": "object",
        "description": "(tsType: Partial<Groupcandidates>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "candidateId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<Groupcandidates>"
      },
      "FL_Instance": {
        "title": "FL_Instance",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "domain_id": {
            "type": "number"
          },
          "api_domain": {
            "type": "number"
          },
          "pageLimit": {
            "type": "number"
          },
          "api_client_id": {
            "type": "string"
          },
          "api_callback_url": {
            "type": "string"
          },
          "base_domain": {
            "type": "string"
          },
          "api_implicitgrant_url": {
            "type": "string"
          },
          "api_user_registration": {
            "type": "string"
          },
          "api_file_storage": {
            "type": "string"
          },
          "api_scopes": {
            "type": "string"
          },
          "api_token_url": {
            "type": "string"
          },
          "api_check_token": {
            "type": "string"
          },
          "api_refresh_token": {
            "type": "string"
          },
          "api_base_domain": {
            "type": "string"
          },
          "notification_socket_url": {
            "type": "string"
          },
          "logo_image": {
            "type": "string"
          },
          "logo_image_xs": {
            "type": "string"
          },
          "landing_image": {
            "type": "string"
          },
          "attach_file_types": {
            "type": "string"
          },
          "projectName": {
            "type": "string"
          },
          "projectClaim": {
            "type": "string"
          },
          "domain_language": {
            "type": "string"
          },
          "navigator": {
            "type": "object"
          },
          "map": {
            "type": "object"
          },
          "user_menu": {
            "type": "object"
          },
          "tracker_domain_id": {
            "type": "string"
          },
          "api_user_info": {
            "type": "string"
          },
          "api_user_logout": {
            "type": "string"
          },
          "equalWeb_key": {
            "type": "string"
          },
          "customChildren": {
            "type": "boolean"
          },
          "multilingualSearch": {
            "type": "boolean"
          }
        },
        "required": [
          "domain_id",
          "api_domain",
          "pageLimit",
          "api_client_id",
          "api_callback_url",
          "base_domain",
          "api_implicitgrant_url",
          "api_user_registration",
          "api_file_storage",
          "api_scopes",
          "api_token_url",
          "api_check_token",
          "api_refresh_token",
          "api_base_domain",
          "notification_socket_url",
          "logo_image",
          "logo_image_xs",
          "landing_image",
          "attach_file_types",
          "navigator",
          "map",
          "user_menu",
          "tracker_domain_id",
          "api_user_info",
          "api_user_logout"
        ],
        "additionalProperties": true
      },
      "FL_InstanceWithRelations": {
        "title": "FL_InstanceWithRelations",
        "type": "object",
        "description": "(tsType: FL_InstanceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "domain_id": {
            "type": "number"
          },
          "api_domain": {
            "type": "number"
          },
          "pageLimit": {
            "type": "number"
          },
          "api_client_id": {
            "type": "string"
          },
          "api_callback_url": {
            "type": "string"
          },
          "base_domain": {
            "type": "string"
          },
          "api_implicitgrant_url": {
            "type": "string"
          },
          "api_user_registration": {
            "type": "string"
          },
          "api_file_storage": {
            "type": "string"
          },
          "api_scopes": {
            "type": "string"
          },
          "api_token_url": {
            "type": "string"
          },
          "api_check_token": {
            "type": "string"
          },
          "api_refresh_token": {
            "type": "string"
          },
          "api_base_domain": {
            "type": "string"
          },
          "notification_socket_url": {
            "type": "string"
          },
          "logo_image": {
            "type": "string"
          },
          "logo_image_xs": {
            "type": "string"
          },
          "landing_image": {
            "type": "string"
          },
          "attach_file_types": {
            "type": "string"
          },
          "projectName": {
            "type": "string"
          },
          "projectClaim": {
            "type": "string"
          },
          "domain_language": {
            "type": "string"
          },
          "navigator": {
            "type": "object"
          },
          "map": {
            "type": "object"
          },
          "user_menu": {
            "type": "object"
          },
          "tracker_domain_id": {
            "type": "string"
          },
          "api_user_info": {
            "type": "string"
          },
          "api_user_logout": {
            "type": "string"
          },
          "equalWeb_key": {
            "type": "string"
          },
          "customChildren": {
            "type": "boolean"
          },
          "multilingualSearch": {
            "type": "boolean"
          }
        },
        "required": [
          "domain_id",
          "api_domain",
          "pageLimit",
          "api_client_id",
          "api_callback_url",
          "base_domain",
          "api_implicitgrant_url",
          "api_user_registration",
          "api_file_storage",
          "api_scopes",
          "api_token_url",
          "api_check_token",
          "api_refresh_token",
          "api_base_domain",
          "notification_socket_url",
          "logo_image",
          "logo_image_xs",
          "landing_image",
          "attach_file_types",
          "navigator",
          "map",
          "user_menu",
          "tracker_domain_id",
          "api_user_info",
          "api_user_logout"
        ],
        "additionalProperties": true,
        "x-typescript-type": "FL_InstanceWithRelations"
      },
      "InstanceCategoriesExcluding__id_": {
        "title": "InstanceCategoriesExcluding__id_",
        "type": "object",
        "description": "(tsType: Omit<InstanceCategories, '_id'>, schemaOptions: { exclude: [ '_id' ] })",
        "properties": {
          "domain_id": {
            "type": "number"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id",
          "category_space",
          "name",
          "slug",
          "categories",
          "entities"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InstanceCategories, '_id'>"
      },
      "NewInstanceCategorySpace": {
        "title": "NewInstanceCategorySpace",
        "type": "object",
        "description": "(tsType: InstanceCategories, schemaOptions: { title: 'NewInstanceCategorySpace' })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id",
          "category_space",
          "name",
          "slug",
          "categories",
          "entities"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InstanceCategories"
      },
      "InstanceCategoriesWithRelations": {
        "title": "InstanceCategoriesWithRelations",
        "type": "object",
        "description": "(tsType: InstanceCategoriesWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id",
          "category_space",
          "name",
          "slug",
          "categories",
          "entities"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InstanceCategoriesWithRelations"
      },
      "InstanceCategories": {
        "title": "InstanceCategories",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id",
          "category_space",
          "name",
          "slug",
          "categories",
          "entities"
        ],
        "additionalProperties": false
      },
      "FlEntity": {
        "title": "FlEntity",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "Point",
              "Polygon",
              "MultiPolygon",
              "LineString",
              "MultiLineString"
            ]
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "require_approval": {
            "type": "boolean"
          },
          "properties": {
            "type": "object"
          }
        },
        "required": [
          "key",
          "slug",
          "name",
          "type"
        ],
        "additionalProperties": false
      },
      "FlEntityWithRelations": {
        "title": "FlEntityWithRelations",
        "type": "object",
        "description": "(tsType: FlEntityWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "Point",
              "Polygon",
              "MultiPolygon",
              "LineString",
              "MultiLineString"
            ]
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "require_approval": {
            "type": "boolean"
          },
          "properties": {
            "type": "object"
          }
        },
        "required": [
          "key",
          "slug",
          "name",
          "type"
        ],
        "additionalProperties": false,
        "x-typescript-type": "FlEntityWithRelations"
      },
      "FlEntityPartial": {
        "title": "FlEntityPartial",
        "type": "object",
        "description": "(tsType: Partial<FlEntity>, schemaOptions: { partial: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "Point",
              "Polygon",
              "MultiPolygon",
              "LineString",
              "MultiLineString"
            ]
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "require_approval": {
            "type": "boolean"
          },
          "properties": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<FlEntity>"
      },
      "FlEntityInstance": {
        "title": "FlEntityInstance",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id"
        ],
        "additionalProperties": true
      },
      "NewFlEntityInstance": {
        "title": "NewFlEntityInstance",
        "type": "object",
        "description": "(tsType: Omit<FlEntityInstance, '_id'>, schemaOptions: { title: 'NewFlEntityInstance', exclude: [ '_id' ] })",
        "properties": {
          "domain_id": {
            "type": "number"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id"
        ],
        "additionalProperties": true,
        "x-typescript-type": "Omit<FlEntityInstance, '_id'>"
      },
      "FlEntityInstanceWithRelations": {
        "title": "FlEntityInstanceWithRelations",
        "type": "object",
        "description": "(tsType: FlEntityInstanceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "domain_id": {
            "type": "number"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "domain_id"
        ],
        "additionalProperties": true,
        "x-typescript-type": "FlEntityInstanceWithRelations"
      },
      "FlEntityInstanceExcluding__id-domain_id_": {
        "title": "FlEntityInstanceExcluding__id-domain_id_",
        "type": "object",
        "description": "(tsType: Omit<FlEntityInstance, '_id' | 'domain_id'>, schemaOptions: { exclude: [ '_id', 'domain_id' ] })",
        "properties": {
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "additionalProperties": true,
        "x-typescript-type": "Omit<FlEntityInstance, '_id' | 'domain_id'>"
      },
      "FlCategory": {
        "title": "FlCategory",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "description": {
            "type": "string"
          },
          "category_index": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": true
      },
      "NewFlCategory": {
        "title": "NewFlCategory",
        "type": "object",
        "description": "(tsType: FlCategory, schemaOptions: { title: 'NewFlCategory' })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "lang": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "description": {
            "type": "string"
          },
          "category_index": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": true,
        "x-typescript-type": "FlCategory"
      },
      "CategorySpace": {
        "title": "CategorySpace",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "slug",
          "entities"
        ],
        "additionalProperties": false
      },
      "NewCategorySpace": {
        "title": "NewCategorySpace",
        "type": "object",
        "description": "(tsType: Omit<CategorySpace, 'id'>, schemaOptions: { title: 'NewCategorySpace', exclude: [ 'id' ] })",
        "properties": {
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "slug",
          "entities"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<CategorySpace, 'id'>"
      },
      "CategorySpaceWithRelations": {
        "title": "CategorySpaceWithRelations",
        "type": "object",
        "description": "(tsType: CategorySpaceWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "slug",
          "entities"
        ],
        "additionalProperties": false,
        "x-typescript-type": "CategorySpaceWithRelations"
      },
      "CategorySpacePartial": {
        "title": "CategorySpacePartial",
        "type": "object",
        "description": "(tsType: Partial<CategorySpace>, schemaOptions: { partial: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "category_space": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Partial<CategorySpace>"
      },
      "AreaWithRelations": {
        "title": "AreaWithRelations",
        "type": "object",
        "description": "(tsType: AreaWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "timestamp_insert": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string"
          },
          "properties": {
            "type": "object"
          },
          "geometry": {
            "type": "object"
          }
        },
        "required": [
          "type",
          "properties",
          "geometry"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AreaWithRelations"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Answer.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Answer.ScopeFilter"
      },
      "Answer.IncludeFilter.Items": {
        "title": "Answer.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "question"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Answer.ScopeFilter"
          }
        }
      },
      "Answer.Filter": {
        "type": "object",
        "title": "Answer.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "answer_content": {
                    "type": "boolean"
                  },
                  "thingId": {
                    "type": "boolean"
                  },
                  "timestamp_insert": {
                    "type": "boolean"
                  },
                  "attachment": {
                    "type": "boolean"
                  },
                  "last_update": {
                    "type": "boolean"
                  },
                  "owner": {
                    "type": "boolean"
                  },
                  "updater": {
                    "type": "boolean"
                  },
                  "questionId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "answer_content",
                    "thingId",
                    "timestamp_insert",
                    "attachment",
                    "last_update",
                    "owner",
                    "updater",
                    "questionId"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Answer.Fields"
          },
          "include": {
            "title": "Answer.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Answer.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Answer>"
      },
      "Answer.Filter1": {
        "type": "object",
        "title": "Answer.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Answer.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "answer_content": {
                    "type": "boolean"
                  },
                  "thingId": {
                    "type": "boolean"
                  },
                  "timestamp_insert": {
                    "type": "boolean"
                  },
                  "attachment": {
                    "type": "boolean"
                  },
                  "last_update": {
                    "type": "boolean"
                  },
                  "owner": {
                    "type": "boolean"
                  },
                  "updater": {
                    "type": "boolean"
                  },
                  "questionId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "answer_content",
                    "thingId",
                    "timestamp_insert",
                    "attachment",
                    "last_update",
                    "owner",
                    "updater",
                    "questionId"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Answer.Fields"
          },
          "include": {
            "title": "Answer.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Answer.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Answer>"
      },
      "CategorySpace.Filter": {
        "type": "object",
        "title": "CategorySpace.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "category_space": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "categories": {
                    "type": "boolean"
                  },
                  "entities": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "category_space",
                    "name",
                    "slug",
                    "categories",
                    "entities"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "CategorySpace.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<CategorySpace>"
      },
      "FlEntity.Filter": {
        "type": "object",
        "title": "FlEntity.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "color": {
                    "type": "boolean"
                  },
                  "icon": {
                    "type": "boolean"
                  },
                  "lang": {
                    "type": "boolean"
                  },
                  "require_approval": {
                    "type": "boolean"
                  },
                  "properties": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "key",
                    "slug",
                    "name",
                    "type",
                    "color",
                    "icon",
                    "lang",
                    "require_approval",
                    "properties"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "FlEntity.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FlEntity>"
      },
      "FlEntity.Filter1": {
        "type": "object",
        "title": "FlEntity.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "FlEntity.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "key": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  },
                  "color": {
                    "type": "boolean"
                  },
                  "icon": {
                    "type": "boolean"
                  },
                  "lang": {
                    "type": "boolean"
                  },
                  "require_approval": {
                    "type": "boolean"
                  },
                  "properties": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "key",
                    "slug",
                    "name",
                    "type",
                    "color",
                    "icon",
                    "lang",
                    "require_approval",
                    "properties"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "FlEntity.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FlEntity>"
      },
      "FlEntityInstance.Filter": {
        "type": "object",
        "title": "FlEntityInstance.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "domain_id": {
                    "type": "boolean"
                  },
                  "entities": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "FlEntityInstance.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<FlEntityInstance>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "PlaceList.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "PlaceList.ScopeFilter"
      },
      "PlaceList.IncludeFilter.Items": {
        "title": "PlaceList.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "things"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/PlaceList.ScopeFilter"
          }
        }
      },
      "PlaceList.Filter": {
        "type": "object",
        "title": "PlaceList.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "properties": {
                    "type": "boolean"
                  },
                  "roles": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "properties",
                    "roles"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PlaceList.Fields"
          },
          "include": {
            "title": "PlaceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PlaceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PlaceList>"
      },
      "PlaceList.Filter1": {
        "type": "object",
        "title": "PlaceList.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "PlaceList.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "properties": {
                    "type": "boolean"
                  },
                  "roles": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "properties",
                    "roles"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "PlaceList.Fields"
          },
          "include": {
            "title": "PlaceList.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/PlaceList.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<PlaceList>"
      },
      "TranslateResponse": {
        "type": "object",
        "title": "TranslateResponse",
        "properties": {
          "translations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "detected_source_language": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}