{
  "service": "data247",
  "displayName": "Data247",
  "categories": [
    "Data",
    "Communication",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "DATA247_API_KEY",
      "description": "Data247 v3 API key sent with the key query parameter. The Data247 API manual describes API key usage: https://www.data247.com/api_user_manual"
    }
  ],
  "homepageUrl": "https://www.data247.com/",
  "actions": [
    {
      "id": "data247.append_gender",
      "service": "data247",
      "name": "append_gender",
      "description": "Infer a probable gender from a first name using Data247.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "fname": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "The first name to submit to Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "fname"
        ],
        "description": "Input for a Data247 gender append lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Data247 response status."
          },
          "message": {
            "type": "string",
            "description": "The Data247 response message when one is returned."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "fname": {
                  "type": "string",
                  "description": "The first name returned by Data247."
                },
                "gender": {
                  "type": "string",
                  "description": "The probable gender returned by Data247."
                },
                "gender_pct": {
                  "type": "string",
                  "description": "The confidence percentage returned by Data247."
                }
              },
              "additionalProperties": true,
              "description": "One Data247 gender append result."
            },
            "description": "The gender append records returned by Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "results"
        ],
        "description": "The Data247 gender append response."
      }
    },
    {
      "id": "data247.check_balance",
      "service": "data247",
      "name": "check_balance",
      "description": "Check the current Data247 account balance.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Input for checking the Data247 account balance."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Data247 response status."
          },
          "message": {
            "type": "string",
            "description": "The Data247 response message when one is returned."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "balance": {
                  "type": "string",
                  "description": "The current Data247 account balance as returned by the API."
                }
              },
              "additionalProperties": true,
              "description": "One Data247 balance result."
            },
            "description": "The balance records returned by Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "results"
        ],
        "description": "The Data247 balance lookup response."
      }
    },
    {
      "id": "data247.check_dnc",
      "service": "data247",
      "name": "check_dnc",
      "description": "Check a phone number against Data247 Do-Not-Call data.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "The phone number to submit to Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "phone"
        ],
        "description": "Input for a Data247 phone-number lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Data247 response status."
          },
          "message": {
            "type": "string",
            "description": "The Data247 response message when one is returned."
          },
          "phone": {
            "type": "string",
            "description": "The phone number returned by Data247."
          },
          "dnc": {
            "type": "string",
            "description": "The DNC status returned by Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "phone",
          "dnc"
        ],
        "description": "The Data247 DNC lookup response."
      }
    },
    {
      "id": "data247.get_carrier_type",
      "service": "data247",
      "name": "get_carrier_type",
      "description": "Determine whether a USA or Canadian phone number is mobile, landline, or VOIP.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "The phone number to submit to Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "phone"
        ],
        "description": "Input for a Data247 phone-number lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Data247 response status."
          },
          "message": {
            "type": "string",
            "description": "The Data247 response message when one is returned."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "description": "The phone number returned by Data247."
                },
                "type": {
                  "type": "string",
                  "description": "The carrier type code returned by Data247, such as M, L, or V."
                }
              },
              "additionalProperties": true,
              "description": "One Data247 carrier type result."
            },
            "description": "The carrier type records returned by Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "results"
        ],
        "description": "The Data247 carrier type lookup response."
      }
    },
    {
      "id": "data247.verify_phone",
      "service": "data247",
      "name": "verify_phone",
      "description": "Verify whether an international phone number is active.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 40,
            "description": "The phone number to submit to Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "phone"
        ],
        "description": "Input for a Data247 phone-number lookup."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "The Data247 response status."
          },
          "message": {
            "type": "string",
            "description": "The Data247 response message when one is returned."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "phone": {
                  "type": "string",
                  "description": "The phone number returned by Data247."
                },
                "active": {
                  "type": "string",
                  "description": "Whether Data247 reports the phone number as active."
                },
                "confidence": {
                  "type": "string",
                  "description": "The confidence level returned by Data247."
                }
              },
              "additionalProperties": true,
              "description": "One Data247 phone verification result."
            },
            "description": "The phone verification records returned by Data247."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "results"
        ],
        "description": "The Data247 phone verification response."
      }
    }
  ]
}
