--- swagger: "2.0" info: version: "0.1.0" title: "search-api" tags: - name: "SearchApi" paths: /filters: get: tags: - "SearchApi" operationId: "filters" parameters: [] responses: "200": description: "successful operation" schema: $ref: "#/definitions/Filters" /filtersFor: post: tags: - "SearchApi" operationId: "filtersFor" consumes: - "application/json" produces: - "application/json" parameters: - in: "body" name: "body" required: false schema: $ref: "#/definitions/FilterQueryDTO" responses: "200": description: "successful operation" schema: type: "object" additionalProperties: type: "array" items: type: "string" /query: post: tags: - "SearchApi" operationId: "query" consumes: - "application/json" produces: - "application/json" parameters: - in: "body" name: "body" required: false schema: $ref: "#/definitions/QueryDTO" responses: "200": description: "successful operation" schema: $ref: "#/definitions/SearchResultDTO" /queryEntries: post: tags: - "SearchApi" operationId: "queryEntries" consumes: - "application/json" produces: - "application/json" parameters: - in: "body" name: "body" required: false schema: $ref: "#/definitions/QueryDTO" responses: "200": description: "successful operation" schema: $ref: "#/definitions/ResultDTO" /search: post: tags: - "SearchApi" operationId: "search" consumes: - "application/json" produces: - "application/json" parameters: - in: "body" name: "body" required: false schema: $ref: "#/definitions/SearchDTO" responses: "200": description: "successful operation" schema: $ref: "#/definitions/SearchResultDTO" definitions: Event: type: "object" required: - "data" - "name" - "startDate" properties: name: type: "string" startDate: type: "string" format: "date-time" data: type: "object" additionalProperties: type: "string" FilterQueryDTO: type: "object" required: - "entries" properties: entries: type: "array" items: $ref: "#/definitions/FilterQueryEntryDTO" FilterQueryEntryDTO: type: "object" required: - "multiline" - "name" properties: name: type: "string" multiline: type: "boolean" Filters: type: "object" required: - "categories" - "locationCities" - "locationNames" properties: categories: type: "array" uniqueItems: true items: type: "string" locationNames: type: "array" uniqueItems: true items: type: "string" locationCities: type: "array" uniqueItems: true items: type: "string" QueryDTO: type: "object" required: - "offset" - "query" - "size" properties: query: type: "string" offset: type: "integer" format: "int32" size: type: "integer" format: "int32" ResultDTO: type: "object" required: - "result" - "totalResults" properties: result: type: "array" items: type: "object" additionalProperties: type: "string" totalResults: type: "integer" format: "int32" SearchDTO: type: "object" required: - "category" - "durationLonger" - "durationShorter" - "flags" - "fromDate" - "locationCity" - "locationName" - "name" - "offset" - "size" - "toDate" properties: name: type: "string" fromDate: type: "string" format: "date-time" toDate: type: "string" format: "date-time" category: type: "string" locationName: type: "string" locationCity: type: "string" offset: type: "integer" format: "int32" size: type: "integer" format: "int32" flags: type: "array" items: type: "string" durationShorter: type: "number" format: "double" durationLonger: type: "number" format: "double" SearchResultDTO: type: "object" required: - "result" - "totalResults" properties: result: type: "array" items: $ref: "#/definitions/Event" totalResults: type: "integer" format: "int32"