@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Reimbursements API
@version 1.0
@auth ApiKey X-API-Key in header
@endpoints 7
@toc api-docs(1), expense(1), health(1), reimbursement(2), reset(1), tag(1)

@group api-docs
@endpoint GET /api-docs
@desc Get swagger documentation
@returns(200) OK

@endgroup

@group expense
@endpoint POST /expense/{action}/{reportId}
@desc Expense Action
@required {action: any, reportId: any}
@returns(200) OK
@errors {400: Invalid Request, 401: Unauthorized, 500: Server Error}

@endgroup

@group health
@endpoint GET /health
@desc Get API Health Status
@returns(200) OK
@errors {503: Service Unavailable}

@endgroup

@group reimbursement
@endpoint POST /reimbursement/{projectId}
@desc Create Reimbursement
@required {body: any}
@returns(200) OK
@errors {400: Invalid Request, 401: Unauthorized, 500: Server Error}

@endpoint PATCH /reimbursement/{projectId}
@desc Update Reimbursement
@required {body: map}
@returns(200) OK
@errors {400: Invalid Request, 401: Unauthorized, 404: Not Found, 500: Server Error}

@endgroup

@group reset
@endpoint POST /reset
@desc Reset Policy
@required {body: map}
@returns(200) OK
@errors {400: Invalid Request, 401: Unauthorized, 500: Server Error}

@endgroup

@group tag
@endpoint POST /tag
@desc Tag Policy
@required {body: map}
@returns(200) OK
@errors {400: Invalid Request, 401: Unauthorized, 500: Server Error}

@endgroup

@end
