{"files":{"SKILL.md":"---\nname: greip-api\ndescription: \"Greip API skill. Use when working with Greip for geoip, lookup, scoring. Covers 14 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Greip API\nAPI version: 1.2.0\n\n## Auth\nBearer bearer | ApiKey key in query\n\n## Base URL\nhttps://greipapi.com\n\n## Setup\n1. Set Authorization header with Bearer token\n2. GET /geoip -- retrieve detailed geolocation information for a visitor’s or user’s ip address\n3. POST /scoring/payment -- create first payment\n\n## Endpoints\n14 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### Geoip\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /geoip | Retrieve detailed geolocation information for a visitor’s or user’s IP address |\n\n### Lookup\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /lookup/ip | Get the full information of a given IP address |\n| GET | /lookup/ip/threats | Retrieve threat intelligence information for a given IP address |\n| GET | /lookup/ip/bulk | Get the full information of multiple IP Addresses |\n| GET | /lookup/asn | Lookup any AS Number and receive it's details |\n| GET | /lookup/bin | Get the complete data associated with a debit/credit card |\n| GET | /lookup/iban | Validate International IBANs and obtain essential information |\n| GET | /lookup/country | Get the full information of a country |\n\n### Scoring\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /scoring/payment | Prevent financial losses by deploying AI-Powered modules |\n| GET | /scoring/email | Validate email addresses and retrieve additional information |\n| GET | /scoring/phone | Validate phone numbers and retrieve additional information |\n| GET | /scoring/profanity | Detect profanity in a given text |\n\n### Ip\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /ip | Retrieve the IP address of your visitors or users without the need for an account or API key in Greip |\n\n### Account\n| Method | Path | Description |\n|--------|------|-------------|\n| DELETE | /account/users/delete | Request to delete your user data from Greip |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"List all geoip?\" -> GET /geoip\n- \"List all ip?\" -> GET /lookup/ip\n- \"List all threats?\" -> GET /lookup/ip/threats\n- \"List all bulk?\" -> GET /lookup/ip/bulk\n- \"List all asn?\" -> GET /lookup/asn\n- \"List all bin?\" -> GET /lookup/bin\n- \"Create a payment?\" -> POST /scoring/payment\n- \"List all iban?\" -> GET /lookup/iban\n- \"List all email?\" -> GET /scoring/email\n- \"List all phone?\" -> GET /scoring/phone\n- \"List all country?\" -> GET /lookup/country\n- \"List all profanity?\" -> GET /scoring/profanity\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Greip API\n@base https://greipapi.com\n@version 1.2.0\n@auth Bearer bearer | ApiKey key in query\n@endpoints 14\n@toc geoip(1), lookup(7), scoring(4), ip(1), account(1)\n\n@group geoip\n@endpoint GET /geoip\n@desc Retrieve detailed geolocation information for a visitor’s or user’s IP address\n@optional {params: str # The `params` command can be used to specify the required modules you want to get in the response.  Expected values: `security`, `currency`, `timezone`, `location`, and/or `device`.  Sample value: `security,timezone,currency`., lang: str # The `lang` command is used to get a response in a specific language., format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group lookup\n@endpoint GET /lookup/ip\n@desc Get the full information of a given IP address\n@required {ip: str # The `ip` command is used to specify the IP address you want to lookup.}\n@optional {params: str # The `params` command can be used to specify the required modules you want to get in the response.  Expected values: `security`, `currency`, `timezone`, `location`, and/or `device`.  Sample value: `security,timezone,currency`., lang: str # The `lang` command is used to get a response in a specific language., format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endpoint GET /lookup/ip/threats\n@desc Retrieve threat intelligence information for a given IP address\n@required {ip: str # The `ip` parameter is used to specify the IP address you want to retrieve it’s threat intelligence information.}\n@optional {format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endpoint GET /lookup/ip/bulk\n@desc Get the full information of multiple IP Addresses\n@required {ips: str # The `ips` command is used to specify the IP address you want to lookup}\n@optional {params: str # The `params` command can be used to specify the required modules you want to get in the response.  Expected values: `security`, `currency`, `timezone`, `location`, and/or `device`.  Sample value: `security,timezone,currency`., lang: str # The `lang` command is used to get a response in a specific language., format: str # The `format` command is used to get a response in a specific format., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endpoint GET /lookup/asn\n@desc Lookup any AS Number and receive it's details\n@optional {asn: str # The `asn` command is used to specify the AS Number you want to lookup.  Sample value: `AS6167` or `6167`, isList: str # Set this to `yes` if you want to list all routes of both IPv4 and IPv6., format: str # The `format` command is used to get a response in a specific format.  Expected values: `JSON`, `XML`, `CSV`, or `Newline`.  For more information please refer to [Response Format](https://docs.greip.io/options/response-format)., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endpoint GET /lookup/bin\n@desc Get the complete data associated with a debit/credit card\n@required {bin: str # The BIN/IIN of the card (min: 6 digits).}\n@optional {format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group scoring\n@endpoint POST /scoring/payment\n@desc Prevent financial losses by deploying AI-Powered modules\n@optional {data: map, format: str, mode: str, userID: str, callback: str}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group lookup\n@endpoint GET /lookup/iban\n@desc Validate International IBANs and obtain essential information\n@required {iban: str # The International Bank Account Number (IBAN) you want to validate.}\n@optional {format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group scoring\n@endpoint GET /scoring/email\n@desc Validate email addresses and retrieve additional information\n@required {email: str # The `email` command is used to specify the email you want to validate.}\n@optional {format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endpoint GET /scoring/phone\n@desc Validate phone numbers and retrieve additional information\n@required {phone: str # The `phone` command is used to specify the phone number you want to validate., countryCode: str # The `ISO 3166-1 alpha-2` format of the country code of the phone number.}\n@optional {format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group lookup\n@endpoint GET /lookup/country\n@desc Get the full information of a country\n@required {CountryCode: str # The `ISO 3166-1 alpha-2` format of the country code.}\n@optional {params: str # The `params` command is used to determine the data you need in the response., format: str # The `format` command is used to get a response in a specific format., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group scoring\n@endpoint GET /scoring/profanity\n@desc Detect profanity in a given text\n@required {text: str # The text you want to filter.}\n@optional {listBadWords: str # Set to `yes` to list the bad-words as an Array., scoreOnly: str # Set to `yes` to return only the score of the text and whether it's safe or not., format: str # The `format` command is used to get a response in a specific format., userID: str # The `userID` command can be used to identify requests sent by specific users to monitor in the [Events Page](https://docs.greip.io/dashboard-guides/monitoring-capabilities/real-time-threat-monitoring)., mode: str # The mode command is used to in the development stage to simulate the integration process before releasing it to the production environment.  Expected values: `live`, or `test`., callback: str # The `callback` command can help you make the response as a JSONP format.  Expected values: any name that can be used as a function name in Javascript, e.g: `myFunctionName`.}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group ip\n@endpoint GET /ip\n@desc Retrieve the IP address of your visitors or users without the need for an account or API key in Greip\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@group account\n@endpoint DELETE /account/users/delete\n@desc Request to delete your user data from Greip\n@optional {value: str}\n@returns(200) OK\n@errors {400: Bad Request, 500: Internal Server Error}\n\n@endgroup\n\n@end\n"}}