@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api TokenJay API services
@base https://api.tokenjay.app/
@endpoints 27
@hint download_for_search
@toc payment(2), mosaik(10), tokens(5), sigusd(3), sigrsv(3), peers(1), createbabel(1), cancelbabel(1), ageusd(1)

@group payment
@endpoint POST /payment/addrequest
@required {nanoErg: int(int64), receiverAddress: str}
@optional {tokenId: str, tokenRawAmount: int(int64), senderAddress: str, message: str}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group mosaik
@endpoint POST /mosaik/tokenburn/prepare
@returns(200)
@errors {400, 401, 404, 409}

@endpoint POST /mosaik/babelfee/newoffer/new-input
@returns(200)
@errors {400, 401, 404, 409}

@endpoint POST /mosaik/babelfee/newoffer/doit
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group tokens
@endpoint GET /tokens/prices/{tokenId}
@required {tokenId: str}
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /tokens/prices/all
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /tokens/listGenuine
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /tokens/listBlocked
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /tokens/check/{tokenId}/{tokenName}
@required {tokenId: str, tokenName: str}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group sigusd
@endpoint GET /sigusd/price
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /sigusd/exchange/{amount}/info
@required {amount: int(int64)}
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /sigusd/exchange/
@required {amount: int(int64), address: str}
@optional {checkRate: int(int64)=0, executionFee: int(int64)=0}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group sigrsv
@endpoint GET /sigrsv/price
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /sigrsv/exchange/{amount}/info
@required {amount: int(int64)}
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /sigrsv/exchange/
@required {amount: int(int64), address: str}
@optional {checkRate: int(int64)=0, executionFee: int(int64)=0}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group peers
@endpoint GET /peers/list
@optional {unreachable: bool=false, closedApi: bool=false, limit: int(int32)=50}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group payment
@endpoint GET /payment/state/{requestId}
@required {requestId: str}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group mosaik
@endpoint GET /mosaik/tokenburn
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/tokenburn/get/{uuid}
@required {uuid: str}
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/boxconsolidation/consolidate/{p2pkaddress}
@required {p2pkaddress: str}
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/boxconsolidation/
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/babelfee/notificationcheck
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/babelfee/newoffer
@returns(200)
@errors {400, 401, 404, 409}

@endpoint GET /mosaik/babelfee/
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group createbabel
@endpoint GET /createbabel/{address}
@required {address: str, tokenId: str, ergAmount: int(int64), tokenAmount: int(int64)}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group cancelbabel
@endpoint GET /cancelbabel/{boxId}
@required {boxId: str}
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@group ageusd
@endpoint GET /ageusd/info
@returns(200)
@errors {400, 401, 404, 409}

@endgroup

@end
