{
  "service": "contactout",
  "displayName": "ContactOut",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "CONTACTOUT_API_TOKEN",
      "description": "ContactOut API token sent with the token request header. ContactOut asks users to request API access from the official API docs: https://api.contactout.com/.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://contactout.com",
  "actions": [
    {
      "id": "contactout.check_personal_email_available",
      "service": "contactout",
      "name": "check_personal_email_available",
      "description": "Check whether ContactOut has a personal email for a LinkedIn profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn profile URL, such as https://www.linkedin.com/in/example-person."
          }
        },
        "additionalProperties": false,
        "description": "Input for checking whether a LinkedIn profile has ContactOut contact data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut availability profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut contact availability response."
      }
    },
    {
      "id": "contactout.check_phone_available",
      "service": "contactout",
      "name": "check_phone_available",
      "description": "Check whether ContactOut has a phone number for a LinkedIn profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn profile URL, such as https://www.linkedin.com/in/example-person."
          }
        },
        "additionalProperties": false,
        "description": "Input for checking whether a LinkedIn profile has ContactOut contact data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut availability profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut contact availability response."
      }
    },
    {
      "id": "contactout.check_work_email_available",
      "service": "contactout",
      "name": "check_work_email_available",
      "description": "Check whether ContactOut has a work email for a LinkedIn profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn profile URL, such as https://www.linkedin.com/in/example-person."
          }
        },
        "additionalProperties": false,
        "description": "Input for checking whether a LinkedIn profile has ContactOut contact data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut availability profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut contact availability response."
      }
    },
    {
      "id": "contactout.count_people",
      "service": "contactout",
      "name": "count_people",
      "description": "Count ContactOut people records matching official search filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official ContactOut search filters to send in the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input for counting ContactOut people records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "total_results": {
            "type": "integer",
            "description": "The total number of ContactOut profiles matching the filters."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut people count response."
      }
    },
    {
      "id": "contactout.enrich_companies_by_domain",
      "service": "contactout",
      "name": "enrich_companies_by_domain",
      "description": "Enrich companies from domain names with ContactOut.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One string value."
            },
            "description": "Domain names to enrich with ContactOut.",
            "maxItems": 30
          }
        },
        "additionalProperties": false,
        "description": "Input for enriching companies by domain."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "companies": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw ContactOut company object."
            },
            "description": "Company records keyed by input domain."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut domain enrichment response."
      }
    },
    {
      "id": "contactout.enrich_email_profile",
      "service": "contactout",
      "name": "enrich_email_profile",
      "description": "Enrich a ContactOut profile from an email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to look up or verify.",
            "format": "email"
          },
          "include": {
            "type": "string",
            "enum": [
              "work_email"
            ],
            "description": "Additional data to include in the response."
          }
        },
        "additionalProperties": false,
        "required": [
          "email"
        ],
        "description": "Input for enriching a ContactOut profile from an email address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut profile response."
      }
    },
    {
      "id": "contactout.enrich_linkedin_profile",
      "service": "contactout",
      "name": "enrich_linkedin_profile",
      "description": "Enrich a ContactOut profile from a LinkedIn profile URL.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn profile URL, such as https://www.linkedin.com/in/example-person."
          },
          "profile_only": {
            "type": "boolean",
            "description": "Whether to return profile data without contact information."
          }
        },
        "additionalProperties": false,
        "required": [
          "profile"
        ],
        "description": "Input for enriching a ContactOut profile from a LinkedIn profile URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut profile response."
      }
    },
    {
      "id": "contactout.enrich_person",
      "service": "contactout",
      "name": "enrich_person",
      "description": "Enrich a ContactOut profile from identifiers or name plus context.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "linkedin_url": {
            "type": "string",
            "minLength": 1,
            "description": "LinkedIn profile URL for the person."
          },
          "email": {
            "type": "string",
            "description": "The email address to look up or verify.",
            "format": "email"
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "description": "Phone number for the person."
          },
          "full_name": {
            "type": "string",
            "minLength": 1,
            "description": "Full name of the person."
          },
          "first_name": {
            "type": "string",
            "minLength": 1,
            "description": "First name of the person."
          },
          "last_name": {
            "type": "string",
            "minLength": 1,
            "description": "Last name of the person."
          },
          "company": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One string value."
            },
            "description": "Company names to use as secondary matching context.",
            "maxItems": 10
          },
          "company_domain": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One string value."
            },
            "description": "Company domains to use as secondary matching context.",
            "maxItems": 10
          },
          "education": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One string value."
            },
            "description": "Educational institutions to use as secondary matching context.",
            "maxItems": 10
          },
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "Location or city to use as secondary matching context."
          },
          "job_title": {
            "type": "string",
            "minLength": 1,
            "description": "Job title to use as secondary matching context."
          },
          "include": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "work_email",
                "personal_email",
                "phone"
              ],
              "description": "A ContactOut contact data type."
            },
            "description": "Contact data fields to include in the enrichment response."
          }
        },
        "additionalProperties": false,
        "description": "Input for ContactOut person enrichment using one primary identifier or name plus context."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut profile response."
      }
    },
    {
      "id": "contactout.find_decision_makers",
      "service": "contactout",
      "name": "find_decision_makers",
      "description": "Find decision makers for a company with ContactOut.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "linkedin_url": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn company URL, such as https://www.linkedin.com/company/contactout."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The company website domain, such as example.com."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The company name."
          },
          "reveal_info": {
            "type": "boolean",
            "description": "Whether ContactOut should reveal contact information."
          }
        },
        "additionalProperties": false,
        "description": "Input for finding ContactOut decision makers for a company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw ContactOut profile object."
            },
            "description": "Decision-maker profiles returned by ContactOut."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut decision makers response."
      }
    },
    {
      "id": "contactout.get_linkedin_contact_info",
      "service": "contactout",
      "name": "get_linkedin_contact_info",
      "description": "Get ContactOut contact information for a LinkedIn profile.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "profile": {
            "type": "string",
            "minLength": 1,
            "description": "The full LinkedIn profile URL, such as https://www.linkedin.com/in/example-person."
          },
          "include_phone": {
            "type": "boolean",
            "description": "Whether ContactOut should include phone data and deduct phone credits."
          },
          "email_type": {
            "type": "string",
            "enum": [
              "personal",
              "work",
              "personal,work",
              "none"
            ],
            "description": "Which email types ContactOut should return."
          }
        },
        "additionalProperties": false,
        "required": [
          "profile"
        ],
        "description": "Input for reading ContactOut contact details from a LinkedIn profile URL."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut profile response."
      }
    },
    {
      "id": "contactout.get_linkedin_profile_by_email",
      "service": "contactout",
      "name": "get_linkedin_profile_by_email",
      "description": "Resolve a LinkedIn profile URL from an email address with ContactOut.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to look up or verify.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Input for resolving a LinkedIn profile from an email address."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profile": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut profile object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut profile response."
      }
    },
    {
      "id": "contactout.get_usage_stats",
      "service": "contactout",
      "name": "get_usage_stats",
      "description": "Read ContactOut API usage statistics.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "period": {
            "type": "string",
            "minLength": 1,
            "description": "Usage month in YYYY-MM format. Defaults to the current month."
          }
        },
        "additionalProperties": false,
        "description": "Input for reading ContactOut API usage statistics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "period": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The ContactOut usage period object."
          },
          "usage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw ContactOut usage object."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut usage statistics response."
      }
    },
    {
      "id": "contactout.search_companies",
      "service": "contactout",
      "name": "search_companies",
      "description": "Search ContactOut company records with official search filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official ContactOut search filters to send in the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input for searching ContactOut company records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "companies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw ContactOut company object."
            },
            "description": "Companies matched by the ContactOut company search."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut company search response."
      }
    },
    {
      "id": "contactout.search_people",
      "service": "contactout",
      "name": "search_people",
      "description": "Search ContactOut people records with official search filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "filters": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official ContactOut search filters to send in the request body."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The ContactOut result page to request."
          },
          "data_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "work_email",
                "personal_email",
                "phone"
              ],
              "description": "A ContactOut reveal data type."
            },
            "description": "Contact data types ContactOut should reveal when reveal_info is true."
          },
          "reveal_info": {
            "type": "boolean",
            "description": "Whether ContactOut should reveal contact information in results."
          }
        },
        "additionalProperties": false,
        "required": [
          "filters"
        ],
        "description": "Input for searching ContactOut people records."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status_code": {
            "type": "integer",
            "description": "The ContactOut status_code value returned by the API."
          },
          "profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw ContactOut profile object."
            },
            "description": "Profiles matched by the ContactOut people search."
          },
          "total_results": {
            "type": "integer",
            "description": "The total number of matching ContactOut profiles."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut people search response."
      }
    },
    {
      "id": "contactout.verify_email",
      "service": "contactout",
      "name": "verify_email",
      "description": "Verify an email address with ContactOut.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address to look up or verify.",
            "format": "email"
          }
        },
        "additionalProperties": false,
        "description": "Input for verifying an email address with ContactOut."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "valid",
              "invalid",
              "accept_all",
              "disposable",
              "unknown"
            ],
            "description": "The ContactOut email verification status."
          }
        },
        "additionalProperties": true,
        "description": "ContactOut email verification response."
      }
    }
  ]
}
