{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/contactout/main/json-schema/contactout-people-search-request-schema.json", "title": "PeopleSearchRequest", "x-generated": "2026-10-07", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/_ae-authored/contactout-openapi-generated.yml#/components/schemas/PeopleSearchRequest", "type": "object", "properties": { "name": { "type": "string", "description": "Name of the profile (text)" }, "job_title": { "type": "array", "items": {}, "description": "Accepts an array of job titles. (array, max:50)" }, "past_job_title": { "type": "array", "items": {}, "description": "Returns profiles that held these job titles in past (non-current) roles. Cannot be combined with current_titles_only: false. Cannot be combined with match_experience when both job_title and company are set. (array, max:50)" }, "job_function": { "type": "array", "items": {}, "description": "Accepts an array of job functions to filter profiles by their functional area (e.g., Engineering, Marketing, Sales, Finance). Accepted values list (array, max:50)" }, "seniority": { "type": "array", "items": {}, "description": "Accepts an array of seniority levels to filter profiles by their career level. Accepted values list (array, max:50)" }, "current_titles_only": { "type": "boolean", "default": "true", "description": "Returns profiles matching the current job title. If specified false, the response will return profiles matching the current or past job title. (boolean, default: true)" }, "include_related_job_titles": { "type": "boolean", "default": "false", "description": "Returns profiles with related job titles (boolean, default: false)" }, "match_experience": { "type": "string", "default": "current", "description": "Ensures job_title and company match in the same experience. current – Returns profiles that match the current experience.past – Returns profiles that match any past experience.both – Returns profiles matching either current or past experience.If set, current_titles_only and company_filter should not be used; otherwise, an error is returned. (string, default: current)" }, "skills": { "type": "array", "items": {}, "description": "Accepts an array of skills (array, max:50)" }, "languages": { "type": "array", "items": {}, "description": "Accepts an array of language objects. Each object must have a language field (required string) and optionally a proficiency field (array of strings). If proficiency is not provided, any proficiency level is accepted. Accepted values list for proficiency. (array, max:50)" }, "education": { "type": "array", "items": {}, "description": "Accepts an array of schools/degrees (array, max:50)" }, "educations": { "type": "array", "items": {}, "description": "Accepts an array of education objects. Each object can have optional fields: school_name (string), field_of_study (string), and location (string). At least one field must be provided. (array, max:50)" }, "location": { "type": "array", "items": {}, "description": "Accepts an array of locations (array, max:50)" }, "location_radius": { "type": "integer", "description": "Search radius in miles (1-500). Only works when location is provided and the location is a city / area. Filters profiles within the specified radius of the location. (integer)" }, "current_work_location": { "type": "array", "items": {}, "description": "Accepts an array of location strings (cities or countries). Filters profiles who currently work in any of the specified locations. (array, max:50)" }, "past_work_location": { "type": "array", "items": {}, "description": "Accepts an array of location strings (cities or countries). Filters profiles who previously worked in any of the specified locations. (array, max:50)" }, "company": { "type": "array", "items": {}, "description": "Accepts an array of company names (array, max:50)" }, "past_company": { "type": "array", "items": {}, "description": "Returns profiles that worked at these companies in past (non-current) roles. Cannot be combined with company_filter set to past, past_only, or both. Cannot be combined with match_experience when both job_title and company are set. (array, max:50)" }, "company_filter": { "type": "string", "default": "current", "description": "current – Returns profiles matching the current company name past – Returns profiles matching any past company name past_only – Returns profiles where the company appears in past experience and is not their current employer. both – Returns profiles matching either current or past experience (string, default: current)" }, "current_company_only": { "type": "boolean", "default": "true", "description": "Returns profiles matching the current company name (boolean, default: true)" }, "domain": { "type": "array", "items": {}, "description": "Accepts an array of domains (array, max:50)" }, "industry": { "type": "array", "items": {}, "description": "Accepts an array of industries. Prefix an industry with NOT to exclude it (e.g. \"NOT Computer Software\"). Accepted values list (array, max:50)" }, "keyword": { "type": "string", "description": "Returns profiles that contain the mentioned keyword anywhere in their profile (text)" }, "company_size": { "type": "array", "items": {}, "description": "Accepts an array of company size ranges. Accepted values list (array)" }, "years_of_experience": { "type": "array", "items": {}, "description": "Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years of experience. e.g. [\"2_5\", \"6_10\"] means 2-5 years OR 6-10 years. (array)" }, "years_in_current_role": { "type": "array", "items": {}, "description": "Accepts an array of ranges in the format X_Y where X and Y are integers representing the minimum and maximum years in current role. e.g. [\"1_3\", \"4_6\"] means 1-3 years OR 4-6 years in current role. Cannot be used with recently_changed_jobs. (array)" }, "recently_changed_jobs": { "type": "boolean", "default": "false", "description": "If set to true, returns profiles whose current job started within the last 3 calendar months. Cannot be used with years_in_current_role. (boolean, default: false)" }, "is_currently_working": { "type": "boolean", "description": "If true, returns only profiles with an active current role. If false, returns only profiles with no active current role. Omit to return both. (boolean)" }, "page": { "type": "integer", "description": "Provides results for the given page (integer)" }, "page_size": { "type": "integer", "default": "25", "description": "Maximum number of profiles to return per page. Valid range is 1-25. When not provided, 25 profiles are returned. Search credits are charged only for the number of profiles returned. (integer, default: 25)" }, "data_types": { "type": "array", "items": {}, "description": "Returns profiles containing atleast one of the specified data types. It accepts an array of one more values from this list [personal_email, work_email, phone] (array)" }, "reveal_info": { "type": "boolean", "default": "false", "description": "If set to true, contact_info will contain the emails and phone numbers of the profile and credits will be charged (boolean, default: false)" }, "detailed_experience": { "type": "boolean", "default": "false", "description": "If set to true, the experience field returns detailed data like title, company_name, summary, start_date_year, start_date_month, end_date_year, end_date_month, is_current, linkedin_url, logo_url. If false, returns simple text strings. (boolean, default: false)" }, "detailed_education": { "type": "boolean", "default": "false", "description": "If set to true, the education field returns detailed data like school_name, degree, field_of_study, description, start_date_year, end_date_year, url. If false, returns simple text strings. (boolean, default: false)" }, "exclude_job_titles": { "type": "array", "items": {}, "description": "Accepts an array of job titles to exclude from results. (array)" }, "exclude_companies": { "type": "array", "items": {}, "description": "Accepts an array of company names to exclude from results. (array)" }, "exclude_companies_filter": { "type": "string", "default": "both", "description": "Applies when exclude_companies is non-empty. current – Exclude if the company appears as the profile's current employer only.past – Exclude if it appears in past roles only.both – Exclude if it appears in either current or past experience. (string, default: both)" } }, "required": [ "education", "job_title", "keyword", "past_job_title", "skills" ] }