@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Greip API
@base https://greipapi.com
@version 1.2.0
@auth Bearer bearer | ApiKey key in query
@endpoints 14
@toc geoip(1), lookup(7), scoring(4), ip(1), account(1)

@group geoip
@endpoint GET /geoip
@optional {params: str, lang: str, format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group lookup
@endpoint GET /lookup/ip
@required {ip: str}
@optional {params: str, lang: str, format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endpoint GET /lookup/ip/threats
@required {ip: str}
@optional {format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endpoint GET /lookup/ip/bulk
@required {ips: str}
@optional {params: str, lang: str, format: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endpoint GET /lookup/asn
@optional {asn: str, isList: str, format: str, callback: str, mode: str}
@returns(200)
@errors {400, 500}

@endpoint GET /lookup/bin
@required {bin: str}
@optional {format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group scoring
@endpoint POST /scoring/payment
@optional {data: map, format: str, mode: str, userID: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group lookup
@endpoint GET /lookup/iban
@required {iban: str}
@optional {format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group scoring
@endpoint GET /scoring/email
@required {email: str}
@optional {format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endpoint GET /scoring/phone
@required {phone: str, countryCode: str}
@optional {format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group lookup
@endpoint GET /lookup/country
@required {CountryCode: str}
@optional {params: str, format: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group scoring
@endpoint GET /scoring/profanity
@required {text: str}
@optional {listBadWords: str, scoreOnly: str, format: str, userID: str, mode: str, callback: str}
@returns(200)
@errors {400, 500}

@endgroup

@group ip
@endpoint GET /ip
@returns(200)
@errors {400, 500}

@endgroup

@group account
@endpoint DELETE /account/users/delete
@optional {value: str}
@returns(200)
@errors {400, 500}

@endgroup

@end
