@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Color Name API
@base https://api.color.pizza/
@version 1.1.0
@endpoints 7
@toc root(1), health(1), docs(1), v1(1), names(1), lists(1), swatch(1)

@group root
@endpoint GET /
@returns(200) {name: str, version: str, description: str, endpoints: map{colors: str, colorsByPath: str, names: str, lists: str, swatch: str, docs: str, health: str}, documentation: str, source: str}

@endgroup

@group health
@endpoint GET /health
@returns(200) {status: str, timestamp: str(date-time)}

@endgroup

@group docs
@endpoint GET /v1/docs/
@returns(200)

@endgroup

@group v1
@endpoint GET /v1/
@returns(200) {colors: [map], paletteTitle: str}
@errors {400, 404, 409}

@endgroup

@group names
@endpoint GET /v1/names/
@returns(200) {colors: [map]}
@errors {404}

@endgroup

@group lists
@endpoint GET /v1/lists/
@optional {list: str}
@returns(200)
@errors {400, 404}

@endgroup

@group swatch
@endpoint GET /v1/swatch/
@required {color: str}
@optional {name: str}
@returns(200)
@errors {400}

@endgroup

@end
