@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api WINSMS
@base https://api.winsms.co.za/api/rest/v1
@version 1.0.0
@auth ApiKey AUTHORIZATION in header
@endpoints 11
@toc credits(2), sms(7), shortcode(1), subaccounts(1)

@group credits
@endpoint GET /credits/balance
@returns(200)
@errors {401, 404, 405, 500}

@endpoint POST /credits/transfer
@required {creditTransferDetails: map}
@returns(200)
@errors {400, 401, 404, 405, 413, 415, 422, 500}

@endgroup

@group sms
@endpoint POST /sms/outgoing/send
@required {newMessageDetails: map}
@returns(200)
@errors {400, 401, 404, 405, 413, 415, 422, 500}

@endpoint POST /sms/outgoing/sendmulti
@required {multiMessageDetails: map}
@returns(200)
@errors {400, 401, 404, 405, 413, 415, 422, 500}

@endpoint POST /sms/outgoing/status
@required {messageStatusRequest: [int]}
@returns(200)
@errors {400, 401, 404, 405, 413, 415, 422, 500}

@endpoint GET /sms/scheduled
@optional {offset: any, limit: any}
@returns(200)
@errors {401, 404, 405, 422, 500}

@endpoint POST /sms/scheduled/delete
@required {messageDeleteRequest: [int]}
@returns(200)
@errors {400, 401, 404, 405, 413, 415, 422, 500}

@endpoint GET /sms/incoming
@optional {offset: any, limit: any}
@returns(200)
@errors {401, 404, 405, 422, 500}

@endpoint GET /sms/incoming/optout
@returns(200)
@errors {401, 404, 405, 500}

@endgroup

@group shortcode
@endpoint GET /shortcode/incoming
@optional {offset: any, limit: any}
@returns(200)
@errors {401, 404, 405, 422, 500}

@endgroup

@group subaccounts
@endpoint GET /subaccounts
@returns(200)
@errors {401, 404, 405, 500}

@endgroup

@end
