{
  "service": "bigpicture_io",
  "displayName": "BigPicture.io",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "BIGPICTURE_API_KEY",
      "description": "BigPicture API key sent in the Authorization header. Request API access or sign in from the official BigPicture site: https://bigpicture.io"
    }
  ],
  "homepageUrl": "https://bigpicture.io",
  "actions": [
    {
      "id": "bigpicture_io.find_company_by_domain",
      "service": "bigpicture_io",
      "name": "find_company_by_domain",
      "description": "Look up a BigPicture company profile by domain name.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company domain to look up, such as `example.com`, without a URL scheme."
          }
        },
        "additionalProperties": false,
        "required": [
          "domain"
        ],
        "description": "Input payload for looking up a company by domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A BigPicture company profile."
          }
        },
        "additionalProperties": false,
        "required": [
          "company"
        ],
        "description": "Output payload for a BigPicture domain company lookup."
      }
    },
    {
      "id": "bigpicture_io.find_company_by_ip",
      "service": "bigpicture_io",
      "name": "find_company_by_ip",
      "description": "Look up the company associated with an IPv4 or IPv6 address using BigPicture.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "anyOf": [
              {
                "type": "string",
                "description": "An IPv4 address.",
                "format": "ipv4"
              },
              {
                "type": "string",
                "description": "An IPv6 address.",
                "format": "ipv6"
              }
            ],
            "description": "The IPv4 or IPv6 address to look up."
          }
        },
        "additionalProperties": false,
        "required": [
          "ip"
        ],
        "description": "Input payload for looking up a company by IP address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ip": {
            "type": "string",
            "description": "The IP address that was requested."
          },
          "type": {
            "anyOf": [
              {
                "type": "string",
                "description": "The result type, such as business, ISP, or hosting."
              },
              {
                "type": "null"
              }
            ]
          },
          "fuzzy": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether the company match is fuzzy."
              },
              {
                "type": "null"
              }
            ]
          },
          "confidence": {
            "anyOf": [
              {
                "type": "number",
                "description": "The confidence score of the matched company on a scale from 0 to 1."
              },
              {
                "type": "null"
              }
            ]
          },
          "geo": {
            "type": "object",
            "properties": {
              "city": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The city where the IP address is located."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "state": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The state or region where the IP address is located."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "stateCode": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The state or region code for the IP address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "country": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The country where the IP address is located."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "countryCode": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The country code for the IP address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "continent": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The continent where the IP address is located."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "continentCode": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The continent code for the IP address."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "isEU": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the IP address is located in the European Union."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Geographic details BigPicture associates with the IP address."
          },
          "company": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A BigPicture company profile."
          },
          "whois": {
            "type": "object",
            "properties": {
              "domain": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The domain associated with the WHOIS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The organization name associated with the WHOIS record."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "WHOIS ownership details BigPicture associates with the IP."
          },
          "asn": {
            "type": "object",
            "properties": {
              "asn": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The autonomous system number."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The organization name associated with the ASN record."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "route": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The subnet route for the ASN record."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "ASN details BigPicture associates with the IP."
          }
        },
        "additionalProperties": true,
        "description": "Output payload for a BigPicture IP-to-company lookup."
      }
    }
  ]
}
