openapi: 3.0.0
servers:
  - description: Production server
    url: https://gregeoip.com
  - description: Development server
    url: https://dev.gregeoip.com
info:
  contact:
    email: info@greip.io
    name: Greip Support
    url: https://greip.io/contact
  description: This documentation shows how to use Greip API, by highlighting the API methods, options and some other features that allow you to get the most of this API.
  termsOfService: https://greip.io/terms
  title: Greip API
  version: 1.0.0
  x-logo:
    url: https://greip.io/img/xapp-icon-180.png.pagespeed.ic.ZTdYRFWWyQ.png
  x-origin:
    - format: openapi
      url: https://greip.io/OpenAPI.json
      version: "3.0"
  x-providerName: greip.io
externalDocs:
  description: API Documentaion
  url: https://docs.greip.io
paths:
  /ASNLookup:
    get:
      description: "ASNLookup endpoint: This method helps you lookup any AS Number. It returns the type, organisation details, routes, etc."
      externalDocs:
        description: Greip API - ASN Lookup
        url: https://docs.greip.io/methods/asn-lookup-api
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The AS Number you want to lookup
          in: query
          name: asn
          required: true
          schema:
            example: "15169"
            type: string
        - description: Set this to true if you want to list all routes of both IPv4 and IPv6.
          examples:
            "0":
              description: Don't return the routes.
              summary: NO
              value: no
            "1":
              description: Return the routes.
              summary: YES
              value: yes
          in: query
          name: isList
          required: false
          schema:
            example: no
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: JSON
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /BINLookup:
    get:
      description: This method helps you validate any BIN/IIN number and retrieve the full details related to the bank, brand, type, scheme, country, etc.
      externalDocs:
        description: Greip API - BIN/IIN Validation
        url: https://docs.greip.io/methods/bin-iin-validation
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The BIN/IIN you want to lookup/validate.
          in: query
          name: bin
          required: true
          schema:
            example: "489022"
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: JSON
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /BulkLookup:
    get:
      description: "BulkLookup endpoint: Returns the geolocation data of multiple IP Addresses."
      externalDocs:
        description: Greip API - Bulk Lookup
        url: https://docs.greip.io/methods/bulk-lookup
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The IP Addresses you want to lookup. It's a CSV (Comma Separated Values)
          examples:
            "0":
              description: Lookup only `1.1.1.1` IP Address.
              summary: Lookup a single IP Address
              value: 1.1.1.1
            "1":
              description: Use `1.1.1.1` and `2.2.2.2` IP Addresses.
              summary: Lookup multiple IP Addresses
              value: 1.1.1.1,2.2.2.2
          explode: true
          in: query
          name: ips
          required: true
          schema:
            example: 1.1.1.1,2.2.2.2
            externalDocs:
              description: Greip API - Bulk Lookup
              url: https://docs.greip.io/methods/bulk-lookup
            type: string
          style: form
        - description: The modules you want to use of the request. It's a CSV (Comma Separated Values)
          examples:
            "0":
              description: Use only `currency` module.
              summary: Using a single module
              value: currency
            "1":
              description: Use `security`, `timezone`, `currency` and `device` modules.
              summary: Using multiple modules
              value: security,timezone,currency,device
          explode: true
          in: query
          name: params
          required: false
          schema:
            example: currency
            externalDocs:
              description: Greip API - Custom Modules Response
              url: https://docs.greip.io/options/custom-modules-response
            type: string
          style: form
        - description: Used to inform the API to retrieve the response in your native language.
          examples:
            "0":
              summary: Arabic Response
              value: AR
            "1":
              summary: Russian Response
              value: RU
            "2":
              summary: Spanish Response
              value: ES
            "3":
              summary: Danish Response
              value: DE
            "4":
              summary: French Response
              value: FR
            "5":
              summary: Japanese Response
              value: JA
            "6":
              summary: Chinese Response
              value: ZH
            "7":
              summary: English Response
              value: EN
          in: query
          name: lang
          required: false
          schema:
            example: AR
            externalDocs:
              description: Greip API - Localization
              url: https://docs.greip.io/options/localization
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: XML
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /Country:
    get:
      description: "Country endpoint: Returns the information of a specific country by passing the `countrCode`."
      externalDocs:
        description: Greip API - Country Data API
        url: https://docs.greip.io/methods/country-data-api
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The Country Code of the country you want to fetch it's data.
          in: query
          name: CountryCode
          required: true
          schema:
            example: PS
            type: string
        - description: The modules you want to use of the request. It's a CSV (Comma Separated Values)
          examples:
            "0":
              description: Use only `language` module.
              summary: Using a single module
              value: language
            "1":
              description: Use `language`, `flag`, `currency` and `timezone` modules.
              summary: Using multiple modules
              value: language,flag,currency,timezone
          explode: true
          in: query
          name: params
          required: false
          schema:
            example: language
            externalDocs:
              description: Greip API - Country - Possible Param
              url: https://docs.greip.io/methods/country-data-api#possible-param
            type: string
          style: form
        - description: Used to inform the API to retrieve the response in your native language.
          examples:
            "0":
              summary: Arabic Response
              value: AR
            "1":
              summary: Russian Response
              value: RU
            "2":
              summary: Spanish Response
              value: ES
            "3":
              summary: Danish Response
              value: DE
            "4":
              summary: French Response
              value: FR
            "5":
              summary: Japanese Response
              value: JA
            "6":
              summary: Chinese Response
              value: ZH
            "7":
              summary: English Response
              value: EN
          in: query
          name: lang
          required: false
          schema:
            example: AR
            externalDocs:
              description: Greip API - Localization
              url: https://docs.greip.io/options/localization
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: XML
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /GeoIP:
    get:
      description: Returns the geolocation data of the visitor.
      externalDocs:
        description: Greip API - Retrieve Visitor Info
        url: https://docs.greip.io/methods/retrieve-visitor-info
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The modules you want to use of the request. It's a CSV (Comma Separated Values)
          examples:
            "0":
              description: Use only `currency` module.
              summary: Using a single module
              value: currency
            "1":
              description: Use `security`, `timezone`, `currency` and `device` modules.
              summary: Using multiple modules
              value: security,timezone,currency,device
          explode: true
          in: query
          name: params
          required: false
          schema:
            example: currency
            externalDocs:
              description: Greip API - Custom Modules Response
              url: https://docs.greip.io/options/custom-modules-response
            type: string
          style: form
        - description: Used to inform the API to retrieve the response in your native language.
          examples:
            "0":
              summary: Arabic Response
              value: AR
            "1":
              summary: Russian Response
              value: RU
            "2":
              summary: Spanish Response
              value: ES
            "3":
              summary: Danish Response
              value: DE
            "4":
              summary: French Response
              value: FR
            "5":
              summary: Japanese Response
              value: JA
            "6":
              summary: Chinese Response
              value: ZH
            "7":
              summary: English Response
              value: EN
          in: query
          name: lang
          required: false
          schema:
            example: AR
            externalDocs:
              description: Greip API - Localization
              url: https://docs.greip.io/options/localization
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: XML
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /IPLookup:
    get:
      description: Returns the geolocation data of a specific IP Address.
      externalDocs:
        description: Greip API - Lookup IP Address
        url: https://docs.greip.io/methods/lookup-ip-address
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The IP Address you want to lookup.
          in: query
          name: ip
          required: true
          schema:
            example: 1.1.1.1
            externalDocs:
              description: Greip API - Lookup IP Address
              url: https://docs.greip.io/methods/lookup-ip-address
            type: string
        - description: The modules you want to use of the request. It's a CSV (Comma Separated Values)
          examples:
            "0":
              description: Use only `currency` module.
              summary: Using a single module
              value: currency
            "1":
              description: Use `security`, `timezone`, `currency` and `device` modules.
              summary: Using multiple modules
              value: security,timezone,currency,device
          explode: true
          in: query
          name: params
          required: false
          schema:
            example: currency
            externalDocs:
              description: Greip API - Custom Modules Response
              url: https://docs.greip.io/options/custom-modules-response
            type: string
          style: form
        - description: Used to inform the API to retrieve the response in your native language.
          examples:
            "0":
              summary: Arabic Response
              value: AR
            "1":
              summary: Russian Response
              value: RU
            "2":
              summary: Spanish Response
              value: ES
            "3":
              summary: Danish Response
              value: DE
            "4":
              summary: French Response
              value: FR
            "5":
              summary: Japanese Response
              value: JA
            "6":
              summary: Chinese Response
              value: ZH
            "7":
              summary: English Response
              value: EN
          in: query
          name: lang
          required: false
          schema:
            example: AR
            externalDocs:
              description: Greip API - Localization
              url: https://docs.greip.io/options/localization
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: XML
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /badWords:
    get:
      description: "badWords endpoint: Detects whether user inputs contain profanity or not."
      externalDocs:
        description: Greip API - Profanity Detection
        url: https://docs.greip.io/methods/profanity-detection
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The text you want to check.
          in: query
          name: text
          required: true
          schema:
            example: This is a sample text without profanity!
            type: string
        - description: Set to `yes` to list the bad-words as an Array.
          examples:
            "0":
              description: Don't return the found bad-words as an Array.
              summary: NO
              value: no
            "1":
              description: Return the found bad-words as an Array.
              summary: YES
              value: yes
          in: query
          name: listBadWords
          required: false
          schema:
            example: no
            type: string
        - description: Set to `yes` to return only the score of the text and whether it's safe or not.
          examples:
            "0":
              description: Return full information about the text.
              summary: NO
              value: no
            "1":
              description: Return only the safety score of the text.
              summary: YES
              value: yes
          in: query
          name: scoreOnly
          required: false
          schema:
            example: no
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: JSON
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /validateEmail:
    get:
      description: This method can be used as an extra-layer of your system for validating email addresses.
      externalDocs:
        description: Greip API - Email Validation
        url: https://docs.greip.io/methods/data-validation/email-validation
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The Email Address you want to validate.
          in: query
          name: email
          required: true
          schema:
            example: name@domain.com
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: JSON
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
  /validatePhone:
    get:
      description: This method can be used as an extra-layer of your system for validating phone numbers.
      externalDocs:
        description: Greip API - Phone Number Validation
        url: https://docs.greip.io/methods/data-validation/phone-number-validation
      parameters:
        - description: Your API Key. Each user has a unique API Key that can be used to access the API functions. If you don't have an account yet, please create new account first.
          in: query
          name: key
          required: true
          schema:
            example: 2517bc4fc3f790e8f09bc808bb63b899
            externalDocs:
              description: Greip API - Authentication
              url: https://docs.greip.io/get-started/authentication
            type: string
        - description: The Phone Number you want to validate.
          in: query
          name: phone
          required: true
          schema:
            example: "1234567890"
            type: string
        - description: The ISO 3166-1 alpha-2 format of the country code of the phone number.
          in: query
          name: countryCode
          required: true
          schema:
            example: US
            type: string
        - description: Sets the format of the API response. JSON is the default format.
          examples:
            "0":
              summary: JSON Response
              value: JSON
            "1":
              summary: XML Response
              value: XML
            "2":
              summary: CSV Response
              value: CSV
            "3":
              summary: Newline Response
              value: Newline
          in: query
          name: format
          required: false
          schema:
            example: JSON
            externalDocs:
              description: Greip API - Response Format
              url: https://docs.greip.io/options/response-format
            type: string
      responses:
        "200":
          description: OK
        "400":
          description: Bad Request
        "500":
          description: Internal Server Error
