v4beta1

google.cloud.talent. v4beta1

Source:

Members

(static) ApplicationStage :number

The stage of the application.

Properties:
Name Type Description
APPLICATION_STAGE_UNSPECIFIED number

Default value.

NEW number

Candidate has applied or a recruiter put candidate into consideration but candidate is not yet screened / no decision has been made to move or not move the candidate to the next stage.

SCREEN number

A recruiter decided to screen the candidate for this role.

HIRING_MANAGER_REVIEW number

Candidate is being / was sent to the customer / hiring manager for detailed review.

INTERVIEW number

Candidate was approved by the client / hiring manager and is being / was interviewed for the role.

OFFER_EXTENDED number

Candidate will be / has been given an offer of employment.

OFFER_ACCEPTED number

Candidate has accepted their offer of employment.

STARTED number

Candidate has begun (or completed) their employment or assignment with the employer.

Source:

(static) ApplicationState :number

Enum that represents the application status.

Properties:
Name Type Description
APPLICATION_STATE_UNSPECIFIED number

Default value.

IN_PROGRESS number

The current stage is in progress or pending, for example, interviews in progress.

CANDIDATE_WITHDREW number

The current stage was terminated by a candidate decision.

EMPLOYER_WITHDREW number

The current stage was terminated by an employer or agency decision.

COMPLETED number

The current stage is successfully completed, but the next stage (if applicable) has not begun.

CLOSED number

The current stage was closed without an exception, or terminated for reasons unrealated to the candidate.

Source:

(static, constant) AvailabilitySignalType :number

The type of candidate availability signal.

Properties:
Name Type Description
AVAILABILITY_SIGNAL_TYPE_UNSPECIFIED number

Default value.

JOB_APPLICATION number

Job application signal.

In the context of Profile.availability_signals, this signal is related to the candidate's most recent application. last_update_time is calculated from max(Application.create_time) from all Application records where Application.source is any of the following: APPLY_DIRECT_WEB APPLY_DIRECT_MOBILE_WEB APPLY_DIRECT_MOBILE_APP APPLY_DIRECT_IN_PERSON APPLY_INDIRECT

In the context of AvailabilityFilter, the filter is applied on Profile.availability_signals where type is JOB_APPLICATION.

RESUME_UPDATE number

Resume update signal.

In the context of Profile.availability_signals, this signal is related to the candidate's most recent update to their resume. For a SummarizedProfile.summary, last_update_time is calculated from max(Profile.resume_update_time) from all SummarizedProfile.profiles.

In the context of AvailabilityFilter, the filter is applied on Profile.availability_signals where type is RESUME_UPDATE.

CANDIDATE_UPDATE number

Candidate update signal.

In the context of Profile.availability_signals, this signal is related to the candidate's most recent update to their profile. For a SummarizedProfile.summary, last_update_time is calculated from max(Profile.candidate_update_time) from all SummarizedProfile.profiles.

In the context of AvailabilityFilter, the filter is applied on Profile.availability_signals where type is CANDIDATE_UPDATE.

CLIENT_SUBMISSION number

Client submission signal.

In the context of Profile.availability_signals, this signal is related to the candidate's most recent submission. last_update_time is calculated from max(Application.create_time) from all Application records where Application.stage is any of the following: HIRING_MANAGER_REVIEW INTERVIEW OFFER_EXTENDED OFFER_ACCEPTED STARTED

In the context of AvailabilityFilter, the filter is applied on Profile.availability_signals where type is CLIENT_SUBMISSION.

Source:

(static, constant) CommuteMethod :number

Method for commute.

Properties:
Name Type Description
COMMUTE_METHOD_UNSPECIFIED number

Commute method isn't specified.

DRIVING number

Commute time is calculated based on driving time.

TRANSIT number

Commute time is calculated based on public transit including bus, metro, subway, and so on.

WALKING number

Commute time is calculated based on walking time.

CYCLING number

Commute time is calculated based on biking time.

Source:

(static, constant) CompanySize :number

An enum that represents the size of the company.

Properties:
Name Type Description
COMPANY_SIZE_UNSPECIFIED number

Default value if the size isn't specified.

MINI number

The company has less than 50 employees.

SMALL number

The company has between 50 and 99 employees.

SMEDIUM number

The company has between 100 and 499 employees.

MEDIUM number

The company has between 500 and 999 employees.

BIG number

The company has between 1,000 and 4,999 employees.

BIGGER number

The company has between 5,000 and 9,999 employees.

GIANT number

The company has 10,000 or more employees.

Source:

(static) CompensationType :number

The type of compensation.

For compensation amounts specified in non-monetary amounts, describe the compensation scheme in the CompensationEntry.description.

For example, tipping format is described in CompensationEntry.description (for example, "expect 15-20% tips based on customer bill.") and an estimate of the tips provided in CompensationEntry.amount or CompensationEntry.range ($10 per hour).

For example, equity is described in CompensationEntry.description (for example, "1% - 2% equity vesting over 4 years, 1 year cliff") and value estimated in CompensationEntry.amount or CompensationEntry.range. If no value estimate is possible, units are CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED and then further clarified in CompensationEntry.description field.

Properties:
Name Type Description
COMPENSATION_TYPE_UNSPECIFIED number

Default value.

BASE number

Base compensation: Refers to the fixed amount of money paid to an employee by an employer in return for work performed. Base compensation does not include benefits, bonuses or any other potential compensation from an employer.

BONUS number

Bonus.

SIGNING_BONUS number

Signing bonus.

EQUITY number

Equity.

PROFIT_SHARING number

Profit sharing.

COMMISSIONS number

Commission.

TIPS number

Tips.

OTHER_COMPENSATION_TYPE number

Other compensation type.

Source:

(static) CompensationUnit :number

Pay frequency.

Properties:
Name Type Description
COMPENSATION_UNIT_UNSPECIFIED number

Default value.

HOURLY number

Hourly.

DAILY number

Daily.

WEEKLY number

Weekly

MONTHLY number

Monthly.

YEARLY number

Yearly.

ONE_TIME number

One time.

OTHER_COMPENSATION_UNIT number

Other compensation units.

Source:

(static) CompletionScope :number

Enum to specify the scope of completion.

Properties:
Name Type Description
COMPLETION_SCOPE_UNSPECIFIED number

Default value.

TENANT number

Suggestions are based only on the data provided by the client.

PUBLIC number

Suggestions are based on all jobs data in the system that's visible to the client

Source:

(static) CompletionType :number

Enum to specify auto-completion topics.

Properties:
Name Type Description
COMPLETION_TYPE_UNSPECIFIED number

Default value.

JOB_TITLE number

Suggest job titles for jobs autocomplete.

For CompletionType.JOB_TITLE type, only open jobs with the same language_codes are returned.

COMPANY_NAME number

Suggest company names for jobs autocomplete.

For CompletionType.COMPANY_NAME type, only companies having open jobs with the same language_codes are returned.

COMBINED number

Suggest both job titles and company names for jobs autocomplete.

For CompletionType.COMBINED type, only open jobs with the same language_codes or companies having open jobs with the same language_codes are returned.

Source:

(static, constant) ContactInfoUsage :number

Enum that represents the usage of the contact information.

Properties:
Name Type Description
CONTACT_INFO_USAGE_UNSPECIFIED number

Default value.

PERSONAL number

Personal use.

WORK number

Work use.

SCHOOL number

School use.

Source:

(static) DataUsageType :number

Enum that represents how user data owned by the tenant is used.

Properties:
Name Type Description
DATA_USAGE_TYPE_UNSPECIFIED number

Default value.

AGGREGATED number

Data owned by this tenant is used to improve search/recommendation quality across tenants.

ISOLATED number

Data owned by this tenant is used to improve search/recommendation quality for this tenant only.

Source:

(static, constant) DegreeType :number

Educational degree level defined in International Standard Classification of Education (ISCED).

Properties:
Name Type Description
DEGREE_TYPE_UNSPECIFIED number

Default value. Represents no degree, or early childhood education. Maps to ISCED code 0. Ex) Kindergarten

PRIMARY_EDUCATION number

Primary education which is typically the first stage of compulsory education. ISCED code 1. Ex) Elementary school

LOWER_SECONDARY_EDUCATION number

Lower secondary education; First stage of secondary education building on primary education, typically with a more subject-oriented curriculum. ISCED code 2. Ex) Middle school

UPPER_SECONDARY_EDUCATION number

Middle education; Second/final stage of secondary education preparing for tertiary education and/or providing skills relevant to employment. Usually with an increased range of subject options and streams. ISCED code 3. Ex) High school

ADULT_REMEDIAL_EDUCATION number

Adult Remedial Education; Programmes providing learning experiences that build on secondary education and prepare for labour market entry and/or tertiary education. The content is broader than secondary but not as complex as tertiary education. ISCED code 4.

ASSOCIATES_OR_EQUIVALENT number

Associate's or equivalent; Short first tertiary programmes that are typically practically-based, occupationally-specific and prepare for labour market entry. These programmes may also provide a pathway to other tertiary programmes. ISCED code 5.

BACHELORS_OR_EQUIVALENT number

Bachelor's or equivalent; Programmes designed to provide intermediate academic and/or professional knowledge, skills and competencies leading to a first tertiary degree or equivalent qualification. ISCED code 6.

MASTERS_OR_EQUIVALENT number

Master's or equivalent; Programmes designed to provide advanced academic and/or professional knowledge, skills and competencies leading to a second tertiary degree or equivalent qualification. ISCED code 7.

DOCTORAL_OR_EQUIVALENT number

Doctoral or equivalent; Programmes designed primarily to lead to an advanced research qualification, usually concluding with the submission and defense of a substantive dissertation of publishable quality based on original research. ISCED code 8.

Source:

(static) DeviceType :number

An enumeration describing an API access portal and exposure mechanism.

Properties:
Name Type Description
DEVICE_TYPE_UNSPECIFIED number

The device type isn't specified.

WEB number

A desktop web browser, such as, Chrome, Firefox, Safari, or Internet Explorer)

MOBILE_WEB number

A mobile device web browser, such as a phone or tablet with a Chrome browser.

ANDROID number

An Android device native application.

IOS number

An iOS device native application.

BOT number

A bot, as opposed to a device operated by human beings, such as a web crawler.

OTHER number

Other devices types.

Source:

(static) DiversificationLevel :number

Controls whether highly similar jobs are returned next to each other in the search results. Jobs are identified as highly similar based on their titles, job categories, and locations. Highly similar results are clustered so that only one representative job of the cluster is displayed to the job seeker higher up in the results, with the other jobs being displayed lower down in the results.

Properties:
Name Type Description
DIVERSIFICATION_LEVEL_UNSPECIFIED number

The diversification level isn't specified.

DISABLED number

Disables diversification. Jobs that would normally be pushed to the last page would not have their positions altered. This may result in highly similar jobs appearing in sequence in the search results.

SIMPLE number

Default diversifying behavior. The result list is ordered so that highly similar results are pushed to the end of the last page of search results. If you are using pageToken to page through the result set, latency might be lower but we can't guarantee that all results are returned. If you are using page offset, latency might be higher but all results are returned.

Source:

(static) EmployerFilterMode :number

Enum indicating which set of Profile.employment_records to search against.

Properties:
Name Type Description
EMPLOYER_FILTER_MODE_UNSPECIFIED number

Default value.

ALL_EMPLOYMENT_RECORDS number

Apply to all employers in Profile.employment_records.

CURRENT_EMPLOYMENT_RECORDS_ONLY number

Apply only to current employer in Profile.employment_records.

PAST_EMPLOYMENT_RECORDS_ONLY number

Apply only to past (not current) employers in Profile.employment_records.

Source:

(static, constant) EmploymentType :number

An enum that represents the employment type of a job.

Properties:
Name Type Description
EMPLOYMENT_TYPE_UNSPECIFIED number

The default value if the employment type isn't specified.

FULL_TIME number

The job requires working a number of hours that constitute full time employment, typically 40 or more hours per week.

PART_TIME number

The job entails working fewer hours than a full time job, typically less than 40 hours a week.

CONTRACTOR number

The job is offered as a contracted, as opposed to a salaried employee, position.

CONTRACT_TO_HIRE number

The job is offered as a contracted position with the understanding that it's converted into a full-time position at the end of the contract. Jobs of this type are also returned by a search for EmploymentType.CONTRACTOR jobs.

TEMPORARY number

The job is offered as a temporary employment opportunity, usually a short-term engagement.

INTERN number

The job is a fixed-term opportunity for students or entry-level job seekers to obtain on-the-job training, typically offered as a summer position.

VOLUNTEER number

The is an opportunity for an individual to volunteer, where there's no expectation of compensation for the provided services.

PER_DIEM number

The job requires an employee to work on an as-needed basis with a flexible schedule.

FLY_IN_FLY_OUT number

The job involves employing people in remote areas and flying them temporarily to the work site instead of relocating employees and their families permanently.

OTHER_EMPLOYMENT_TYPE number

The job does not fit any of the other listed types.

Source:

(static) FilterType :number

Specify the type of filtering.

Properties:
Name Type Description
FILTER_TYPE_UNSPECIFIED number

Filter type unspecified. Position holder, INVALID, should never be used.

UNIT_ONLY number

Filter by base compensation entry's unit. A job is a match if and only if the job contains a base CompensationEntry and the base CompensationEntry's unit matches provided units. Populate one or more units.

See CompensationInfo.CompensationEntry for definition of base compensation entry.

UNIT_AND_AMOUNT number

Filter by base compensation entry's unit and amount / range. A job is a match if and only if the job contains a base CompensationEntry, and the base entry's unit matches provided CompensationUnit and amount or range overlaps with provided CompensationRange.

See CompensationInfo.CompensationEntry for definition of base compensation entry.

Set exactly one units and populate range.

ANNUALIZED_BASE_AMOUNT number

Filter by annualized base compensation amount and base compensation entry's unit. Populate range and zero or more units.

ANNUALIZED_TOTAL_AMOUNT number

Filter by annualized total compensation amount and base compensation entry's unit . Populate range and zero or more units.

Source:

(static, constant) HtmlSanitization :number

Option for HTML content sanitization on user input fields, for example, job description. By setting this option, user can determine whether and how sanitization is performed on these fields.

Properties:
Name Type Description
HTML_SANITIZATION_UNSPECIFIED number

Default value.

HTML_SANITIZATION_DISABLED number

Disables sanitization on HTML input.

SIMPLE_FORMATTING_ONLY number

Sanitizes HTML input, only accepts bold, italic, ordered list, and unordered list markup tags.

Source:

(static) ImportanceLevel :number

The importance level for CustomRankingInfo.ranking_expression.

Properties:
Name Type Description
IMPORTANCE_LEVEL_UNSPECIFIED number

Default value if the importance level isn't specified.

NONE number

The given ranking expression is of None importance, existing relevance score (determined by API algorithm) dominates job's final ranking position.

LOW number

The given ranking expression is of Low importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).

MILD number

The given ranking expression is of Mild importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).

MEDIUM number

The given ranking expression is of Medium importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).

HIGH number

The given ranking expression is of High importance in terms of job's final ranking position compared to existing relevance score (determined by API algorithm).

EXTREME number

The given ranking expression is of Extreme importance, and dominates job's final ranking position with existing relevance score (determined by API algorithm) ignored.

Source:

(static, constant) JobBenefit :number

An enum that represents employee benefits included with the job.

Properties:
Name Type Description
JOB_BENEFIT_UNSPECIFIED number

Default value if the type isn't specified.

CHILD_CARE number

The job includes access to programs that support child care, such as daycare.

DENTAL number

The job includes dental services covered by a dental insurance plan.

DOMESTIC_PARTNER number

The job offers specific benefits to domestic partners.

FLEXIBLE_HOURS number

The job allows for a flexible work schedule.

MEDICAL number

The job includes health services covered by a medical insurance plan.

LIFE_INSURANCE number

The job includes a life insurance plan provided by the employer or available for purchase by the employee.

PARENTAL_LEAVE number

The job allows for a leave of absence to a parent to care for a newborn child.

RETIREMENT_PLAN number

The job includes a workplace retirement plan provided by the employer or available for purchase by the employee.

SICK_DAYS number

The job allows for paid time off due to illness.

VACATION number

The job includes paid time off for vacation.

VISION number

The job includes vision services covered by a vision insurance plan.

Source:

(static, constant) JobCategory :number

An enum that represents the categorization or primary focus of specific role. This value is different than the "industry" associated with a role, which is related to the categorization of the company listing the job.

Properties:
Name Type Description
JOB_CATEGORY_UNSPECIFIED number

The default value if the category isn't specified.

ACCOUNTING_AND_FINANCE number

An accounting and finance job, such as an Accountant.

ADMINISTRATIVE_AND_OFFICE number

An administrative and office job, such as an Administrative Assistant.

ADVERTISING_AND_MARKETING number

An advertising and marketing job, such as Marketing Manager.

ANIMAL_CARE number

An animal care job, such as Veterinarian.

ART_FASHION_AND_DESIGN number

An art, fashion, or design job, such as Designer.

BUSINESS_OPERATIONS number

A business operations job, such as Business Operations Manager.

CLEANING_AND_FACILITIES number

A cleaning and facilities job, such as Custodial Staff.

COMPUTER_AND_IT number

A computer and IT job, such as Systems Administrator.

CONSTRUCTION number

A construction job, such as General Laborer.

CUSTOMER_SERVICE number

A customer service job, such s Cashier.

EDUCATION number

An education job, such as School Teacher.

ENTERTAINMENT_AND_TRAVEL number

An entertainment and travel job, such as Flight Attendant.

FARMING_AND_OUTDOORS number

A farming or outdoor job, such as Park Ranger.

HEALTHCARE number

A healthcare job, such as Registered Nurse.

HUMAN_RESOURCES number

A human resources job, such as Human Resources Director.

INSTALLATION_MAINTENANCE_AND_REPAIR number

An installation, maintenance, or repair job, such as Electrician.

LEGAL number

A legal job, such as Law Clerk.

MANAGEMENT number

A management job, often used in conjunction with another category, such as Store Manager.

MANUFACTURING_AND_WAREHOUSE number

A manufacturing or warehouse job, such as Assembly Technician.

MEDIA_COMMUNICATIONS_AND_WRITING number

A media, communications, or writing job, such as Media Relations.

OIL_GAS_AND_MINING number

An oil, gas or mining job, such as Offshore Driller.

PERSONAL_CARE_AND_SERVICES number

A personal care and services job, such as Hair Stylist.

PROTECTIVE_SERVICES number

A protective services job, such as Security Guard.

REAL_ESTATE number

A real estate job, such as Buyer's Agent.

RESTAURANT_AND_HOSPITALITY number

A restaurant and hospitality job, such as Restaurant Server.

SALES_AND_RETAIL number

A sales and/or retail job, such Sales Associate.

SCIENCE_AND_ENGINEERING number

A science and engineering job, such as Lab Technician.

SOCIAL_SERVICES_AND_NON_PROFIT number

A social services or non-profit job, such as Case Worker.

SPORTS_FITNESS_AND_RECREATION number

A sports, fitness, or recreation job, such as Personal Trainer.

TRANSPORTATION_AND_LOGISTICS number

A transportation or logistics job, such as Truck Driver.

Source:

(static) JobEventType :number

An enumeration of an event attributed to the behavior of the end user, such as a job seeker.

Properties:
Name Type Description
JOB_EVENT_TYPE_UNSPECIFIED number

The event is unspecified by other provided values.

IMPRESSION number

The job seeker or other entity interacting with the service has had a job rendered in their view, such as in a list of search results in a compressed or clipped format. This event is typically associated with the viewing of a jobs list on a single page by a job seeker.

VIEW number

The job seeker, or other entity interacting with the service, has viewed the details of a job, including the full description. This event doesn't apply to the viewing a snippet of a job appearing as a part of the job search results. Viewing a snippet is associated with an impression).

VIEW_REDIRECT number

The job seeker or other entity interacting with the service performed an action to view a job and was redirected to a different website for job.

APPLICATION_START number

The job seeker or other entity interacting with the service began the process or demonstrated the intention of applying for a job.

APPLICATION_FINISH number

The job seeker or other entity interacting with the service submitted an application for a job.

APPLICATION_QUICK_SUBMISSION number

The job seeker or other entity interacting with the service submitted an application for a job with a single click without entering information. If a job seeker performs this action, send only this event to the service. Do not also send JobEventType.APPLICATION_START or JobEventType.APPLICATION_FINISH events.

APPLICATION_REDIRECT number

The job seeker or other entity interacting with the service performed an action to apply to a job and was redirected to a different website to complete the application.

APPLICATION_START_FROM_SEARCH number

The job seeker or other entity interacting with the service began the process or demonstrated the intention of applying for a job from the search results page without viewing the details of the job posting. If sending this event, JobEventType.VIEW event shouldn't be sent.

APPLICATION_REDIRECT_FROM_SEARCH number

The job seeker, or other entity interacting with the service, performs an action with a single click from the search results page to apply to a job (without viewing the details of the job posting), and is redirected to a different website to complete the application. If a candidate performs this action, send only this event to the service. Do not also send JobEventType.APPLICATION_START, JobEventType.APPLICATION_FINISH or JobEventType.VIEW events.

APPLICATION_COMPANY_SUBMIT number

This event should be used when a company submits an application on behalf of a job seeker. This event is intended for use by staffing agencies attempting to place candidates.

BOOKMARK number

The job seeker or other entity interacting with the service demonstrated an interest in a job by bookmarking or saving it.

NOTIFICATION number

The job seeker or other entity interacting with the service was sent a notification, such as an email alert or device notification, containing one or more jobs listings generated by the service.

HIRED number

The job seeker or other entity interacting with the service was employed by the hiring entity (employer). Send this event only if the job seeker was hired through an application that was initiated by a search conducted through the Cloud Talent Solution service.

SENT_CV number

A recruiter or staffing agency submitted an application on behalf of the candidate after interacting with the service to identify a suitable job posting.

INTERVIEW_GRANTED number

The entity interacting with the service (for example, the job seeker), was granted an initial interview by the hiring entity (employer). This event should only be sent if the job seeker was granted an interview as part of an application that was initiated by a search conducted through / recommendation provided by the Cloud Talent Solution service.

Source:

(static, constant) JobLevel :number

An enum that represents the required experience level required for the job.

Properties:
Name Type Description
JOB_LEVEL_UNSPECIFIED number

The default value if the level isn't specified.

ENTRY_LEVEL number

Entry-level individual contributors, typically with less than 2 years of experience in a similar role. Includes interns.

EXPERIENCED number

Experienced individual contributors, typically with 2+ years of experience in a similar role.

MANAGER number

Entry- to mid-level managers responsible for managing a team of people.

DIRECTOR number

Senior-level managers responsible for managing teams of managers.

EXECUTIVE number

Executive-level managers and above, including C-level positions.

Source:

(static, constant) JobView :number

An enum that specifies the job attributes that are returned in the MatchingJob.job or ListJobsResponse.jobs fields.

Properties:
Name Type Description
JOB_VIEW_UNSPECIFIED number

Default value.

JOB_VIEW_ID_ONLY number

A ID only view of job, with following attributes: Job.name, Job.requisition_id, Job.language_code.

JOB_VIEW_MINIMAL number

A minimal view of the job, with the following attributes: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.language_code.

JOB_VIEW_SMALL number

A small view of the job, with the following attributes in the search results: Job.name, Job.requisition_id, Job.title, Job.company, Job.DerivedInfo.locations, Job.visibility, Job.language_code, Job.description.

JOB_VIEW_FULL number

All available attributes are included in the search results.

Source:

(static) LocationType :number

An enum which represents the type of a location.

Properties:
Name Type Description
LOCATION_TYPE_UNSPECIFIED number

Default value if the type isn't specified.

COUNTRY number

A country level location.

ADMINISTRATIVE_AREA number

A state or equivalent level location.

SUB_ADMINISTRATIVE_AREA number

A county or equivalent level location.

LOCALITY number

A city or equivalent level location.

POSTAL_CODE number

A postal code level location.

SUB_LOCALITY number

A sublocality is a subdivision of a locality, for example a city borough, ward, or arrondissement. Sublocalities are usually recognized by a local political authority. For example, Manhattan and Brooklyn are recognized as boroughs by the City of New York, and are therefore modeled as sublocalities.

SUB_LOCALITY_1 number

A district or equivalent level location.

SUB_LOCALITY_2 number

A smaller district or equivalent level display.

NEIGHBORHOOD number

A neighborhood level location.

STREET_ADDRESS number

A street address level location.

Source:

(static, constant) Outcome :number

The overall outcome /decision / result indicator.

Properties:
Name Type Description
OUTCOME_UNSPECIFIED number

Default value.

POSITIVE number

A positive outcome / passing indicator (for example, candidate was recommended for hiring or to be moved forward in the hiring process, candidate passed a test).

NEUTRAL number

A neutral outcome / no clear indicator (for example, no strong reccommendation either to move forward / not move forward, neutral score).

NEGATIVE number

A negative outcome / failing indicator (for example, candidate was recommended to NOT move forward in the hiring process, failed a test).

OUTCOME_NOT_AVAILABLE number

The assessment outcome is not available or otherwise unknown (for example, candidate did not complete assessment).

Source:

(static) PhoneType :number

Enum that represents the type of the telephone.

Properties:
Name Type Description
PHONE_TYPE_UNSPECIFIED number

Default value.

LANDLINE number

A landline.

MOBILE number

A mobile.

FAX number

A fax.

PAGER number

A pager.

TTY_OR_TDD number

A TTY (test telephone) or TDD (telecommunication device for the deaf).

VOICEMAIL number

A voicemail.

VIRTUAL number

A virtual telephone number is a number that can be routed to another number and managed by the user via Web, SMS, IVR, and so on. It is associated with a particular person, and may be routed to either a MOBILE or LANDLINE number. The phone usage should be set to PERSONAL for these phone types. Some more information can be found here: https://en.wikipedia.org/wiki/Personal_Numbers

VOIP number

Voice over IP numbers. This includes TSoIP (Telephony Service over IP).

MOBILE_OR_LANDLINE number

In some regions (e.g. the USA), it is impossible to distinguish between fixed-line and mobile numbers by looking at the phone number itself.

Source:

(static, constant) PostingRegion :number

An enum that represents the job posting region. In most cases, job postings don't need to specify a region. If a region is given, jobs are eligible for searches in the specified region.

Properties:
Name Type Description
POSTING_REGION_UNSPECIFIED number

If the region is unspecified, the job is only returned if it matches the LocationFilter.

ADMINISTRATIVE_AREA number

In addition to exact location matching, job posting is returned when the LocationFilter in the search query is in the same administrative area as the returned job posting. For example, if a ADMINISTRATIVE_AREA job is posted in "CA, USA", it's returned if LocationFilter has "Mountain View".

Administrative area refers to top-level administrative subdivision of this country. For example, US state, IT region, UK constituent nation and JP prefecture.

NATION number

In addition to exact location matching, job is returned when LocationFilter in search query is in the same country as this job. For example, if a NATION_WIDE job is posted in "USA", it's returned if LocationFilter has 'Mountain View'.

TELECOMMUTE number

Job allows employees to work remotely (telecommute). If locations are provided with this value, the job is considered as having a location, but telecommuting is allowed.

Source:

(static) ProfileEventType :number

The enum represents types of client events for a candidate profile.

Properties:
Name Type Description
PROFILE_EVENT_TYPE_UNSPECIFIED number

Default value.

IMPRESSION number

Send this event when a ProfileEvent.profiles was sent as a part of a result set for a CTS API call and was rendered in the end user's UI (that is, the ProfileEvent.recruiter).

VIEW number

The VIEW event records the action of a candidate's profile being viewed by an end user. This is critical to tracking product metrics and should be sent for every profile VIEW that happens in your system, whether the event is associated with an API call (for example, a recruiter making a request for a result set and clicking on a profile) or not (a recruiter using the system to view profile details without making a request).

For a VIEW events associated with API calls, the ClientEvent.request_id should be populated. If the VIEW is not associated with an API call, request_id should not be populated.

This event requires a valid recruiter and one valid ID in profiles.

BOOKMARK number

The profile is bookmarked.

Source:

(static) ResumeType :number

The format of a structured resume.

Properties:
Name Type Description
RESUME_TYPE_UNSPECIFIED number

Default value.

HRXML number

The profile contents in HR-XML format. See https://schemas.liquid-technologies.com/hr-xml/2007-04-15/ for more information about Human Resources XML.

OTHER_RESUME_TYPE number

Resume type not specified.

Source:

(static) RoadTraffic :number

The traffic density to use when calculating commute time.

Properties:
Name Type Description
ROAD_TRAFFIC_UNSPECIFIED number

Road traffic situation isn't specified.

TRAFFIC_FREE number

Optimal commute time without considering any traffic impact.

BUSY_HOUR number

Commute time calculation takes in account the peak traffic impact.

Source:

(static) SearchMode :number

A string-represented enumeration of the job search mode. The service operate differently for different modes of service.

Properties:
Name Type Description
SEARCH_MODE_UNSPECIFIED number

The mode of the search method isn't specified. The default search behavior is identical to JOB_SEARCH search behavior.

JOB_SEARCH number

The job search matches against all jobs, and featured jobs (jobs with promotionValue > 0) are not specially handled.

FEATURED_JOB_SEARCH number

The job search matches only against featured jobs (jobs with a promotionValue > 0). This method doesn't return any jobs having a promotionValue <= 0. The search results order is determined by the promotionValue (jobs with a higher promotionValue are returned higher up in the search results), with relevance being used as a tiebreaker.

Source:

(static, constant) SkillProficiencyLevel :number

Enum that represents the skill proficiency level.

Properties:
Name Type Description
SKILL_PROFICIENCY_LEVEL_UNSPECIFIED number

Default value.

UNSKILLED number

Lacks any proficiency in this skill.

FUNDAMENTAL_AWARENESS number

Have a common knowledge or an understanding of basic techniques and concepts.

NOVICE number

Have the level of experience gained in a classroom and/or experimental scenarios or as a trainee on-the-job.

INTERMEDIATE number

Be able to successfully complete tasks in this skill as requested. Help from an expert may be required from time to time, but can usually perform skill independently.

ADVANCED number

Can perform the actions associated with this skill without assistance.

EXPERT number

Known as an expert in this area.

Source:

(static) State :number

Properties:
Name Type Description
STATE_UNSPECIFIED number

Default value.

INITIALIZING number

The batch operation is being prepared for processing.

PROCESSING number

The batch operation is actively being processed.

SUCCEEDED number

The batch operation is processed, and at least one item has been successfully processed.

FAILED number

The batch operation is done and no item has been successfully processed.

CANCELLING number

The batch operation is in the process of cancelling after google.longrunning.Operations.CancelOperation is called.

CANCELLED number

The batch operation is done after google.longrunning.Operations.CancelOperation is called. Any items processed before cancelling are returned in the response.

Source:

(static) TelecommutePreference :number

Specify whether to include telecommute jobs.

Properties:
Name Type Description
TELECOMMUTE_PREFERENCE_UNSPECIFIED number

Default value if the telecommute preference isn't specified.

TELECOMMUTE_EXCLUDED number

Exclude telecommute jobs.

TELECOMMUTE_ALLOWED number

Allow telecommute jobs.

Source:

(static) TimeField :number

Time fields can be used in TimeFilter.

Properties:
Name Type Description
TIME_FIELD_UNSPECIFIED number

Default value.

CREATE_TIME number

Earliest profile create time.

UPDATE_TIME number

Latest profile update time.

Source:

(static, constant) Visibility :number

Deprecated. All resources are only visible to the owner.

An enum that represents who has view access to the resource.

Properties:
Name Type Description
VISIBILITY_UNSPECIFIED number

Default value.

ACCOUNT_ONLY number

The resource is only visible to the GCP account who owns it.

SHARED_WITH_GOOGLE number

The resource is visible to the owner and may be visible to other applications and processes at Google.

SHARED_WITH_PUBLIC number

The resource is visible to the owner and may be visible to all other API clients.

Source:

Type Definitions

Activity

Resource that represents an individual or collaborative activity participated in by a candidate, for example, an open-source project, a class assignment, and so on.

Properties:
Name Type Description
displayName string

Activity display name.

Number of characters allowed is 100.

description string

Activity description.

Number of characters allowed is 100,000.

uri string

Activity URI.

Number of characters allowed is 4,000.

createDate Object

The first creation date of the activity.

This object should have the same structure as Date

updateDate Object

The last update date of the activity.

This object should have the same structure as Date

teamMembers Array.<string>

A list of team members involved in this activity.

Number of characters allowed is 100.

The limitation for max number of team members is 50.

skillsUsed Array.<Object>

A list of skills used in this activity.

The limitation for max number of skills used is 50.

This object should have the same structure as Skill

activityNameSnippet string

Output only. Activity name snippet shows how the display_name is related to a search query. It's empty if the display_name isn't related to the search query.

activityDescriptionSnippet string

Output only. Activity description snippet shows how the description is related to a search query. It's empty if the description isn't related to the search query.

skillsUsedSnippet Array.<string>

Output only. Skill used snippet shows how the corresponding skills_used are related to a search query. It's empty if the corresponding skills_used are not related to the search query.

Source:
See:

AdditionalContactInfo

Resource that represents contact information other than phone, email, URI and addresses.

Properties:
Name Type Description
usage number

The usage of this contact method. For example, SCHOOL, WORK, PERSONAL.

The number should be among the values of ContactInfoUsage

name string

The name of the contact method.

For example, "hangout", "skype".

Number of characters allowed is 100.

contactId string

The contact id.

Number of characters allowed is 100.

Source:
See:

Address

Resource that represents a address.

Properties:
Name Type Description
usage number

The usage of the address. For example, SCHOOL, WORK, PERSONAL.

The number should be among the values of ContactInfoUsage

unstructuredAddress string

Unstructured address.

For example, "1600 Amphitheatre Pkwy, Mountain View, CA 94043", "Sunnyvale, California".

Number of characters allowed is 100.

structuredAddress Object

Structured address that contains street address, city, state, country, and so on.

This object should have the same structure as PostalAddress

current Object

Indicates if it's the person's current address.

This object should have the same structure as BoolValue

Source:
See:

Application

Resource that represents a job application record of a candidate.

Properties:
Name Type Description
name string

Required during application update.

Resource name assigned to an application by the API.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}/applications/{application_id}". For example, "projects/foo/tenants/bar/profiles/baz/applications/qux".

externalId string

Required. Client side application identifier, used to uniquely identify the application.

The maximum number of allowed characters is 255.

profile string

Output only. Resource name of the candidate of this application.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}". For example, "projects/foo/tenants/bar/profiles/baz".

job string

One of either a job or a company is required.

Resource name of the job which the candidate applied for.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz".

company string

One of either a job or a company is required.

Resource name of the company which the candidate applied for.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz".

applicationDate Object

The application date.

This object should have the same structure as Date

stage number

Required. What is the most recent stage of the application (that is, new, screen, send cv, hired, finished work)? This field is intentionally not comprehensive of every possible status, but instead, represents statuses that would be used to indicate to the ML models good / bad matches.

The number should be among the values of ApplicationStage

state number

The application state.

The number should be among the values of ApplicationState

interviews Array.<Object>

All interviews (screen, onsite, and so on) conducted as part of this application (includes details such as user conducting the interview, timestamp, feedback, and so on).

This object should have the same structure as Interview

referral Object

If the candidate is referred by a employee.

This object should have the same structure as BoolValue

createTime Object

Required. Reflects the time that the application was created.

This object should have the same structure as Timestamp

updateTime Object

The last update timestamp.

This object should have the same structure as Timestamp

outcomeNotes string

Free text reason behind the recruitement outcome (for example, reason for withdraw / reject, reason for an unsuccessful finish, and so on).

Number of characters allowed is 100.

outcome number

Outcome positiveness shows how positive the outcome is.

The number should be among the values of Outcome

isMatch Object

Output only. Indicates whether this job application is a match to application related filters. This value is only applicable in profile search response.

This object should have the same structure as BoolValue

jobTitleSnippet string

Output only. Job title snippet shows how the job title is related to a search query. It's empty if the job title isn't related to the search query.

Source:
See:

ApplicationDateFilter

Application Date Range Filter.

The API matches profiles with Application.application_date between start date and end date (both boundaries are inclusive). The filter is ignored if both start_date and end_date are missing.

Properties:
Name Type Description
startDate Object

Start date. If it's missing, The API matches profiles with application date not after the end date.

This object should have the same structure as Date

endDate Object

End date. If it's missing, The API matches profiles with application date not before the start date.

This object should have the same structure as Date

Source:
See:

ApplicationInfo

Application related details of a job posting.

Properties:
Name Type Description
emails Array.<string>

Use this field to specify email address(es) to which resumes or applications can be sent.

The maximum number of allowed characters for each entry is 255.

instruction string

Use this field to provide instructions, such as "Mail your application to ...", that a candidate can follow to apply for the job.

This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags.

The maximum number of allowed characters is 3,000.

uris Array.<string>

Use this URI field to direct an applicant to a website, for example to link to an online application form.

The maximum number of allowed characters for each entry is 2,000.

Source:
See:

ApplicationJobFilter

Filter on the job information of Application.

Properties:
Name Type Description
jobRequisitionId string

The job requisition id in the application. The API does an exact match on the Job.requisition_id of Application.job in profiles.

jobTitle string

The job title in the application. The API does an exact match on the Job.title of Application.job in profiles.

negated boolean

If true, the API excludes all profiles with any Application.job matching the filters.

Source:
See:

ApplicationOutcomeNotesFilter

Outcome Notes Filter.

Properties:
Name Type Description
outcomeNotes string

Required. User entered or selected outcome reason. The API does an exact match on the Application.outcome_notes in profiles.

negated boolean

If true, The API excludes all candidates with any Application.outcome_notes matching the outcome reason specified in the filter.

Source:
See:

AvailabilityFilter

Filter on availability signals.

Properties:
Name Type Description
signalType number

Required. Type of signal to apply filter on.

The number should be among the values of AvailabilitySignalType

range Object

Required. Range of times to filter candidate signals by.

This object should have the same structure as TimestampRange

required boolean

If multiple AvailabilityFilter are provided, the default behavior is to OR all filters, but if this field is set to true, this particular AvailabilityFilter will be AND'ed against other AvailabilityFilter.

Source:
See:

AvailabilitySignal

Candidate availability signal.

Properties:
Name Type Description
type number

Type of signal.

The number should be among the values of AvailabilitySignalType

lastUpdateTime Object

Timestamp of when the given availability activity last happened.

This object should have the same structure as Timestamp

filterSatisfied Object

Indicates if the last_update_time is within AvailabilityFilter.range.

Returned only in a search response when there is an AvailabilityFilter in ProfileQuery.availability_filters where signal_type matches type.

This object should have the same structure as BoolValue

Source:
See:

BatchCreateJobsRequest

Request to create a batch of jobs.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the job is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created. For example, "projects/foo".

jobs Array.<Object>

Required. The jobs to be created.

This object should have the same structure as Job

Source:
See:

BatchDeleteJobsRequest

Batch delete jobs request.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the job is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created. For example, "projects/foo".

filter string

Required. The filter string specifies the jobs to be deleted.

Supported operator: =, AND

The fields eligible for filtering are:

  • companyName (Required)
  • requisitionId (Required)

Sample Query: companyName = "projects/foo/companies/bar" AND requisitionId = "req-1"

Source:
See:

BatchOperationMetadata

Metadata used for long running operations returned by CTS batch APIs. It's used to replace google.longrunning.Operation.metadata.

Properties:
Name Type Description
state number

The state of a long running operation.

The number should be among the values of State

stateDescription string

More detailed information about operation state.

successCount number

Count of successful item(s) inside an operation.

failureCount number

Count of failed item(s) inside an operation.

totalCount number

Count of total item(s) inside an operation.

createTime Object

The time when the batch operation is created.

This object should have the same structure as Timestamp

updateTime Object

The time when the batch operation status is updated. The metadata and the update_time is refreshed every minute otherwise cached data is returned.

This object should have the same structure as Timestamp

endTime Object

The time when the batch operation is finished and google.longrunning.Operation.done is set to true.

This object should have the same structure as Timestamp

Source:
See:

BatchUpdateJobsRequest

Request to update a batch of jobs.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the job is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created. For example, "projects/foo".

jobs Array.<Object>

Required. The jobs to be updated.

This object should have the same structure as Job

updateMask Object

Strongly recommended for the best service experience. Be aware that it will also increase latency when checking the status of a batch operation.

If update_mask is provided, only the specified fields in Job are updated. Otherwise all the fields are updated.

A field mask to restrict the fields that are updated. Only top level fields of Job are supported.

If update_mask is provided, The Job inside JobResult will only contains fields that is updated, plus the Id of the Job. Otherwise, Job will include all fields, which can yield a very large response.

This object should have the same structure as FieldMask

Source:
See:

CandidateAvailabilityFilter

Deprecated. Use AvailabilityFilter instead.

Filter on availability signals.

Properties:
Name Type Description
negated boolean

It is false by default. If true, API excludes all the potential available profiles.

Source:
See:

Certification

Resource that represents a license or certification.

Properties:
Name Type Description
displayName string

Name of license or certification.

Number of characters allowed is 100.

acquireDate Object

Acquisition date or effective date of license or certification.

This object should have the same structure as Date

expireDate Object

Expiration date of license of certification.

This object should have the same structure as Date

authority string

Authority of license, such as government.

Number of characters allowed is 100.

description string

Description of license or certification.

Number of characters allowed is 100,000.

Source:
See:

ClientEvent

An event issued when an end user interacts with the application that implements Cloud Talent Solution. Providing this information improves the quality of results for the API clients, enabling the service to perform optimally. The number of events sent must be consistent with other calls, such as job searches, issued to the service by the client.

Properties:
Name Type Description
requestId string

Strongly recommended for the best service experience.

A unique ID generated in the API responses. It can be found in ResponseMetadata.request_id.

eventId string

Required. A unique identifier, generated by the client application.

createTime Object

Required. The timestamp of the event.

This object should have the same structure as Timestamp

jobEvent Object

An event issued when a job seeker interacts with the application that implements Cloud Talent Solution.

This object should have the same structure as JobEvent

profileEvent Object

An event issued when a profile searcher interacts with the application that implements Cloud Talent Solution.

This object should have the same structure as ProfileEvent

eventNotes string

Notes about the event provided by recruiters or other users, for example, feedback on why a profile was bookmarked.

Source:
See:

CommuteFilter

Parameters needed for commute search.

Properties:
Name Type Description
commuteMethod number

Required. The method of transportation to calculate the commute time for.

The number should be among the values of CommuteMethod

startCoordinates Object

Required. The latitude and longitude of the location to calculate the commute time from.

This object should have the same structure as LatLng

travelDuration Object

Required. The maximum travel time in seconds. The maximum allowed value is 3600s (one hour). Format is 123s.

This object should have the same structure as Duration

allowImpreciseAddresses boolean

If true, jobs without street level addresses may also be returned. For city level addresses, the city center is used. For state and coarser level addresses, text matching is used. If this field is set to false or isn't specified, only jobs that include street level addresses will be returned by commute search.

roadTraffic number

Specifies the traffic density to use when calculating commute time.

The number should be among the values of RoadTraffic

departureTime Object

The departure time used to calculate traffic impact, represented as google.type.TimeOfDay in local time zone.

Currently traffic model is restricted to hour level resolution.

This object should have the same structure as TimeOfDay

Source:
See:

CommuteInfo

Commute details related to this job.

Properties:
Name Type Description
jobLocation Object

Location used as the destination in the commute calculation.

This object should have the same structure as Location

travelDuration Object

The number of seconds required to travel to the job location from the query location. A duration of 0 seconds indicates that the job isn't reachable within the requested duration, but was returned as part of an expanded query.

This object should have the same structure as Duration

Source:
See:

Company

A Company resource represents a company in the service. A company is the entity that owns job postings, that is, the hiring entity responsible for employing applicants for the job position.

Properties:
Name Type Description
name string

Required during company update.

The resource name for a company. This is generated by the service when a company is created.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/companies/bar".

displayName string

Required. The display name of the company, for example, "Google LLC".

externalId string

Required. Client side company identifier, used to uniquely identify the company.

The maximum number of allowed characters is 255.

size number

The employer's company size.

The number should be among the values of CompanySize

headquartersAddress string

The street address of the company's main headquarters, which may be different from the job location. The service attempts to geolocate the provided address, and populates a more specific location wherever possible in DerivedInfo.headquarters_location.

hiringAgency boolean

Set to true if it is the hiring agency that post jobs for other employers.

Defaults to false if not provided.

eeoText string

Equal Employment Opportunity legal disclaimer text to be associated with all jobs, and typically to be displayed in all roles.

The maximum number of allowed characters is 500.

websiteUri string

The URI representing the company's primary web site or home page, for example, https://www.google.com.

The maximum number of allowed characters is 255.

careerSiteUri string

The URI to employer's career site or careers page on the employer's web site, for example, "https://careers.google.com".

imageUri string

A URI that hosts the employer's company logo.

keywordSearchableJobCustomAttributes Array.<string>

A list of keys of filterable Job.custom_attributes, whose corresponding string_values are used in keyword searches. Jobs with string_values under these specified field keys are returned if any of the values match the search keyword. Custom field values with parenthesis, brackets and special symbols are not searchable as-is, and those keyword queries must be surrounded by quotes.

derivedInfo Object

Output only. Derived details about the company.

This object should have the same structure as DerivedInfo

suspended boolean

Output only. Indicates whether a company is flagged to be suspended from public availability by the service when job content appears suspicious, abusive, or spammy.

Source:
See:

CompensationEntry

A compensation entry that represents one component of compensation, such as base pay, bonus, or other compensation type.

Annualization: One compensation entry can be annualized if

  • it contains valid amount or range.
  • and its expected_units_per_year is set or can be derived. Its annualized range is determined as (amount or range) times expected_units_per_year.
Properties:
Name Type Description
type number

Compensation type.

Default is CompensationType.COMPENSATION_TYPE_UNSPECIFIED.

The number should be among the values of CompensationType

unit number

Frequency of the specified amount.

Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.

The number should be among the values of CompensationUnit

amount Object

Compensation amount.

This object should have the same structure as Money

range Object

Compensation range.

This object should have the same structure as CompensationRange

description string

Compensation description. For example, could indicate equity terms or provide additional context to an estimated bonus.

expectedUnitsPerYear Object

Expected number of units paid each year. If not specified, when Job.employment_types is FULLTIME, a default value is inferred based on unit. Default values:

  • HOURLY: 2080
  • DAILY: 260
  • WEEKLY: 52
  • MONTHLY: 12
  • ANNUAL: 1

This object should have the same structure as DoubleValue

Source:
See:

CompensationFilter

Filter on job compensation type and amount.

Properties:
Name Type Description
type number

Required. Type of filter.

The number should be among the values of FilterType

units Array.<number>

Required. Specify desired base compensation entry's CompensationInfo.CompensationUnit.

The number should be among the values of CompensationUnit

range Object

Compensation range.

This object should have the same structure as CompensationRange

includeJobsWithUnspecifiedCompensationRange boolean

If set to true, jobs with unspecified compensation range fields are included.

Source:
See:

CompensationInfo

Job compensation details.

Properties:
Name Type Description
entries Array.<Object>

Job compensation information.

At most one entry can be of type CompensationInfo.CompensationType.BASE, which is referred as base compensation entry for the job.

This object should have the same structure as CompensationEntry

annualizedBaseCompensationRange Object

Output only. Annualized base compensation range. Computed as base compensation entry's CompensationEntry.amount times CompensationEntry.expected_units_per_year.

See CompensationEntry for explanation on compensation annualization.

This object should have the same structure as CompensationRange

annualizedTotalCompensationRange Object

Output only. Annualized total compensation range. Computed as all compensation entries' CompensationEntry.amount times CompensationEntry.expected_units_per_year.

See CompensationEntry for explanation on compensation annualization.

This object should have the same structure as CompensationRange

Source:
See:

CompensationRange

Compensation range.

Properties:
Name Type Description
maxCompensation Object

The maximum amount of compensation. If left empty, the value is set to a maximal compensation value and the currency code is set to match the currency code of min_compensation.

This object should have the same structure as Money

minCompensation Object

The minimum amount of compensation. If left empty, the value is set to zero and the currency code is set to match the currency code of max_compensation.

This object should have the same structure as Money

Source:
See:

CompleteQueryRequest

Auto-complete parameters.

Properties:
Name Type Description
parent string

Required. Resource name of tenant the completion is performed within.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenant/bar".

If tenant id is unspecified, the default tenant is used, for example, "projects/foo".

query string

Required. The query used to generate suggestions.

The maximum number of allowed characters is 255.

languageCodes Array.<string>

The list of languages of the query. This is the BCP-47 language code, such as "en-US" or "sr-Latn". For more information, see Tags for Identifying Languages.

The maximum number of allowed characters is 255.

pageSize number

Required. Completion result count.

The maximum allowed page size is 10.

company string

If provided, restricts completion to specified company.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz".

If tenant id is unspecified, the default tenant is used, for example, "projects/foo".

scope number

The scope of the completion. The defaults is CompletionScope.PUBLIC.

The number should be among the values of CompletionScope

type number

The completion topic. The default is CompletionType.COMBINED.

The number should be among the values of CompletionType

Source:
See:

CompleteQueryResponse

Response of auto-complete query.

Properties:
Name Type Description
completionResults Array.<Object>

Results of the matching job/company candidates.

This object should have the same structure as CompletionResult

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

Source:
See:

CompletionResult

Resource that represents completion results.

Properties:
Name Type Description
suggestion string

The suggestion for the query.

type number

The completion topic.

The number should be among the values of CompletionType

imageUri string

The URI of the company image for COMPANY_NAME.

Source:
See:

CreateApplicationRequest

The Request of the CreateApplication method.

Properties:
Name Type Description
parent string

Required. Resource name of the profile under which the application is created.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}". For example, "projects/foo/tenants/bar/profiles/baz".

application Object

Required. The application to be created.

This object should have the same structure as Application

Source:
See:

CreateClientEventRequest

The report event request.

Properties:
Name Type Description
parent string

Required. Resource name of the tenant under which the event is created.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created, for example, "projects/foo".

clientEvent Object

Required. Events issued when end user interacts with customer's application that uses Cloud Talent Solution.

This object should have the same structure as ClientEvent

Source:
See:

CreateCompanyRequest

The Request of the CreateCompany method.

Properties:
Name Type Description
parent string

Required. Resource name of the tenant under which the company is created.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created, for example, "projects/foo".

company Object

Required. The company to be created.

This object should have the same structure as Company

Source:
See:

CreateJobRequest

Create job request.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the job is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified a default tenant is created. For example, "projects/foo".

job Object

Required. The Job to be created.

This object should have the same structure as Job

Source:
See:

CreateProfileRequest

Create profile request.

Properties:
Name Type Description
parent string

Required. The name of the tenant this profile belongs to.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenants/bar".

profile Object

Required. The profile to be created.

This object should have the same structure as Profile

Source:
See:

CreateTenantRequest

The Request of the CreateTenant method.

Properties:
Name Type Description
parent string

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

tenant Object

Required. The tenant to be created.

This object should have the same structure as Tenant

Source:
See:

CustomAttribute

Custom attribute values that are either filterable or non-filterable.

Properties:
Name Type Description
stringValues Array.<string>

Exactly one of string_values or long_values must be specified.

This field is used to perform a string match (CASE_SENSITIVE_MATCH or CASE_INSENSITIVE_MATCH) search. For filterable string_values, a maximum total number of 200 values is allowed, with each string_value has a byte size of no more than 500B. For unfilterable string_values, the maximum total byte size of unfilterable string_values is 50KB.

Empty string isn't allowed.

longValues Array.<number>

Exactly one of string_values or long_values must be specified.

This field is used to perform number range search. (EQ, GT, GE, LE, LT) over filterable long_value.

Currently at most 1 long_values is supported.

filterable boolean

If the filterable flag is true, custom field values are searchable. If false, values are not searchable.

Default is false.

Source:
See:

CustomRankingInfo

Custom ranking information for SearchJobsRequest.

Properties:
Name Type Description
importanceLevel number

Required. Controls over how important the score of CustomRankingInfo.ranking_expression gets applied to job's final ranking position.

An error is thrown if not specified.

The number should be among the values of ImportanceLevel

rankingExpression string

Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position.

The syntax for this expression is a subset of Google SQL syntax.

Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number.

Parenthesis are supported to adjust calculation precedence. The expression must be < 100 characters in length.

The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results.

Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)

Source:
See:

Degree

Resource that represents a degree pursuing or acquired by a candidate.

Properties:
Name Type Description
degreeType number

ISCED degree type.

The number should be among the values of DegreeType

degreeName string

Full Degree name.

For example, "B.S.", "Master of Arts", and so on.

Number of characters allowed is 100.

fieldsOfStudy Array.<string>

Fields of study for the degree.

For example, "Computer science", "engineering".

Number of characters allowed is 100.

Source:
See:

DeleteApplicationRequest

Request to delete a application.

Properties:
Name Type Description
name string

Required. The resource name of the application to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}/applications/{application_id}". For example, "projects/foo/tenants/bar/profiles/baz/applications/qux".

Source:
See:

DeleteCompanyRequest

Request to delete a company.

Properties:
Name Type Description
name string

Required. The resource name of the company to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz".

If tenant id is unspecified, the default tenant is used, for example, "projects/foo/companies/bar".

Source:
See:

DeleteJobRequest

Delete job request.

Properties:
Name Type Description
name string

Required. The resource name of the job to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/jobs/bar".

Source:
See:

DeleteProfileRequest

Delete profile request.

Properties:
Name Type Description
name string

Required. Resource name of the profile to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}". For example, "projects/foo/tenants/bar/profiles/baz".

Source:
See:

DeleteTenantRequest

Request to delete a tenant.

Properties:
Name Type Description
name string

Required. The resource name of the tenant to be deleted.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

Source:
See:

DerivedInfo

Derived details about the job posting.

Properties:
Name Type Description
locations Array.<Object>

Structured locations of the job, resolved from Job.addresses.

locations are exactly matched to Job.addresses in the same order.

This object should have the same structure as Location

jobCategories Array.<number>

Job categories derived from Job.title and Job.description.

The number should be among the values of JobCategory

Source:
See:

DerivedInfo

Derived details about the company.

Properties:
Name Type Description
headquartersLocation Object

A structured headquarters location of the company, resolved from Company.headquarters_address if provided.

This object should have the same structure as Location

Source:
See:

DeviceInfo

Device information collected from the job seeker, candidate, or other entity conducting the job search. Providing this information improves the quality of the search results across devices.

Properties:
Name Type Description
deviceType number

Type of the device.

The number should be among the values of DeviceType

id string

A device-specific ID. The ID must be a unique identifier that distinguishes the device from other devices.

Source:
See:

EducationFilter

Education filter of the search.

Properties:
Name Type Description
school string

The school name. For example "MIT", "University of California, Berkeley".

fieldOfStudy string

The field of study. This is to search against value provided in Degree.fields_of_study. For example "Computer Science", "Mathematics".

degreeType number

Education degree in ISCED code. Each value in degree covers a specific level of education, without any expansion to upper nor lower levels of education degree.

The number should be among the values of DegreeType

negated boolean

Whether to apply negation to the filter so profiles matching the filter is excluded.

Source:
See:

EducationRecord

Resource that represents an education record of a candidate.

Properties:
Name Type Description
startDate Object

The start date of the education.

This object should have the same structure as Date

endDate Object

The end date of the education.

This object should have the same structure as Date

expectedGraduationDate Object

The expected graduation date if currently pursuing a degree.

This object should have the same structure as Date

schoolName string

The name of the school or institution.

For example, "Stanford University", "UC Berkeley", and so on.

Number of characters allowed is 250.

address Object

The physical address of the education institution.

This object should have the same structure as Address

degreeDescription string

The full description of the degree.

For example, "Master of Science in Computer Science", "B.S in Math".

Number of characters allowed is 100.

structuredDegree Object

The structured notation of the degree.

This object should have the same structure as Degree

description string

The description of the education.

Number of characters allowed is 100,000.

isCurrent Object

If this education is current.

This object should have the same structure as BoolValue

schoolNameSnippet string

Output only. The school name snippet shows how the school_name is related to a search query in search result. It's empty if the school_name isn't related to the search query.

degreeSnippet string

Output only. The job description snippet shows how the Degree is related to a search query in search result. It's empty if the Degree isn't related to the search query.

Source:
See:

Email

Resource that represents a person's email address.

Properties:
Name Type Description
usage number

The usage of the email address. For example, SCHOOL, WORK, PERSONAL.

The number should be among the values of ContactInfoUsage

emailAddress string

Email address.

Number of characters allowed is 4,000.

Source:
See:

EmployerFilter

Employer filter of the search.

Properties:
Name Type Description
employer string

Required. The name of the employer, for example "Google", "Alphabet".

mode number

Define set of EmploymentRecords to search against.

Defaults to EmployerFilterMode.ALL_EMPLOYMENT_RECORDS.

The number should be among the values of EmployerFilterMode

negated boolean

Whether to apply negation to the filter so profiles matching the filter is excluded.

Source:
See:

EmploymentRecord

Resource that represents an employment record of a candidate.

Properties:
Name Type Description
startDate Object

Start date of the employment.

This object should have the same structure as Date

endDate Object

End date of the employment.

This object should have the same structure as Date

employerName string

The name of the employer company/organization.

For example, "Google", "Alphabet", and so on.

Number of characters allowed is 250.

divisionName string

The division name of the employment.

For example, division, department, client, and so on.

Number of characters allowed is 100.

address Object

The physical address of the employer.

This object should have the same structure as Address

jobTitle string

The job title of the employment.

For example, "Software Engineer", "Data Scientist", and so on.

Number of characters allowed is 250.

jobDescription string

The description of job content.

Number of characters allowed is 100,000.

isSupervisor Object

If the jobs is a supervisor position.

This object should have the same structure as BoolValue

isSelfEmployed Object

If this employment is self-employed.

This object should have the same structure as BoolValue

isCurrent Object

If this employment is current.

This object should have the same structure as BoolValue

jobTitleSnippet string

Output only. The job title snippet shows how the job_title is related to a search query. It's empty if the job_title isn't related to the search query.

jobDescriptionSnippet string

Output only. The job description snippet shows how the job_description is related to a search query. It's empty if the job_description isn't related to the search query.

employerNameSnippet string

Output only. The employer name snippet shows how the employer_name is related to a search query. It's empty if the employer_name isn't related to the search query.

Source:
See:

GetApplicationRequest

Request for getting a application by name.

Properties:
Name Type Description
name string

Required. The resource name of the application to be retrieved.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}/applications/{application_id}". For example, "projects/foo/tenants/bar/profiles/baz/applications/qux".

Source:
See:

GetCompanyRequest

Request for getting a company by name.

Properties:
Name Type Description
name string

Required. The resource name of the company to be retrieved.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/api-test-project/tenants/foo/companies/bar".

If tenant id is unspecified, the default tenant is used, for example, "projects/api-test-project/companies/bar".

Source:
See:

GetJobRequest

Get job request.

Properties:
Name Type Description
name string

Required. The resource name of the job to retrieve.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/jobs/bar".

Source:
See:

GetProfileRequest

Get profile request.

Properties:
Name Type Description
name string

Required. Resource name of the profile to get.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}". For example, "projects/foo/tenants/bar/profiles/baz".

Source:
See:

GetTenantRequest

Request for getting a tenant by name.

Properties:
Name Type Description
name string

Required. The resource name of the tenant to be retrieved.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

Source:
See:

HistogramQuery

The histogram request.

Properties:
Name Type Description
histogramQuery string

An expression specifies a histogram request against matching resources (for example, jobs, profiles) for searches.

See SearchJobsRequest.histogram_queries and SearchProfilesRequest.histogram_queries for details about syntax.

Source:
See:

HistogramQueryResult

Histogram result that matches HistogramQuery specified in searches.

Properties:
Name Type Description
histogramQuery string

Requested histogram expression.

histogram Object.<string, number>

A map from the values of the facet associated with distinct values to the number of matching entries with corresponding value.

The key format is:

  • (for string histogram) string values stored in the field.
  • (for named numeric bucket) name specified in bucket() function, like for bucket(0, MAX, "non-negative"), the key will be non-negative.
  • (for anonymous numeric bucket) range formatted as <low>-<high>, for example, 0-1000, MIN-0, and 0-MAX.
Source:
See:

Interview

Details of an interview.

Properties:
Name Type Description
rating Object

The rating on this interview.

This object should have the same structure as Rating

outcome number

Required. The overall decision resulting from this interview (positive, negative, nuetral).

The number should be among the values of Outcome

Source:
See:

Job

A Job resource represents a job posting (also referred to as a "job listing" or "job requisition"). A job belongs to a Company, which is the hiring entity responsible for the job.

Properties:
Name Type Description
name string

Required during job update.

The resource name for the job. This is generated by the service when a job is created.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For example, "projects/foo/tenants/bar/jobs/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/jobs/bar".

Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique.

company string

Required. The resource name of the company listing the job.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/companies/bar".

requisitionId string

Required. The requisition ID, also referred to as the posting ID, is assigned by the client to identify a job. This field is intended to be used by clients for client identification and tracking of postings. A job isn't allowed to be created if there is another job with the same company, language_code and requisition_id.

The maximum number of allowed characters is 255.

title string

Required. The title of the job, such as "Software Engineer"

The maximum number of allowed characters is 500.

description string

Required. The description of the job, which typically includes a multi-paragraph description of the company and related information. Separate fields are provided on the job object for responsibilities, qualifications, and other job characteristics. Use of these separate job fields is recommended.

This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags.

The maximum number of allowed characters is 100,000.

addresses Array.<string>

Strongly recommended for the best service experience.

Location(s) where the employer is looking to hire for this job posting.

Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time.

At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience.

The maximum number of allowed characters is 500.

applicationInfo Object

Job application information.

This object should have the same structure as ApplicationInfo

jobBenefits Array.<number>

The benefits included with the job.

The number should be among the values of JobBenefit

compensationInfo Object

Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee.

This object should have the same structure as CompensationInfo

customAttributes Object.<string, Object>

A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields.

The keys of the map are strings up to 64 bytes and must match the pattern: [a-zA-Z][a-zA-Z0-9_]*. For example, key0LikeThis or KEY_1_LIKE_THIS.

At most 100 filterable and at most 100 unfilterable keys are supported. For filterable string_values, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable string_values, the maximum total size of string_values across all keys is 50KB.

degreeTypes Array.<number>

The desired education degrees for the job, such as Bachelors, Masters.

The number should be among the values of DegreeType

department string

The department or functional area within the company with the open position.

The maximum number of allowed characters is 255.

employmentTypes Array.<number>

The employment type(s) of a job, for example, full time or part time.

The number should be among the values of EmploymentType

incentives string

A description of bonus, commission, and other compensation incentives associated with the job not including salary or pay.

The maximum number of allowed characters is 10,000.

languageCode string

The language of the posting. This field is distinct from any requirements for fluency that are associated with the job.

Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". For more information, see Tags for Identifying Languages{: class="external" target="_blank" }.

If this field is unspecified and Job.description is present, detected language code based on Job.description is assigned, otherwise defaults to 'en_US'.

jobLevel number

The experience level associated with the job, such as "Entry Level".

The number should be among the values of JobLevel

promotionValue number

A promotion value of the job, as determined by the client. The value determines the sort order of the jobs returned when searching for jobs using the featured jobs search call, with higher promotional values being returned first and ties being resolved by relevance sort. Only the jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH.

Default value is 0, and negative values are treated as 0.

qualifications string

A description of the qualifications required to perform the job. The use of this field is recommended as an alternative to using the more general description field.

This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags.

The maximum number of allowed characters is 10,000.

responsibilities string

A description of job responsibilities. The use of this field is recommended as an alternative to using the more general description field.

This field accepts and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list markup tags.

The maximum number of allowed characters is 10,000.

postingRegion number

The job PostingRegion (for example, state, country) throughout which the job is available. If this field is set, a LocationFilter in a search query within the job region finds this job posting if an exact location match isn't specified. If this field is set to PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the same location level as this field is strongly recommended.

The number should be among the values of PostingRegion

visibility number

Deprecated. The job is only visible to the owner.

The visibility of the job.

Defaults to Visibility.ACCOUNT_ONLY if not specified.

The number should be among the values of Visibility

jobStartTime Object

The start timestamp of the job in UTC time zone. Typically this field is used for contracting engagements. Invalid timestamps are ignored.

This object should have the same structure as Timestamp

jobEndTime Object

The end timestamp of the job. Typically this field is used for contracting engagements. Invalid timestamps are ignored.

This object should have the same structure as Timestamp

postingPublishTime Object

The timestamp this job posting was most recently published. The default value is the time the request arrives at the server. Invalid timestamps are ignored.

This object should have the same structure as Timestamp

postingExpireTime Object

Strongly recommended for the best service experience.

The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id.

The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out.

Invalid timestamps are ignored, and treated as expire time not provided.

If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as Application, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one.

If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.

If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated.

This object should have the same structure as Timestamp

postingCreateTime Object

Output only. The timestamp when this job posting was created.

This object should have the same structure as Timestamp

postingUpdateTime Object

Output only. The timestamp when this job posting was last updated.

This object should have the same structure as Timestamp

companyDisplayName string

Output only. Display name of the company listing the job.

derivedInfo Object

Output only. Derived details about the job posting.

This object should have the same structure as DerivedInfo

processingOptions Object

Options for job processing.

This object should have the same structure as ProcessingOptions

Source:
See:

JobEvent

An event issued when a job seeker interacts with the application that implements Cloud Talent Solution.

Properties:
Name Type Description
type number

Required. The type of the event (see JobEventType).

The number should be among the values of JobEventType

jobs Array.<string>

Required. The job name(s) associated with this event. For example, if this is an impression event, this field contains the identifiers of all jobs shown to the job seeker. If this was a view event, this field contains the identifier of the viewed job.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for example, "projects/foo/tenants/bar/jobs/baz".

profile string

The profile name associated with this client event.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}", for example, "projects/foo/tenants/bar/profiles/baz".

Source:
See:

JobOperationResult

The result of JobService.BatchCreateJobs or JobService.BatchUpdateJobs APIs. It's used to replace google.longrunning.Operation.response in case of success.

Properties:
Name Type Description
jobResults Array.<Object>

List of job mutation results from a batch mutate operation. It can change until operation status is FINISHED, FAILED or CANCELLED.

This object should have the same structure as JobResult

Source:
See:

JobQuery

The query required to perform a search query.

Properties:
Name Type Description
query string

The query string that matches against the job title, description, and location fields.

The maximum number of allowed characters is 255.

queryLanguageCode string

The language code of query. For example, "en-US". This field helps to better interpret the query.

If a value isn't specified, the query language code is automatically detected, which may not be accurate.

Language code should be in BCP-47 format, such as "en-US" or "sr-Latn". For more information, see Tags for Identifying Languages.

companies Array.<string>

This filter specifies the company entities to search against.

If a value isn't specified, jobs are searched for against all companies.

If multiple values are specified, jobs are searched against the companies specified.

The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz".

If tenant id is unspecified, the default tenant is used. For example, "projects/foo/companies/bar".

At most 20 company filters are allowed.

locationFilters Array.<Object>

The location filter specifies geo-regions containing the jobs to search against. See LocationFilter for more information.

If a location value isn't specified, jobs fitting the other search criteria are retrieved regardless of where they're located.

If multiple values are specified, jobs are retrieved from any of the specified locations. If different values are specified for the LocationFilter.distance_in_miles parameter, the maximum provided distance is used for all locations.

At most 5 location filters are allowed.

This object should have the same structure as LocationFilter

jobCategories Array.<number>

The category filter specifies the categories of jobs to search against. See JobCategory for more information.

If a value isn't specified, jobs from any category are searched against.

If multiple values are specified, jobs from any of the specified categories are searched against.

The number should be among the values of JobCategory

commuteFilter Object

Allows filtering jobs by commute time with different travel methods (for example, driving or public transit).

Note: This only works when you specify a CommuteMethod. In this case, location_filters is ignored.

Currently we don't support sorting by commute time.

This object should have the same structure as CommuteFilter

companyDisplayNames Array.<string>

This filter specifies the exact company Company.display_name of the jobs to search against.

If a value isn't specified, jobs within the search results are associated with any company.

If multiple values are specified, jobs within the search results may be associated with any of the specified companies.

At most 20 company display name filters are allowed.

compensationFilter Object

This search filter is applied only to Job.compensation_info. For example, if the filter is specified as "Hourly job with per-hour compensation > $15", only jobs meeting these criteria are searched. If a filter isn't defined, all open jobs are searched.

This object should have the same structure as CompensationFilter

customAttributeFilter string

This filter specifies a structured syntax to match against the Job.custom_attributes marked as filterable.

The syntax for this expression is a subset of SQL syntax.

Supported operators are: =, !=, <, <=, >, and >= where the left of the operator is a custom field key and the right of the operator is a number or a quoted string. You must escape backslash (\) and quote (") characters.

Supported functions are LOWER([field_name]) to perform a case insensitive match and EMPTY([field_name]) to filter on the existence of a key.

Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be < 6000 bytes in length.

Sample Query: (LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND driving_years > 10

disableSpellCheck boolean

This flag controls the spell-check feature. If false, the service attempts to correct a misspelled query, for example, "enginee" is corrected to "engineer".

Defaults to false: a spell check is performed.

employmentTypes Array.<number>

The employment type filter specifies the employment type of jobs to search against, such as EmploymentType.FULL_TIME.

If a value isn't specified, jobs in the search results includes any employment type.

If multiple values are specified, jobs in the search results include any of the specified employment types.

The number should be among the values of EmploymentType

languageCodes Array.<string>

This filter specifies the locale of jobs to search against, for example, "en-US".

If a value isn't specified, the search results can contain jobs in any locale.

Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn". For more information, see Tags for Identifying Languages.

At most 10 language code filters are allowed.

publishTimeRange Object

Jobs published within a range specified by this filter are searched against.

This object should have the same structure as TimestampRange

excludedJobs Array.<string>

This filter specifies a list of job names to be excluded during search.

At most 400 excluded job names are allowed.

Source:
See:

JobResult

Mutation result of a job.

Properties:
Name Type Description
job Object

Here Job only contains basic information including name, company, language_code and requisition_id, use getJob method to retrieve detailed information of the created/updated job.

This object should have the same structure as Job

status Object

The status of the job processed. This field is populated if the processing of the job fails.

This object should have the same structure as Status

Source:
See:

JobTitleFilter

Job title of the search.

Properties:
Name Type Description
jobTitle string

Required. The job title. For example, "Software engineer", or "Product manager".

negated boolean

Whether to apply negation to the filter so profiles matching the filter are excluded.

Source:
See:

ListApplicationsRequest

List applications for which the client has ACL visibility.

Properties:
Name Type Description
parent string

Required. Resource name of the profile under which the application is created.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}", for example, "projects/foo/tenants/bar/profiles/baz".

pageToken string

The starting indicator from which to return results.

pageSize number

The maximum number of applications to be returned, at most 100. Default is 100 if a non-positive number is provided.

Source:
See:

ListApplicationsResponse

The List applications response object.

Properties:
Name Type Description
applications Array.<Object>

Applications for the current client.

This object should have the same structure as Application

nextPageToken string

A token to retrieve the next page of results.

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

Source:
See:

ListCompaniesRequest

List companies for which the client has ACL visibility.

Properties:
Name Type Description
parent string

Required. Resource name of the tenant under which the company is created.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenant/bar".

If tenant id is unspecified, the default tenant will be used, for example, "projects/foo".

pageToken string

The starting indicator from which to return results.

pageSize number

The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided.

requireOpenJobs boolean

Set to true if the companies requested must have open jobs.

Defaults to false.

If true, at most page_size of companies are fetched, among which only those with open jobs are returned.

Source:
See:

ListCompaniesResponse

The List companies response object.

Properties:
Name Type Description
companies Array.<Object>

Companies for the current client.

This object should have the same structure as Company

nextPageToken string

A token to retrieve the next page of results.

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

Source:
See:

ListJobsRequest

List jobs request.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the job is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created. For example, "projects/foo".

filter string

Required. The filter string specifies the jobs to be enumerated.

Supported operator: =, AND

The fields eligible for filtering are:

  • companyName (Required)
  • requisitionId
  • status Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified.

Sample Query:

  • companyName = "projects/foo/tenants/bar/companies/baz"
  • companyName = "projects/foo/tenants/bar/companies/baz" AND requisitionId = "req-1"
  • companyName = "projects/foo/tenants/bar/companies/baz" AND status = "EXPIRED"
pageToken string

The starting point of a query result.

pageSize number

The maximum number of jobs to be returned per page of results.

If job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed page size is 1000. Otherwise, the maximum allowed page size is 100.

Default is 100 if empty or a number < 1 is specified.

jobView number

The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified.

The number should be among the values of JobView

Source:
See:

ListJobsResponse

List jobs response.

Properties:
Name Type Description
jobs Array.<Object>

The Jobs for a given company.

The maximum number of items returned is based on the limit field provided in the request.

This object should have the same structure as Job

nextPageToken string

A token to retrieve the next page of results.

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

Source:
See:

ListProfilesRequest

List profiles request.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant under which the profile is created.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenants/bar".

filter string

The filter string specifies the profiles to be enumerated.

Supported operator: =, AND

The field(s) eligible for filtering are:

  • externalId
  • groupId

externalId and groupId cannot be specified at the same time. If both externalId and groupId are provided, the API will return a bad request error.

Sample Query:

  • externalId = "externalId-1"
  • groupId = "groupId-1"
pageToken string

The token that specifies the current offset (that is, starting result).

Please set the value to ListProfilesResponse.next_page_token to continue the list.

pageSize number

The maximum number of profiles to be returned, at most 100.

Default is 100 unless a positive number smaller than 100 is specified.

readMask Object

A field mask to specify the profile fields to be listed in response. All fields are listed if it is unset.

Valid values are:

  • name

This object should have the same structure as FieldMask

Source:
See:

ListProfilesResponse

The List profiles response object.

Properties:
Name Type Description
profiles Array.<Object>

Profiles for the specific tenant.

This object should have the same structure as Profile

nextPageToken string

A token to retrieve the next page of results. This is empty if there are no more results.

Source:
See:

ListTenantsRequest

List tenants for which the client has ACL visibility.

Properties:
Name Type Description
parent string

Required. Resource name of the project under which the tenant is created.

The format is "projects/{project_id}", for example, "projects/foo".

pageToken string

The starting indicator from which to return results.

pageSize number

The maximum number of tenants to be returned, at most 100. Default is 100 if a non-positive number is provided.

Source:
See:

ListTenantsResponse

The List tenants response object.

Properties:
Name Type Description
tenants Array.<Object>

Tenants for the current client.

This object should have the same structure as Tenant

nextPageToken string

A token to retrieve the next page of results.

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

Source:
See:

Location

A resource that represents a location with full geographic information.

Properties:
Name Type Description
locationType number

The type of a location, which corresponds to the address lines field of google.type.PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of LocationType.NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of LocationType.LOCALITY.

The number should be among the values of LocationType

postalAddress Object

Postal address of the location that includes human readable information, such as postal delivery and payments addresses. Given a postal address, a postal service can deliver items to a premises, P.O. Box, or other delivery location.

This object should have the same structure as PostalAddress

latLng Object

An object representing a latitude/longitude pair.

This object should have the same structure as LatLng

radiusMiles number

Radius in miles of the job location. This value is derived from the location bounding box in which a circle with the specified radius centered from google.type.LatLng covers the area associated with the job location. For example, currently, "Mountain View, CA, USA" has a radius of 6.17 miles.

Source:
See:

LocationFilter

Geographic region of the search.

Properties:
Name Type Description
address string

The address name, such as "Mountain View" or "Bay Area".

regionCode string

CLDR region code of the country/region of the address. This is used to address ambiguity of the user-input location, for example, "Liverpool" against "Liverpool, NY, US" or "Liverpool, UK".

Set this field to bias location resolution toward a specific country or territory. If this field is not set, application behavior is biased toward the United States by default.

See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: "CH" for Switzerland. Note that this filter is not applicable for Profile Search related queries.

latLng Object

The latitude and longitude of the geographic center to search from. This field is ignored if address is provided.

This object should have the same structure as LatLng

distanceInMiles number

The distance_in_miles is applied when the location being searched for is identified as a city or smaller. This field is ignored if the location being searched for is a state or larger.

telecommutePreference number

Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location. Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not searched.

This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as "Mountain View" or "telecommuting" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response.

This field is only used for job search requests.

The number should be among the values of TelecommutePreference

negated boolean

Whether to apply negation to the filter so profiles matching the filter are excluded.

Currently only supported in profile search.

Source:
See:

MatchingJob

Job entry with metadata inside SearchJobsResponse.

Properties:
Name Type Description
job Object

Job resource that matches the specified SearchJobsRequest.

This object should have the same structure as Job

jobSummary string

A summary of the job with core information that's displayed on the search results listing page.

jobTitleSnippet string

Contains snippets of text from the Job.title field most closely matching a search query's keywords, if available. The matching query keywords are enclosed in HTML bold tags.

searchTextSnippet string

Contains snippets of text from the Job.description and similar fields that most closely match a search query's keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags.

commuteInfo Object

Commute information which is generated based on specified CommuteFilter.

This object should have the same structure as CommuteInfo

Source:
See:

Patent

Resource that represents the patent acquired by a candidate.

Properties:
Name Type Description
displayName string

Name of the patent.

Number of characters allowed is 100.

inventors Array.<string>

A list of inventors' names.

Number of characters allowed for each is 100.

patentStatus string

The status of the patent.

Number of characters allowed is 100.

patentStatusDate Object

The date the last time the status of the patent was checked.

This object should have the same structure as Date

patentFilingDate Object

The date that the patent was filed.

This object should have the same structure as Date

patentOffice string

The name of the patent office.

Number of characters allowed is 100.

patentNumber string

The number of the patent.

Number of characters allowed is 100.

patentDescription string

The description of the patent.

Number of characters allowed is 100,000.

skillsUsed Array.<Object>

The skills used in this patent.

This object should have the same structure as Skill

Source:
See:

PersonalUri

Resource that represents a valid URI for a personal use.

Properties:
Name Type Description
uri string

The personal URI.

Number of characters allowed is 4,000.

Source:
See:

PersonName

Resource that represents the name of a person.

Properties:
Name Type Description
formattedName string

A string represents a person's full name. For example, "Dr. John Smith".

Number of characters allowed is 100.

structuredName Object

A person's name in a structured way (last name, first name, suffix, and so on.)

This object should have the same structure as PersonStructuredName

preferredName string

Preferred name for the person. This field is ignored if structured_name is provided.

Number of characters allowed is 100.

Source:
See:

PersonNameFilter

Filter on person name.

Properties:
Name Type Description
personName string

Required. The person name. For example, "John Smith".

Can be any combination of PersonName.structured_name.given_name, PersonName.structured_name.middle_initial, PersonName.structured_name.family_name, and PersonName.formatted_name.

Source:
See:

PersonStructuredName

Resource that represents a person's structured name.

Properties:
Name Type Description
givenName string

Given/first name.

It's derived from formatted_name if not provided.

Number of characters allowed is 100.

preferredName string

Preferred given/first name or nickname.

Number of characters allowed is 100.

middleInitial string

Middle initial.

It's derived from formatted_name if not provided.

Number of characters allowed is 20.

familyName string

Family/last name.

It's derived from formatted_name if not provided.

Number of characters allowed is 100.

suffixes Array.<string>

Suffixes.

Number of characters allowed is 20.

prefixes Array.<string>

Prefixes.

Number of characters allowed is 20.

Source:
See:

Phone

Resource that represents a person's telephone number.

Properties:
Name Type Description
usage number

The usage of the phone. For example, SCHOOL, WORK, PERSONAL.

The number should be among the values of ContactInfoUsage

type number

The phone type. For example, LANDLINE, MOBILE, FAX.

The number should be among the values of PhoneType

number string

Phone number.

Any phone formats are supported and only exact matches are performed on searches. For example, if a phone number in profile is provided in the format of "(xxx)xxx-xxxx", in profile searches the same phone format has to be provided.

Number of characters allowed is 20.

whenAvailable string

When this number is available. Any descriptive string is expected.

Number of characters allowed is 100.

Source:
See:

ProcessingOptions

Options for job processing.

Properties:
Name Type Description
disableStreetAddressResolution boolean

If set to true, the service does not attempt to resolve a more precise address for the job.

htmlSanitization number

Option for job HTML content sanitization. Applied fields are:

  • description
  • applicationInfo.instruction
  • incentives
  • qualifications
  • responsibilities

HTML tags in these fields may be stripped if sanitiazation isn't disabled.

Defaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.

The number should be among the values of HtmlSanitization

Source:
See:

Profile

A resource that represents the profile for a job candidate (also referred to as a "single-source profile").

Properties:
Name Type Description
name string

Required during profile update.

Resource name assigned to a profile by the API.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}", for example, "projects/foo/tenants/bar/profiles/baz".

externalId string

Profile's id in client system, if available. This value is unique for each profile inside a tenant. An error is thrown if another profile with the same external_id is created.

The maximum number of bytes allowed is 100.

source string

The source description indicating where the profile is acquired.

For example, if a candidate profile is acquired from a resume, the user can input "resume" here to indicate the source.

The maximum number of bytes allowed is 100.

uri string

The URI set by clients that links to this profile's client-side copy.

The maximum number of bytes allowed is 4000.

groupId string

The cluster id of the profile to associate with other profile(s) for the same candidate.

This field should be generated by the customer. If a value is not provided, a random UUID is assigned to this field of the profile.

This is used to link multiple profiles to the same candidate. For example, a client has a candidate with two profiles, where one was created recently and the other one was created 5 years ago. These two profiles may be very different. The clients can create the first profile and get a generated group_id, and assign it when the second profile is created, indicating these two profiles are referring to the same candidate.

isHirable Object

Indicates the hirable status of the candidate.

This object should have the same structure as BoolValue

createTime Object

The timestamp when the profile was first created at this source.

This object should have the same structure as Timestamp

updateTime Object

The timestamp when the profile was last updated at this source.

This object should have the same structure as Timestamp

candidateUpdateTime Object

The timestamp when the profile was last updated as a result of a direct or indirect action by a candidate.

These actions include:

  • Direct actions such as the candidate submitting a new resume as part of a job application to the agency, using a self-service tool such as a website to update their profile, and so on.
  • Indirect actions by the candidate such as uploading a resume to a job board that is collected by the agency through a feed, providing a resume to a recruiter who then uploads it into the ATS, and so on.
  • Updates made to the candidate's profile by the recruiter as a result of interacting with the candidate (for example adding a skill or work preference, and so on). Changes to recruiting_notes are specifically excluded from this action type.

Note: candidate_update_time must be greater than or equal to resume_update_time or an error is thrown.

This object should have the same structure as Timestamp

resumeUpdateTime Object

The timestamp when the candidate's resume was added or updated on the candidate's profile. Whether that resume was directly uploaded by a candidate, pulled from a 3rd party job board feed, added by a recruiter, and so on.

If this field is updated, it's expected that resume is provided in the create or update calls.

This object should have the same structure as Timestamp

resume Object

The resume representing this profile.

This object should have the same structure as Resume

personNames Array.<Object>

The names of the candidate this profile references.

Currently only one person name is supported.

This object should have the same structure as PersonName

addresses Array.<Object>

The candidate's postal addresses. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Provide Address.usage if possible, especially if the address is PERSONAL. During a search only personal addresses are considered. If there is no such address, all addresses with unspecified usage are assumed to be personal.
  • Provide Address.current for the current address if possible. During a search, only current addresses are considered. If there is no such address, all addresses are assumed to be current.

When displaying a candidate's addresses, it is sometimes desirable to limit the number of addresses shown. In these cases we recommend that you display the addresses in the following order of priority:

  1. Address.usage is PERSONAL and Address.current is true.
  2. Address.usage is PERSONAL and Address.current is false or not set.
  3. Address.usage is CONTACT_INFO_USAGE_UNSPECIFIED and Address.current is true.
  4. Address.usage is CONTACT_INFO_USAGE_UNSPECIFIED and Address.current is false or not set.

This object should have the same structure as Address

emailAddresses Array.<Object>

The candidate's email addresses.

This object should have the same structure as Email

phoneNumbers Array.<Object>

The candidate's phone number(s).

This object should have the same structure as Phone

personalUris Array.<Object>

The candidate's personal URIs.

This object should have the same structure as PersonalUri

additionalContactInfo Array.<Object>

Available contact information besides addresses, email_addresses, phone_numbers and personal_uris. For example, Hang-out, Skype.

This object should have the same structure as AdditionalContactInfo

employmentRecords Array.<Object>

The employment history records of the candidate. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Specify the start and end dates of the employment records.
  • List different employment types separately, no matter how minor the change is. For example, only job title is changed from "software engineer" to "senior software engineer".
  • Provide EmploymentRecord.is_current for the current employment if possible. If not, it's inferred from user inputs.

The limitation for max number of employment records is 100.

This object should have the same structure as EmploymentRecord

educationRecords Array.<Object>

The education history record of the candidate. It's highly recommended to input this information as accurately as possible to help improve search quality. Here are some recommendations:

  • Specify the start and end dates of the education records.
  • List each education type separately, no matter how minor the change is. For example, the profile contains the education experience from the same school but different degrees.
  • Provide EducationRecord.is_current for the current education if possible. If not, it's inferred from user inputs.

The limitation for max number of education records is 100.

This object should have the same structure as EducationRecord

skills Array.<Object>

The skill set of the candidate. It's highly recommended to provide as much information as possible to help improve the search quality.

The limitation for max number of skills is 500.

This object should have the same structure as Skill

activities Array.<Object>

The individual or collaborative activities which the candidate has participated in, for example, open-source projects, class assignments that aren't listed in employment_records.

The limitation for max number of activities is 50.

This object should have the same structure as Activity

publications Array.<Object>

The publications published by the candidate.

The limitation for max number of publications is 50.

This object should have the same structure as Publication

patents Array.<Object>

The patents acquired by the candidate.

This object should have the same structure as Patent

certifications Array.<Object>

The certifications acquired by the candidate.

This object should have the same structure as Certification

applications Array.<string>

Output only. The resource names of the candidate's applications.

assignments Array.<string>

Output only. The resource names of the candidate's assignments.

customAttributes Object.<string, Object>

A map of fields to hold both filterable and non-filterable custom profile attributes that aren't covered by the provided structured fields. See CustomAttribute for more details.

At most 100 filterable and at most 100 unfilterable keys are supported. If limit is exceeded, an error is thrown. Custom attributes are unfilterable by default. These are filterable when the filterable flag is set to true.

Numeric custom attributes: each key can only map to one numeric value, otherwise an error is thrown. Client can also filter on numeric custom attributes using '>', '<' or '=' operators.

String custom attributes: each key can map up to 50 string values. For filterable string value, each value has a byte size of no more than 256B. For unfilterable string values, the maximum byte size of a single key is 64B. An error is thrown for any request exceeding the limit. The maximum total byte size is 10KB.

processed boolean

Output only. Indicates if a summarized profile was created as part of the profile creation API call. This flag does not indicate whether a profile is searchable or not.

keywordSnippet string

Output only. Keyword snippet shows how the search result is related to a search query. This is only returned in SearchProfilesResponse.

availabilitySignals Array.<Object>

Output only. Candidate's availability signals.

This object should have the same structure as AvailabilitySignal

derivedAddresses Array.<Object>

Output only. Derived locations of the profile, resolved from Profile.addresses.

derived_addresses are exactly matched to Profile.addresses in the same order.

This object should have the same structure as Location

Source:
See:

ProfileEvent

An event issued when a profile searcher interacts with the application that implements Cloud Talent Solution.

Properties:
Name Type Description
type number

Required. Type of event.

The number should be among the values of ProfileEventType

profiles Array.<string>

Required. The profile name(s) associated with this client event.

The format is "projects/{project_id}/tenants/{tenant_id}/profiles/{profile_id}", for example, "projects/foo/tenants/bar/profiles/baz".

jobs Array.<string>

The job name(s) associated with this client event. Leave it empty if the event isn't associated with a job.

The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}", for example, "projects/foo/tenants/bar/jobs/baz".

Source:
See:

ProfileQuery

Filters to apply when performing the search query.

Properties:
Name Type Description
query string

Keywords to match any text fields of profiles.

For example, "software engineer in Palo Alto".

locationFilters Array.<Object>

The location filter specifies geo-regions containing the profiles to search against.

One of LocationFilter.address or LocationFilter.lat_lng must be provided or an error is thrown. If both LocationFilter.address and LocationFilter.lat_lng are provided, an error is thrown.

The following logic is used to determine which locations in the profile to filter against:

  1. All of the profile's geocoded Profile.addresses where Address.usage is PERSONAL and Address.current is true.

  2. If the above set of locations is empty, all of the profile's geocoded Profile.addresses where Address.usage is CONTACT_INFO_USAGE_UNSPECIFIED and Address.current is true.

  3. If the above set of locations is empty, all of the profile's geocoded Profile.addresses where Address.usage is PERSONAL or CONTACT_INFO_USAGE_UNSPECIFIED and Address.current is not set.

This means that any profiles without any Profile.addresses that match any of the above criteria will not be included in a search with location filter. Furthermore, any Profile.addresses where Address.usage is WORK or SCHOOL or where Address.current is false are not considered for location filter.

If a location filter isn't specified, profiles fitting the other search criteria are retrieved regardless of where they're located.

If LocationFilter.negated is specified, the result doesn't contain profiles from that location.

If LocationFilter.address is provided, the LocationType, center point (latitude and longitude), and radius are automatically detected by the Google Maps Geocoding API and included as well. If LocationFilter.address cannot be geocoded, the filter falls back to keyword search.

If the detected LocationType is LocationType.SUB_ADMINISTRATIVE_AREA, LocationType.ADMINISTRATIVE_AREA, or LocationType.COUNTRY, the filter is performed against the detected location name (using exact text matching). Otherwise, the filter is performed against the detected center point and a radius of detected location radius + LocationFilter.distance_in_miles.

If LocationFilter.address is provided, LocationFilter.distance_in_miles is the additional radius on top of the radius of the location geocoded from LocationFilter.address. If LocationFilter.lat_lng is provided, LocationFilter.distance_in_miles is the only radius that is used.

LocationFilter.distance_in_miles is 10 by default. Note that the value of LocationFilter.distance_in_miles is 0 if it is unset, so the server does not differentiate LocationFilter.distance_in_miles that is explicitly set to 0 and LocationFilter.distance_in_miles that is not set. Which means that if LocationFilter.distance_in_miles is explicitly set to 0, the server will use the default value of LocationFilter.distance_in_miles which is 10. To work around this and effectively set LocationFilter.distance_in_miles to 0, we recommend setting LocationFilter.distance_in_miles to a very small decimal number (such as 0.00001).

If LocationFilter.distance_in_miles is negative, an error is thrown.

This object should have the same structure as LocationFilter

jobTitleFilters Array.<Object>

Job title filter specifies job titles of profiles to match on.

If a job title isn't specified, profiles with any titles are retrieved.

If multiple values are specified, profiles are retrieved with any of the specified job titles.

If JobTitleFilter.negated is specified, the result won't contain profiles with the job titles.

For example, search for profiles with a job title "Product Manager".

This object should have the same structure as JobTitleFilter

employerFilters Array.<Object>

Employer filter specifies employers of profiles to match on.

If an employer filter isn't specified, profiles with any employers are retrieved.

If multiple employer filters are specified, profiles with any matching employers are retrieved.

If EmployerFilter.negated is specified, the result won't contain profiles that match the employers.

For example, search for profiles that have working experience at "Google LLC".

This object should have the same structure as EmployerFilter

educationFilters Array.<Object>

Education filter specifies education of profiles to match on.

If an education filter isn't specified, profiles with any education are retrieved.

If multiple education filters are specified, profiles that match any education filters are retrieved.

If EducationFilter.negated is specified, the result won't contain profiles that match the educations.

For example, search for profiles with a master degree.

This object should have the same structure as EducationFilter

skillFilters Array.<Object>

Skill filter specifies skill of profiles to match on.

If a skill filter isn't specified, profiles with any skills are retrieved.

If multiple skill filters are specified, profiles that match any skill filters are retrieved.

If SkillFilter.negated is specified, the result won't contain profiles that match the skills.

For example, search for profiles that have "Java" and "Python" in skill list.

This object should have the same structure as SkillFilter

workExperienceFilter Array.<Object>

Work experience filter specifies the total working experience of profiles to match on.

If a work experience filter isn't specified, profiles with any professional experience are retrieved.

If multiple work experience filters are specified, profiles that match any work experience filters are retrieved.

For example, search for profiles with 10 years of work experience.

This object should have the same structure as WorkExperienceFilter

timeFilters Array.<Object>

Time filter specifies the create/update timestamp of the profiles to match on.

For example, search for profiles created since "2018-1-1".

This object should have the same structure as TimeFilter

hirableFilter Object

The hirable filter specifies the profile's hirable status to match on.

This object should have the same structure as BoolValue

applicationDateFilters Array.<Object>

The application date filters specify application date ranges to match on.

This object should have the same structure as ApplicationDateFilter

applicationOutcomeNotesFilters Array.<Object>

The application outcome notes filters specify the notes for the outcome of the job application.

This object should have the same structure as ApplicationOutcomeNotesFilter

applicationJobFilters Array.<Object>

The application job filters specify the job applied for in the application.

This object should have the same structure as ApplicationJobFilter

customAttributeFilter string

This filter specifies a structured syntax to match against the Profile.custom_attributes that are marked as filterable.

The syntax for this expression is a subset of Google SQL syntax.

String custom attributes: supported operators are =, != where the left of the operator is a custom field key and the right of the operator is a string (surrounded by quotes) value.

Numeric custom attributes: Supported operators are '>', '<' or '=' operators where the left of the operator is a custom field key and the right of the operator is a numeric value.

Supported functions are LOWER(<field_name>) to perform case insensitive match and EMPTY(<field_name>) to filter on the existence of a key.

Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example "((A AND B AND C) OR NOT D) AND E"), and there can be a maximum of 50 comparisons/functions in the expression. The expression must be < 2000 characters in length.

Sample Query: (key1 = "TEST" OR LOWER(key1)="test" OR NOT EMPTY(key1))

candidateAvailabilityFilter Object

Deprecated. Use availability_filters instead.

The candidate availability filter which filters based on availability signals.

Signal 1: Number of days since most recent job application. See Availability.JobApplicationAvailabilitySignal for the details of this signal.

Signal 2: Number of days since last profile update. See Availability.ProfileUpdateAvailabilitySignal for the details of this signal.

The candidate availability filter helps a recruiter understand if a specific candidate is likely to be actively seeking new job opportunities based on an aggregated set of signals. Specifically, the intent is NOT to indicate the candidate's potential qualification / interest / close ability for a specific job.

This object should have the same structure as CandidateAvailabilityFilter

availabilityFilters Array.<Object>

The availability filter which filters based on Profile.availability_signals.

The availability filter helps a recruiter understand if a specific candidate is likely to be actively seeking new job opportunities based on an aggregated set of signals. Specifically, the intent is NOT to indicate the candidate's potential qualification / interest / close ability for a specific job.

There can be at most one AvailabilityFilter per signal_type. If there are multiple AvailabilityFilter for a signal_type, an error is thrown.

This object should have the same structure as AvailabilityFilter

personNameFilters Array.<Object>

Person name filter specifies person name of profiles to match on.

If multiple person name filters are specified, profiles that match any person name filters are retrieved.

For example, search for profiles of candidates with name "John Smith".

This object should have the same structure as PersonNameFilter

Source:
See:

Publication

Resource that represents a publication resource of a candidate.

Properties:
Name Type Description
authors Array.<string>

A list of author names.

Number of characters allowed is 100.

title string

The title of the publication.

Number of characters allowed is 100.

description string

The description of the publication.

Number of characters allowed is 100,000.

journal string

The journal name of the publication.

Number of characters allowed is 100.

volume string

Volume number.

Number of characters allowed is 100.

publisher string

The publisher of the journal.

Number of characters allowed is 100.

publicationDate Object

The publication date.

This object should have the same structure as Date

publicationType string

The publication type.

Number of characters allowed is 100.

isbn string

ISBN number.

Number of characters allowed is 100.

Source:
See:

Rating

The details of the score received for an assessment or interview.

Properties:
Name Type Description
overall number

Overall score.

min number

The minimum value for the score.

max number

The maximum value for the score.

interval number

The steps within the score (for example, interval = 1 max = 5 min = 1 indicates that the score can be 1, 2, 3, 4, or 5)

Source:
See:

RequestMetadata

Meta information related to the job searcher or entity conducting the job search. This information is used to improve the performance of the service.

Properties:
Name Type Description
domain string

Required if allow_missing_ids is unset or false.

The client-defined scope or source of the service call, which typically is the domain on which the service has been implemented and is currently being run.

For example, if the service is being run by client Foo, Inc., on job board www.foo.com and career site www.bar.com, then this field is set to "foo.com" for use on the job board, and "bar.com" for use on the career site.

Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique domain.

The maximum number of allowed characters is 255.

sessionId string

Required if allow_missing_ids is unset or false.

A unique session identification string. A session is defined as the duration of an end user's interaction with the service over a certain period. Obfuscate this field for privacy concerns before providing it to the service.

Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique session ID.

The maximum number of allowed characters is 255.

userId string

Required if allow_missing_ids is unset or false.

A unique user identification string, as determined by the client. To have the strongest positive impact on search quality make sure the client-level is unique. Obfuscate this field for privacy concerns before providing it to the service.

Note that any improvements to the model for a particular tenant site rely on this field being set correctly to a unique user ID.

The maximum number of allowed characters is 255.

allowMissingIds boolean

Only set when any of domain, session_id and user_id isn't available for some reason. It is highly recommended not to set this field and provide accurate domain, session_id and user_id for the best service experience.

deviceInfo Object

The type of device used by the job seeker at the time of the call to the service.

This object should have the same structure as DeviceInfo

Source:
See:

ResponseMetadata

Additional information returned to client, such as debugging information.

Properties:
Name Type Description
requestId string

A unique id associated with this call. This id is logged for tracking purposes.

Source:
See:

Resume

Resource that represents a resume.

Properties:
Name Type Description
structuredResume string

Users can create a profile with only this field field, if resume_type is HRXML. For example, the API parses this field and creates a profile with all structured fields populated. EmploymentRecord, EducationRecord, and so on. An error is thrown if this field cannot be parsed.

Note that the use of the functionality offered by this field to extract data from resumes is an Alpha feature and as such is not covered by any SLA.

resumeType number

The format of structured_resume.

The number should be among the values of ResumeType

Source:
See:

SearchJobsRequest

The Request body of the SearchJobs call.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant to search within.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenant/bar". If tenant id is unspecified, a default tenant is created. For example, "projects/foo".

searchMode number

Mode of a search.

Defaults to SearchMode.JOB_SEARCH.

The number should be among the values of SearchMode

requestMetadata Object

Required. The meta information collected about the job searcher, used to improve the search quality of the service. The identifiers (such as user_id) are provided by users, and must be unique and consistent.

This object should have the same structure as RequestMetadata

jobQuery Object

Query used to search against jobs, such as keyword, location filters, etc.

This object should have the same structure as JobQuery

enableBroadening boolean

Controls whether to broaden the search when it produces sparse results. Broadened queries append results to the end of the matching results list.

Defaults to false.

requirePreciseResultSize boolean

Controls if the search job request requires the return of a precise count of the first 300 results. Setting this to true ensures consistency in the number of results per page. Best practice is to set this value to true if a client allows users to jump directly to a non-sequential search results page.

Enabling this flag may adversely impact performance.

Defaults to false.

histogramQueries Array.<Object>

An expression specifies a histogram request against matching jobs.

Expression syntax is an aggregation function call with histogram facets and other options.

Available aggregation function calls are:

  • count(string_histogram_facet): Count the number of matching entities, for each distinct attribute value.
  • count(numeric_histogram_facet, list of buckets): Count the number of matching entities within each bucket.

Data types:

  • Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
  • String: string like "any string with backslash escape for quote(")."
  • Number: whole number and floating point number like 10, -1 and -0.01.
  • List: list of elements with comma(,) separator surrounded by square brackets, for example, [1, 2, 3] and ["one", "two", "three"].

Built-in constants:

  • MIN (minimum number similar to java Double.MIN_VALUE)
  • MAX (maximum number similar to java Double.MAX_VALUE)

Built-in functions:

  • bucket(start, end[, label]): bucket built-in function creates a bucket with range of start, end). Note that the end is exclusive, for example, bucket(1, MAX, "positive number") or bucket(1, 10).

Job histogram facets:

  • company_display_name: histogram by [Job.company_display_name.
  • employment_type: histogram by Job.employment_types, for example, "FULL_TIME", "PART_TIME".
  • company_size: histogram by CompanySize, for example, "SMALL", "MEDIUM", "BIG".
  • publish_time_in_month: histogram by the Job.posting_publish_time in months. Must specify list of numeric buckets in spec.
  • publish_time_in_year: histogram by the Job.posting_publish_time in years. Must specify list of numeric buckets in spec.
  • degree_types: histogram by the Job.degree_types, for example, "Bachelors", "Masters".
  • job_level: histogram by the Job.job_level, for example, "Entry Level".
  • country: histogram by the country code of jobs, for example, "US", "FR".
  • admin1: histogram by the admin1 code of jobs, which is a global placeholder referring to the state, province, or the particular term a country uses to define the geographic structure below the country level, for example, "CA", "IL".
  • city: histogram by a combination of the "city name, admin1 code". For example, "Mountain View, CA", "New York, NY".
  • admin1_country: histogram by a combination of the "admin1 code, country", for example, "CA, US", "IL, US".
  • city_coordinate: histogram by the city center's GPS coordinates (latitude and longitude), for example, 37.4038522,-122.0987765. Since the coordinates of a city center can change, customers may need to refresh them periodically.
  • locale: histogram by the Job.language_code, for example, "en-US", "fr-FR".
  • language: histogram by the language subtag of the Job.language_code, for example, "en", "fr".
  • category: histogram by the JobCategory, for example, "COMPUTER_AND_IT", "HEALTHCARE".
  • base_compensation_unit: histogram by the CompensationInfo.CompensationUnit of base salary, for example, "WEEKLY", "MONTHLY".
  • base_compensation: histogram by the base salary. Must specify list of numeric buckets to group results by.
  • annualized_base_compensation: histogram by the base annualized salary. Must specify list of numeric buckets to group results by.
  • annualized_total_compensation: histogram by the total annualized salary. Must specify list of numeric buckets to group results by.
  • string_custom_attribute: histogram by string Job.custom_attributes. Values can be accessed via square bracket notations like string_custom_attribute["key1"].
  • numeric_custom_attribute: histogram by numeric Job.custom_attributes. Values can be accessed via square bracket notations like numeric_custom_attribute["key1"]. Must specify list of numeric buckets to group results by.

Example expressions:

  • count(admin1)
  • count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000), bucket(100000, MAX)])
  • count(string_custom_attribute["some-string-custom-attribute"])
  • count(numeric_custom_attribute["some-numeric-custom-attribute"], [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])

This object should have the same structure as HistogramQuery

jobView number

The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_SMALL if no value is specified.

The number should be among the values of JobView

offset number

An integer that specifies the current offset (that is, starting result location, amongst the jobs deemed by the API as relevant) in search results. This field is only considered if page_token is unset.

The maximum allowed value is 5000. Otherwise an error is thrown.

The maximum allowed value is 5000. Otherwise an error is thrown.

For example, 0 means to return results starting from the first matching job, and 10 means to return from the 11th job. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).

pageSize number

A limit on the number of jobs returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.

pageToken string

The token specifying the current offset within search results. See SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query results.

orderBy string

The criteria determining how search results are sorted. Default is "relevance desc".

Supported options are:

  • "relevance desc": By relevance descending, as determined by the API algorithms. Relevance thresholding of query results is only available with this ordering.
  • "posting_publish_time desc": By Job.posting_publish_time descending.
  • "posting_update_time desc": By Job.posting_update_time descending.
  • "title": By Job.title ascending.
  • "title desc": By Job.title descending.
  • "annualized_base_compensation": By job's CompensationInfo.annualized_base_compensation_range ascending. Jobs whose annualized base compensation is unspecified are put at the end of search results.
  • "annualized_base_compensation desc": By job's CompensationInfo.annualized_base_compensation_range descending. Jobs whose annualized base compensation is unspecified are put at the end of search results.
  • "annualized_total_compensation": By job's CompensationInfo.annualized_total_compensation_range ascending. Jobs whose annualized base compensation is unspecified are put at the end of search results.
  • "annualized_total_compensation desc": By job's CompensationInfo.annualized_total_compensation_range descending. Jobs whose annualized base compensation is unspecified are put at the end of search results.
  • "custom_ranking desc": By the relevance score adjusted to the SearchJobsRequest.CustomRankingInfo.ranking_expression with weight factor assigned by SearchJobsRequest.CustomRankingInfo.importance_level in descending order.
  • Location sorting: Use the special syntax to order jobs by distance:
    "distance_from('Hawaii')": Order by distance from Hawaii.
    "distance_from(19.89, 155.5)": Order by distance from a coordinate.
    "distance_from('Hawaii'), distance_from('Puerto Rico')": Order by multiple locations. See details below.
    "distance_from('Hawaii'), distance_from(19.89, 155.5)": Order by multiple locations. See details below.
    The string can have a maximum of 256 characters. When multiple distance centers are provided, a job that is close to any of the distance centers would have a high rank. When a job has multiple locations, the job location closest to one of the distance centers will be used. Jobs that don't have locations will be ranked at the bottom. Distance is calculated with a precision of 11.3 meters (37.4 feet). Diversification strategy is still applied unless explicitly disabled in diversification_level.
diversificationLevel number

Controls whether highly similar jobs are returned next to each other in the search results. Jobs are identified as highly similar based on their titles, job categories, and locations. Highly similar results are clustered so that only one representative job of the cluster is displayed to the job seeker higher up in the results, with the other jobs being displayed lower down in the results.

Defaults to DiversificationLevel.SIMPLE if no value is specified.

The number should be among the values of DiversificationLevel

customRankingInfo Object

Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm).

This object should have the same structure as CustomRankingInfo

disableKeywordMatch boolean

Controls whether to disable exact keyword match on Job.title, Job.description, Job.company_display_name, Job.addresses, Job.qualifications. When disable keyword match is turned off, a keyword match returns jobs that do not match given category filters when there are matching keywords. For example, for the query "program manager," a result is returned even if the job posting has the title "software developer," which doesn't fall into "program manager" ontology, but does have "program manager" appearing in its description.

For queries like "cloud" that don't contain title or location specific ontology, jobs with "cloud" keyword matches are returned regardless of this flag's value.

Use Company.keyword_searchable_job_custom_attributes if company-specific globally matched custom field/attribute string values are needed. Enabling keyword match improves recall of subsequent search requests.

Defaults to false.

Source:
See:

SearchJobsResponse

Response for SearchJob method.

Properties:
Name Type Description
matchingJobs Array.<Object>

The Job entities that match the specified SearchJobsRequest.

This object should have the same structure as MatchingJob

histogramQueryResults Array.<Object>

The histogram results that match with specified SearchJobsRequest.histogram_queries.

This object should have the same structure as HistogramQueryResult

nextPageToken string

The token that specifies the starting position of the next page of results. This field is empty if there are no more results.

locationFilters Array.<Object>

The location filters that the service applied to the specified query. If any filters are lat-lng based, the Location.location_type is Location.LocationType.LOCATION_TYPE_UNSPECIFIED.

This object should have the same structure as Location

estimatedTotalSize number

An estimation of the number of jobs that match the specified query.

This number isn't guaranteed to be accurate. For accurate results, see SearchJobsRequest.require_precise_result_size.

totalSize number

The precise result count, which is available only if the client set SearchJobsRequest.require_precise_result_size to true, or if the response is the last page of results. Otherwise, the value is -1.

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

broadenedQueryJobsCount number

If query broadening is enabled, we may append additional results from the broadened query. This number indicates how many of the jobs returned in the jobs field are from the broadened query. These results are always at the end of the jobs list. In particular, a value of 0, or if the field isn't set, all the jobs in the jobs list are from the original (without broadening) query. If this field is non-zero, subsequent requests with offset after this result set should contain all broadened results.

spellCorrection Object

The spell checking result, and correction.

This object should have the same structure as SpellingCorrection

Source:
See:

SearchProfilesRequest

The request body of the SearchProfiles call.

Properties:
Name Type Description
parent string

Required. The resource name of the tenant to search within.

The format is "projects/{project_id}/tenants/{tenant_id}". For example, "projects/foo/tenants/bar".

requestMetadata Object

Required. The meta information collected about the profile search user. This is used to improve the search quality of the service. These values are provided by users, and must be precise and consistent.

This object should have the same structure as RequestMetadata

profileQuery Object

Search query to execute. See ProfileQuery for more details.

This object should have the same structure as ProfileQuery

pageSize number

A limit on the number of profiles returned in the search results. A value above the default value 10 can increase search response time.

The maximum value allowed is 100. Otherwise an error is thrown.

pageToken string

The pageToken, similar to offset enables users of the API to paginate through the search results. To retrieve the first page of results, set the pageToken to empty. The search response includes a nextPageToken field that can be used to populate the pageToken field for the next page of results. Using pageToken instead of offset increases the performance of the API, especially compared to larger offset values.

offset number

An integer that specifies the current offset (that is, starting result) in search results. This field is only considered if page_token is unset.

The maximum allowed value is 5000. Otherwise an error is thrown.

For example, 0 means to search from the first profile, and 10 means to search from the 11th profile. This can be used for pagination, for example pageSize = 10 and offset = 10 means to search from the second page.

disableSpellCheck boolean

This flag controls the spell-check feature. If false, the service attempts to correct a misspelled query.

For example, "enginee" is corrected to "engineer".

orderBy string

The criteria that determines how search results are sorted. Defaults is "relevance desc" if no value is specified.

Supported options are:

  • "relevance desc": By descending relevance, as determined by the API algorithms.
  • "update_date desc": Sort by Profile.update_time in descending order (recently updated profiles first).
  • "create_date desc": Sort by Profile.create_time in descending order (recently created profiles first).
  • "first_name": Sort by PersonName.PersonStructuredName.given_name in ascending order.
  • "first_name desc": Sort by PersonName.PersonStructuredName.given_name in descending order.
  • "last_name": Sort by PersonName.PersonStructuredName.family_name in ascending order.
  • "last_name desc": Sort by PersonName.PersonStructuredName.family_name in ascending order.
caseSensitiveSort boolean

When sort by field is based on alphabetical order, sort values case sensitively (based on ASCII) when the value is set to true. Default value is case in-sensitive sort (false).

histogramQueries Array.<Object>

A list of expressions specifies histogram requests against matching profiles for SearchProfilesRequest.

The expression syntax looks like a function definition with parameters.

Function syntax: function_name(histogram_facet[, list of buckets])

Data types:

  • Histogram facet: facet names with format [a-zA-Z][a-zA-Z0-9_]+.
  • String: string like "any string with backslash escape for quote(")."
  • Number: whole number and floating point number like 10, -1 and -0.01.
  • List: list of elements with comma(,) separator surrounded by square brackets. For example, [1, 2, 3] and ["one", "two", "three"].

Built-in constants:

  • MIN (minimum number similar to java Double.MIN_VALUE)
  • MAX (maximum number similar to java Double.MAX_VALUE)

Built-in functions:

  • bucket(start, end[, label]) Bucket build-in function creates a bucket with range of start, end). Note that the end is exclusive. For example, bucket(1, MAX, "positive number") or bucket(1, 10).

Histogram Facets:

  • admin1: Admin1 is a global placeholder for referring to state, province, or the particular term a country uses to define the geographic structure below the country level. Examples include states codes such as "CA", "IL", "NY", and provinces, such as "BC".
  • locality: Locality is a global placeholder for referring to city, town, or the particular term a country uses to define the geographic structure below the admin1 level. Examples include city names such as "Mountain View" and "New York".
  • extended_locality: Extended locality is concatenated version of admin1 and locality with comma separator. For example, "Mountain View, CA" and "New York, NY".
  • postal_code: Postal code of profile which follows locale code.
  • country: Country code (ISO-3166-1 alpha-2 code) of profile, such as US, JP, GB.
  • job_title: Normalized job titles specified in EmploymentHistory.
  • company_name: Normalized company name of profiles to match on.
  • institution: The school name. For example, "MIT", "University of California, Berkeley"
  • degree: Highest education degree in ISCED code. Each value in degree covers a specific level of education, without any expansion to upper nor lower levels of education degree.
  • experience_in_months: experience in months. 0 means 0 month to 1 month (exclusive).
  • application_date: The application date specifies application start dates. See [ApplicationDateFilter for more details.
  • application_outcome_notes: The application outcome reason specifies the reasons behind the outcome of the job application. See ApplicationOutcomeNotesFilter for more details.
  • application_job_title: The application job title specifies the job applied for in the application. See ApplicationJobFilter for more details.
  • hirable_status: Hirable status specifies the profile's hirable status.
  • string_custom_attribute: String custom attributes. Values can be accessed via square bracket notation like string_custom_attribute["key1"].
  • numeric_custom_attribute: Numeric custom attributes. Values can be accessed via square bracket notation like numeric_custom_attribute["key1"].

Example expressions:

  • count(admin1)
  • count(experience_in_months, [bucket(0, 12, "1 year"), bucket(12, 36, "1-3 years"), bucket(36, MAX, "3+ years")])
  • count(string_custom_attribute["assigned_recruiter"])
  • count(numeric_custom_attribute["favorite_number"], [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])

This object should have the same structure as HistogramQuery

resultSetId string

An id that uniquely identifies the result set of a SearchProfiles call. The id should be retrieved from the SearchProfilesResponse message returned from a previous invocation of SearchProfiles.

A result set is an ordered list of search results.

If this field is not set, a new result set is computed based on the profile_query. A new result_set_id is returned as a handle to access this result set.

If this field is set, the service will ignore the resource and profile_query values, and simply retrieve a page of results from the corresponding result set. In this case, one and only one of page_token or offset must be set.

A typical use case is to invoke SearchProfilesRequest without this field, then use the resulting result_set_id in SearchProfilesResponse to page through the results.

strictKeywordsSearch boolean

This flag is used to indicate whether the service will attempt to understand synonyms and terms related to the search query or treat the query "as is" when it generates a set of results. By default this flag is set to false, thus allowing expanded results to also be returned. For example a search for "software engineer" might also return candidates who have experience in jobs similar to software engineer positions. By setting this flag to true, the service will only attempt to deliver candidates has software engineer in his/her global fields by treating "software engineer" as a keyword.

It is recommended to provide a feature in the UI (such as a checkbox) to allow recruiters to set this flag to true if they intend to search for longer boolean strings.

Source:
See:

SearchProfilesResponse

Response of SearchProfiles method.

Properties:
Name Type Description
estimatedTotalSize number

An estimation of the number of profiles that match the specified query.

This number isn't guaranteed to be accurate.

spellCorrection Object

The spell checking result, and correction.

This object should have the same structure as SpellingCorrection

metadata Object

Additional information for the API invocation, such as the request tracking id.

This object should have the same structure as ResponseMetadata

nextPageToken string

A token to retrieve the next page of results. This is empty if there are no more results.

histogramQueryResults Array.<Object>

The histogram results that match with specified SearchProfilesRequest.histogram_queries.

This object should have the same structure as HistogramQueryResult

summarizedProfiles Array.<Object>

The profile entities that match the specified SearchProfilesRequest.

This object should have the same structure as SummarizedProfile

resultSetId string

An id that uniquely identifies the result set of a SearchProfiles call for consistent results.

Source:
See:

Skill

Resource that represents a skill of a candidate.

Properties:
Name Type Description
displayName string

Skill display name.

For example, "Java", "Python".

Number of characters allowed is 100.

lastUsedDate Object

The last time this skill was used.

This object should have the same structure as Date

level number

Skill proficiency level which indicates how proficient the candidate is at this skill.

The number should be among the values of SkillProficiencyLevel

context string

A paragraph describes context of this skill.

Number of characters allowed is 100,000.

skillNameSnippet string

Output only. Skill name snippet shows how the display_name is related to a search query. It's empty if the display_name isn't related to the search query.

Source:
See:

SkillFilter

Skill filter of the search.

Properties:
Name Type Description
skill string

Required. The skill name. For example, "java", "j2ee", and so on.

negated boolean

Whether to apply negation to the filter so profiles matching the filter are excluded.

Source:
See:

SpellingCorrection

Spell check result.

Properties:
Name Type Description
corrected boolean

Indicates if the query was corrected by the spell checker.

correctedText string

Correction output consisting of the corrected keyword string.

correctedHtml string

Corrected output with html tags to highlight the corrected words. Corrected words are called out with the "..." html tags.

For example, the user input query is "software enginear", where the second word, "enginear," is incorrect. It should be "engineer". When spelling correction is enabled, this value is "software engineer".

Source:
See:

SummarizedProfile

Profile entry with metadata inside SearchProfilesResponse.

Properties:
Name Type Description
profiles Array.<Object>

A list of profiles that are linked by Profile.group_id.

This object should have the same structure as Profile

summary Object

A profile summary shows the profile summary and how the profile matches the search query.

In profile summary, the profiles with the same Profile.group_id are merged together. Among profiles, same education/employment records may be slightly different but they are merged into one with best efforts.

For example, in one profile the school name is "UC Berkeley" and the field study is "Computer Science" and in another one the school name is "University of California at Berkeley" and the field study is "CS". The API merges these two inputs into one and selects one value for each field. For example, the school name in summary is set to "University of California at Berkeley" and the field of study is set to "Computer Science".

This object should have the same structure as Profile

Source:
See:

Tenant

A Tenant resource represents a tenant in the service. A tenant is a group or entity that shares common access with specific privileges for resources like profiles. Customer may create multiple tenants to provide data isolation for different groups.

Properties:
Name Type Description
name string

Required during tenant update.

The resource name for a tenant. This is generated by the service when a tenant is created.

The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

externalId string

Required. Client side tenant identifier, used to uniquely identify the tenant.

The maximum number of allowed characters is 255.

usageType number

Indicates whether data owned by this tenant may be used to provide product improvements across other tenants.

Defaults behavior is DataUsageType.ISOLATED if it's unset.

The number should be among the values of DataUsageType

keywordSearchableProfileCustomAttributes Array.<string>

A list of keys of filterable Profile.custom_attributes, whose corresponding string_values are used in keyword searches. Profiles with string_values under these specified field keys are returned if any of the values match the search keyword. Custom field values with parenthesis, brackets and special symbols are not searchable as-is, and must be surrounded by quotes.

Source:
See:

TimeFilter

Filter on create timestamp or update timestamp of profiles.

Properties:
Name Type Description
startTime Object

Start timestamp, matching profiles with the start time. If this field missing, The API matches profiles with create / update timestamp before the end timestamp.

This object should have the same structure as Timestamp

endTime Object

End timestamp, matching profiles with the end time. If this field missing, The API matches profiles with create / update timestamp after the start timestamp.

This object should have the same structure as Timestamp

timeField number

Specifies which time field to filter profiles.

Defaults to TimeField.CREATE_TIME.

The number should be among the values of TimeField

Source:
See:

TimestampRange

Message representing a period of time between two timestamps.

Properties:
Name Type Description
startTime Object

Begin of the period (inclusive).

This object should have the same structure as Timestamp

endTime Object

End of the period (exclusive).

This object should have the same structure as Timestamp

Source:
See:

UpdateApplicationRequest

Request for updating a specified application.

Properties:
Name Type Description
application Object

Required. The application resource to replace the current resource in the system.

This object should have the same structure as Application

updateMask Object

Strongly recommended for the best service experience.

If update_mask is provided, only the specified fields in application are updated. Otherwise all the fields are updated.

A field mask to specify the application fields to be updated. Only top level fields of Application are supported.

This object should have the same structure as FieldMask

Source:
See:

UpdateCompanyRequest

Request for updating a specified company.

Properties:
Name Type Description
company Object

Required. The company resource to replace the current resource in the system.

This object should have the same structure as Company

updateMask Object

Strongly recommended for the best service experience.

If update_mask is provided, only the specified fields in company are updated. Otherwise all the fields are updated.

A field mask to specify the company fields to be updated. Only top level fields of Company are supported.

This object should have the same structure as FieldMask

Source:
See:

UpdateJobRequest

Update job request.

Properties:
Name Type Description
job Object

Required. The Job to be updated.

This object should have the same structure as Job

updateMask Object

Strongly recommended for the best service experience.

If update_mask is provided, only the specified fields in job are updated. Otherwise all the fields are updated.

A field mask to restrict the fields that are updated. Only top level fields of Job are supported.

This object should have the same structure as FieldMask

Source:
See:

UpdateProfileRequest

Update profile request

Properties:
Name Type Description
profile Object

Required. Profile to be updated.

This object should have the same structure as Profile

updateMask Object

A field mask to specify the profile fields to update.

A full update is performed if it is unset.

Valid values are:

  • external_id
  • source
  • source_types
  • uri
  • is_hirable
  • create_time
  • update_time
  • candidate_update_time
  • resume_update_time
  • resume
  • person_names
  • addresses
  • email_addresses
  • phone_numbers
  • personal_uris
  • additional_contact_info
  • employment_records
  • education_records
  • skills
  • activities
  • publications
  • patents
  • certifications
  • recruiting_notes
  • custom_attributes
  • group_id
  • external_system
  • source_note
  • primary_responsibilities
  • citizenships
  • work_authorizations
  • employee_types
  • language_code
  • qualification_summary
  • allowed_contact_types
  • preferred_contact_types
  • contact_availability
  • language_fluencies
  • work_preference
  • industry_experiences
  • work_environment_experiences
  • work_availability
  • security_clearances
  • references
  • assessments
  • interviews

This object should have the same structure as FieldMask

Source:
See:

UpdateTenantRequest

Request for updating a specified tenant.

Properties:
Name Type Description
tenant Object

Required. The tenant resource to replace the current resource in the system.

This object should have the same structure as Tenant

updateMask Object

Strongly recommended for the best service experience.

If update_mask is provided, only the specified fields in tenant are updated. Otherwise all the fields are updated.

A field mask to specify the tenant fields to be updated. Only top level fields of Tenant are supported.

This object should have the same structure as FieldMask

Source:
See:

WorkExperienceFilter

Work experience filter.

This filter is used to search for profiles with working experience length between min_experience and max_experience.

Properties:
Name Type Description
minExperience Object

The minimum duration of the work experience (inclusive).

This object should have the same structure as Duration

maxExperience Object

The maximum duration of the work experience (exclusive).

This object should have the same structure as Duration

Source:
See: