openapi: 3.0.3 info: title: paint-batch-optimizer version: 1.1.0 description: service for paint factory owners to minimize the cost of paint production paths: /_internal_/healthcheck: get: description: GET health of service responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ComPaintbatchModelsHealthcheck' /v2/optimize: post: description: POST minimum cost paint batch optimizer request requestBody: content: application/json: schema: $ref: '#/components/schemas/ComPaintbatchModelsOptimizeRequest' required: true responses: '200': description: Successful response content: application/json: schema: type: string '422': description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/ComPaintbatchModelsReadableError' components: schemas: ComPaintbatchModelsReadableError: description: A simple human-readable error type: object required: - text properties: text: type: string ComPaintbatchModelsOptimizeRequest: description: paint batch optimizer request type: object required: - colors - customers - demands properties: colors: description: number of different colours demanded by paint factory type: integer format: int32 minimum: 1 maximum: 2000 customers: description: number of customers type: integer format: int32 minimum: 1 maximum: 2000 demands: description: customers paint demands type: array items: $ref: '#/components/schemas/ComPaintbatchModelsDemand' ComPaintbatchModelsDemand: description: range of customers preferences to choose from type: object required: - paints properties: paints: description: paints the customer would be satisfied with type: array maxItems: 2000 minItems: 1 items: $ref: '#/components/schemas/ComPaintbatchModelsPaint' ComPaintbatchModelsHealthcheck: description: health of the service type: object required: - status properties: status: $ref: '#/components/schemas/ComPaintbatchEnumsStatus' description: the health status of the service ComPaintbatchModelsPaint: description: paint and its sheen type: object required: - id - sheen properties: id: description: paint identifier type: integer format: int32 minimum: 1 maximum: 2000 sheen: $ref: '#/components/schemas/ComPaintbatchEnumsSheen' description: sheen of the paint ComPaintbatchEnumsStatus: description: health of the service type: string enum: - ok ComPaintbatchEnumsSheen: description: available paint sheens type: string enum: - M - G