@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DLx
@base https://api.digitallinguistics.io/v0
@version 0.3.1
@auth ApiKey Authorization in header
@endpoints 18
@toc languages(12), lexemes(6)

@group languages
@endpoint GET /languages
@optional {continuation: any, deleted: any, ifModifiedSince: any, maxItemCount: any, public: any}
@returns(200)

@endpoint POST /languages
@required {body: map}
@returns(201)

@endpoint PUT /languages
@required {body: map}
@optional {ifMatch: any}
@returns(201)

@endpoint GET /languages/{languageID}
@required {languageID: any}
@optional {deleted: any, ifNoneMatch: any}
@returns(200)
@errors {304}

@endpoint DELETE /languages/{languageID}
@required {languageID: any}
@optional {ifMatch: any}
@returns(204)

@endpoint PATCH /languages/{languageID}
@required {languageID: any, body: map}
@optional {ifMatch: any}
@returns(200)

@endpoint GET /languages/{languageID}/lexemes
@required {languageID: any}
@optional {continuation: any, deleted: any, ifModifiedSince: any, maxItemCount: any, public: any}
@returns(200)

@endpoint POST /languages/{languageID}/lexemes
@required {languageID: any}
@returns(201)

@endpoint PUT /languages/{languageID}/lexemes
@required {languageID: any}
@optional {ifMatch: any}
@returns(201)

@endpoint GET /languages/{languageID}/lexemes/{lexemeID}
@required {languageID: any, lexemeID: any}
@optional {deleted: any, ifNoneMatch: any}
@returns(200)
@errors {304}

@endpoint DELETE /languages/{languageID}/lexemes/{lexemeID}
@required {languageID: any, lexemeID: any}
@optional {ifMatch: any}
@returns(204)

@endpoint PATCH /languages/{languageID}/lexemes/{lexemeID}
@required {languageID: any, lexemeID: any}
@optional {ifMatch: any}
@returns(200)

@endgroup

@group lexemes
@endpoint GET /lexemes
@optional {continuation: any, deleted: any, ifModifiedSince: any, languageID: any, maxItemCount: any, public: any}
@returns(200)

@endpoint POST /lexemes
@optional {languageID: any}
@returns(201)

@endpoint PUT /lexemes
@optional {ifMatch: any, languageID: any}
@returns(201)

@endpoint GET /lexemes/{lexemeID}
@required {lexemeID: any}
@optional {deleted: any, ifNoneMatch: any}
@returns(200)
@errors {304}

@endpoint DELETE /lexemes/{lexemeID}
@required {lexemeID: any}
@optional {ifMatch: any}
@returns(204)

@endpoint PATCH /lexemes/{lexemeID}
@required {lexemeID: any}
@optional {ifMatch: any}
@returns(200)

@endgroup

@end
