openapi: 3.1.0 info: title: "image-color-service REST API" version: 1.0.1 description: "Small microservice which calculates the most dominant colors in an image." contact: url: https://github.com/mikbot/image-color-service servers: - url: https://mysterious-shelf-42238.herokuapp.com/ paths: /color: post: summary: Calculate color. description: Calculates the most dominant color in an image. operationId: get-color requestBody: description: The image file in binary. required: true content: image/avif: schema: $ref: "#/components/schemas/ColorRequest" image/jpeg: schema: $ref: "#/components/schemas/ColorRequest" image/png: schema: $ref: "#/components/schemas/ColorRequest" image/gif: schema: $ref: "#/components/schemas/ColorRequest" image/webp: schema: $ref: "#/components/schemas/ColorRequest" image/tiff: schema: $ref: "#/components/schemas/ColorRequest" image/x-targa: schema: $ref: "#/components/schemas/ColorRequest" image/x-tga: schema: $ref: "#/components/schemas/ColorRequest" image/vnd-ms.dds: schema: $ref: "#/components/schemas/ColorRequest" image/bmp: schema: $ref: "#/components/schemas/ColorRequest" image/x-icon: schema: $ref: "#/components/schemas/ColorRequest" image/vnd.radiance: schema: $ref: "#/components/schemas/ColorRequest" image/x-exr: schema: $ref: "#/components/schemas/ColorRequest" image/x-portable-bitmap: schema: $ref: "#/components/schemas/ColorRequest" image/x-portable-graymap: schema: $ref: "#/components/schemas/ColorRequest" image/x-portable-pixmap: schema: $ref: "#/components/schemas/ColorRequest" image/x-portable-anymap: schema: $ref: "#/components/schemas/ColorRequest" parameters: - name: colors in: query required: false schema: type: integer minimum: 2 maximum: 255 description: The amount of colors to calculate. Defaults to 5. - name: quality in: query required: false schema: type: integer minimum: 1 maximum: 10 description: The quality of the colors. Defaults to 10. responses: 200: description: The image has been successfully processed. content: application/json: schema: $ref: "#/components/schemas/ColorResponse" 400: description: Invalid image body or Content-Type header is not correct. content: text/plain: examples: content-type-missing: description: | Response when content type header is missing. The application tries to guess which format you are using and displays it in the error message. value: | Invalid image format. If the image you submitted is of type jpg set your content-type header accordingly. See https://www.iana.org/assignments/media-types/media-types.xhtml#image. invalid-content-type: description: Response when content type header is wrong or invalid. value: Invalid image format. components: schemas: ColorRequest: type: string format: binary ColorResponse: type: object properties: colors: type: array example: - 16178631 - 9981536 items: type: number format: int32