Package google.cloud.talent.v4beta1

Index

ApplicationService

A service that handles application management, including CRUD and enumeration.

CreateApplication

rpc CreateApplication(CreateApplicationRequest) returns (Application)

Creates a new application entity.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteApplication

rpc DeleteApplication(DeleteApplicationRequest) returns (Empty)

Deletes specified application.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetApplication

rpc GetApplication(GetApplicationRequest) returns (Application)

Retrieves specified application.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListApplications

rpc ListApplications(ListApplicationsRequest) returns (ListApplicationsResponse)

Lists all applications associated with the profile.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateApplication

rpc UpdateApplication(UpdateApplicationRequest) returns (Application)

Updates specified application.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CompanyService

A service that handles company management, including CRUD and enumeration.

CreateCompany

rpc CreateCompany(CreateCompanyRequest) returns (Company)

Creates a new company entity.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteCompany

rpc DeleteCompany(DeleteCompanyRequest) returns (Empty)

Deletes specified company. Prerequisite: The company has no jobs associated with it.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetCompany

rpc GetCompany(GetCompanyRequest) returns (Company)

Retrieves specified company.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListCompanies

rpc ListCompanies(ListCompaniesRequest) returns (ListCompaniesResponse)

Lists all companies associated with the project.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateCompany

rpc UpdateCompany(UpdateCompanyRequest) returns (Company)

Updates specified company.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

Completion

A service handles auto completion.

CompleteQuery

rpc CompleteQuery(CompleteQueryRequest) returns (CompleteQueryResponse)

Completes the specified prefix with keyword suggestions. Intended for use by a job search auto-complete search box.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

EventService

A service handles client event report.

CreateClientEvent

rpc CreateClientEvent(CreateClientEventRequest) returns (ClientEvent)

Report events issued when end user interacts with customer's application that uses Cloud Talent Solution. You may inspect the created events in self service tools. Learn more about self service tools.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

JobService

A service handles job management, including job CRUD, enumeration and search.

BatchCreateJobs

rpc BatchCreateJobs(BatchCreateJobsRequest) returns (Operation)

Begins executing a batch create jobs operation.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

BatchDeleteJobs

rpc BatchDeleteJobs(BatchDeleteJobsRequest) returns (Empty)

Deletes a list of Jobs by filter.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

BatchUpdateJobs

rpc BatchUpdateJobs(BatchUpdateJobsRequest) returns (Operation)

Begins executing a batch update jobs operation.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateJob

rpc CreateJob(CreateJobRequest) returns (Job)

Creates a new job.

Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteJob

rpc DeleteJob(DeleteJobRequest) returns (Empty)

Deletes the specified job.

Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetJob

rpc GetJob(GetJobRequest) returns (Job)

Retrieves the specified job, whose status is OPEN or recently EXPIRED within the last 90 days.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListJobs

rpc ListJobs(ListJobsRequest) returns (ListJobsResponse)

Lists jobs by filter.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SearchJobs

rpc SearchJobs(SearchJobsRequest) returns (SearchJobsResponse)

Searches for jobs using the provided SearchJobsRequest.

This call constrains the visibility of jobs present in the database, and only returns jobs that the caller has permission to search against.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SearchJobsForAlert

rpc SearchJobsForAlert(SearchJobsRequest) returns (SearchJobsResponse)

Searches for jobs using the provided SearchJobsRequest.

This API call is intended for the use case of targeting passive job seekers (for example, job seekers who have signed up to receive email alerts about potential job opportunities), and has different algorithmic adjustments that are targeted to passive job seekers.

This call constrains the visibility of jobs present in the database, and only returns jobs the caller has permission to search against.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateJob

rpc UpdateJob(UpdateJobRequest) returns (Job)

Updates specified job.

Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ProfileService

A service that handles profile management, including profile CRUD, enumeration and search.

CreateProfile

rpc CreateProfile(CreateProfileRequest) returns (Profile)

Creates and returns a new profile.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteProfile

rpc DeleteProfile(DeleteProfileRequest) returns (Empty)

Deletes the specified profile. Prerequisite: The profile has no associated applications or assignments associated.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetProfile

rpc GetProfile(GetProfileRequest) returns (Profile)

Gets the specified profile.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListProfiles

rpc ListProfiles(ListProfilesRequest) returns (ListProfilesResponse)

Lists profiles by filter. The order is unspecified.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SearchProfiles

rpc SearchProfiles(SearchProfilesRequest) returns (SearchProfilesResponse)

Searches for profiles within a tenant.

For example, search by raw queries "software engineer in Mountain View" or search by structured filters (location filter, education filter, etc.).

See SearchProfilesRequest for more information.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateProfile

rpc UpdateProfile(UpdateProfileRequest) returns (Profile)

Updates the specified profile and returns the updated result.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

TenantService

A service that handles tenant management, including CRUD and enumeration.

CreateTenant

rpc CreateTenant(CreateTenantRequest) returns (Tenant)

Creates a new tenant entity.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteTenant

rpc DeleteTenant(DeleteTenantRequest) returns (Empty)

Deletes specified tenant.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetTenant

rpc GetTenant(GetTenantRequest) returns (Tenant)

Retrieves specified tenant.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListTenants

rpc ListTenants(ListTenantsRequest) returns (ListTenantsResponse)

Lists all tenants associated with the project.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateTenant

rpc UpdateTenant(UpdateTenantRequest) returns (Tenant)

Updates specified tenant.

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/jobs
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

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.

Fields
display_name

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.

create_date

Date

The first creation date of the activity.

update_date

Date

The last update date of the activity.

team_members[]

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.

skills_used[]

Skill

A list of skills used in this activity.

The limitation for max number of skills used is 50.

activity_name_snippet

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.

activity_description_snippet

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.

skills_used_snippet[]

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.

AdditionalContactInfo

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

Fields
usage

ContactInfoUsage

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

name

string

The name of the contact method.

For example, "hangout", "skype".

Number of characters allowed is 100.

contact_id

string

The contact id.

Number of characters allowed is 100.

Address

Resource that represents a address.

Fields
usage

ContactInfoUsage

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

current

BoolValue

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

Union field address. The address of a person. It can be one of unstructured_address or structured_address. address can be only one of the following:
unstructured_address

string

Unstructured address.

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

Number of characters allowed is 100.

structured_address

PostalAddress

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

Application

Resource that represents a job application record of a candidate.

Fields
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".

external_id

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".

application_date

Date

The application date.

stage

ApplicationStage

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.

state

ApplicationState

The application state.

interviews[]

Interview

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).

referral

BoolValue

If the candidate is referred by a employee.

create_time

Timestamp

Required. Reflects the time that the application was created.

update_time

Timestamp

The last update timestamp.

outcome_notes

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

Outcome

Outcome positiveness shows how positive the outcome is.

is_match

BoolValue

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

job_title_snippet

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.

ApplicationStage

The stage of the application.

Enums
APPLICATION_STAGE_UNSPECIFIED Default value.
NEW 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 A recruiter decided to screen the candidate for this role.
HIRING_MANAGER_REVIEW Candidate is being / was sent to the customer / hiring manager for detailed review.
INTERVIEW Candidate was approved by the client / hiring manager and is being / was interviewed for the role.
OFFER_EXTENDED Candidate will be / has been given an offer of employment.
OFFER_ACCEPTED Candidate has accepted their offer of employment.
STARTED Candidate has begun (or completed) their employment or assignment with the employer.

ApplicationState

Enum that represents the application status.

Enums
APPLICATION_STATE_UNSPECIFIED Default value.
IN_PROGRESS The current stage is in progress or pending, for example, interviews in progress.
CANDIDATE_WITHDREW The current stage was terminated by a candidate decision.
EMPLOYER_WITHDREW The current stage was terminated by an employer or agency decision.
COMPLETED The current stage is successfully completed, but the next stage (if applicable) has not begun.
CLOSED The current stage was closed without an exception, or terminated for reasons unrealated to the candidate.

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.

Fields
start_date

Date

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

end_date

Date

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

ApplicationJobFilter

Filter on the job information of Application.

Fields
job_requisition_id

string

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

job_title

string

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

negated

bool

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

ApplicationOutcomeNotesFilter

Outcome Notes Filter.

Fields
outcome_notes

string

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

negated

bool

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

AvailabilityFilter

Filter on availability signals.

Fields
signal_type

AvailabilitySignalType

Required. Type of signal to apply filter on.

range

TimestampRange

Required. Range of times to filter candidate signals by.

required

bool

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.

AvailabilitySignal

Candidate availability signal.

Fields
type

AvailabilitySignalType

Type of signal.

last_update_time

Timestamp

Timestamp of when the given availability activity last happened.

filter_satisfied

BoolValue

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.

AvailabilitySignalType

The type of candidate availability signal.

Enums
AVAILABILITY_SIGNAL_TYPE_UNSPECIFIED Default value.
JOB_APPLICATION

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

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

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

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.

BatchCreateJobsRequest

Request to create a batch of jobs.

Fields
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[]

Job

Required. The jobs to be created.

BatchDeleteJobsRequest

Batch delete jobs request.

Fields
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"

BatchOperationMetadata

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

Fields
state

State

The state of a long running operation.

state_description

string

More detailed information about operation state.

success_count

int32

Count of successful item(s) inside an operation.

failure_count

int32

Count of failed item(s) inside an operation.

total_count

int32

Count of total item(s) inside an operation.

create_time

Timestamp

The time when the batch operation is created.

update_time

Timestamp

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

end_time

Timestamp

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

State

Enums
STATE_UNSPECIFIED Default value.
INITIALIZING The batch operation is being prepared for processing.
PROCESSING The batch operation is actively being processed.
SUCCEEDED The batch operation is processed, and at least one item has been successfully processed.
FAILED The batch operation is done and no item has been successfully processed.
CANCELLING The batch operation is in the process of cancelling after google.longrunning.Operations.CancelOperation is called.
CANCELLED The batch operation is done after google.longrunning.Operations.CancelOperation is called. Any items processed before cancelling are returned in the response.

BatchUpdateJobsRequest

Request to update a batch of jobs.

Fields
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[]

Job

Required. The jobs to be updated.

update_mask

FieldMask

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.

CandidateAvailabilityFilter

Deprecated. Use AvailabilityFilter instead.

Filter on availability signals.

Fields
negated

bool

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

Certification

Resource that represents a license or certification.

Fields
display_name

string

Name of license or certification.

Number of characters allowed is 100.

acquire_date

Date

Acquisition date or effective date of license or certification.

expire_date

Date

Expiration date of license of certification.

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.

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.

Fields
request_id

string

Strongly recommended for the best service experience.

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

event_id

string

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

create_time

Timestamp

Required. The timestamp of the event.

event_notes

string

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

Union field event. Required.

The detail information of a specific event type. event can be only one of the following:

job_event

JobEvent

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

profile_event

ProfileEvent

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

CommuteFilter

Parameters needed for commute search.

Fields
commute_method

CommuteMethod

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

start_coordinates

LatLng

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

travel_duration

Duration

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

allow_imprecise_addresses

bool

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.

Union field traffic_option. Traffic factor to take into account while searching by commute. traffic_option can be only one of the following:
road_traffic

RoadTraffic

Specifies the traffic density to use when calculating commute time.

departure_time

TimeOfDay

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.

RoadTraffic

The traffic density to use when calculating commute time.

Enums
ROAD_TRAFFIC_UNSPECIFIED Road traffic situation isn't specified.
TRAFFIC_FREE Optimal commute time without considering any traffic impact.
BUSY_HOUR Commute time calculation takes in account the peak traffic impact.

CommuteMethod

Method for commute.

Enums
COMMUTE_METHOD_UNSPECIFIED Commute method isn't specified.
DRIVING Commute time is calculated based on driving time.
TRANSIT Commute time is calculated based on public transit including bus, metro, subway, and so on.
WALKING Commute time is calculated based on walking time.
CYCLING Commute time is calculated based on biking time.

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.

Fields
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".

display_name

string

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

external_id

string

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

The maximum number of allowed characters is 255.

size

CompanySize

The employer's company size.

headquarters_address

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.

hiring_agency

bool

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

Defaults to false if not provided.

eeo_text

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.

website_uri

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.

career_site_uri

string

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

image_uri

string

A URI that hosts the employer's company logo.

keyword_searchable_job_custom_attributes[]

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.

derived_info

DerivedInfo

Output only. Derived details about the company.

suspended

bool

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.

DerivedInfo

Derived details about the company.

Fields
headquarters_location

Location

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

CompanySize

An enum that represents the size of the company.

Enums
COMPANY_SIZE_UNSPECIFIED Default value if the size isn't specified.
MINI The company has less than 50 employees.
SMALL The company has between 50 and 99 employees.
SMEDIUM The company has between 100 and 499 employees.
MEDIUM The company has between 500 and 999 employees.
BIG The company has between 1,000 and 4,999 employees.
BIGGER The company has between 5,000 and 9,999 employees.
GIANT The company has 10,000 or more employees.

CompensationFilter

Filter on job compensation type and amount.

Fields
type

FilterType

Required. Type of filter.

units[]

CompensationUnit

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

range

CompensationRange

Compensation range.

include_jobs_with_unspecified_compensation_range

bool

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

FilterType

Specify the type of filtering.

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

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

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

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

ANNUALIZED_TOTAL_AMOUNT

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

CompensationInfo

Job compensation details.

Fields
entries[]

CompensationEntry

Job compensation information.

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

annualized_base_compensation_range

CompensationRange

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.

annualized_total_compensation_range

CompensationRange

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.

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.

Fields
type

CompensationType

Compensation type.

Default is CompensationType.COMPENSATION_TYPE_UNSPECIFIED.

unit

CompensationUnit

Frequency of the specified amount.

Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.

description

string

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

expected_units_per_year

DoubleValue

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

Union field compensation_amount. Compensation amount. It could be a fixed amount or a floating range. compensation_amount can be only one of the following:
amount

Money

Compensation amount.

range

CompensationRange

Compensation range.

CompensationRange

Compensation range.

Fields
max_compensation

Money

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.

min_compensation

Money

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.

CompensationType

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.

Enums
COMPENSATION_TYPE_UNSPECIFIED Default value.
BASE 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 Bonus.
SIGNING_BONUS Signing bonus.
EQUITY Equity.
PROFIT_SHARING Profit sharing.
COMMISSIONS Commission.
TIPS Tips.
OTHER_COMPENSATION_TYPE Other compensation type.

CompensationUnit

Pay frequency.

Enums
COMPENSATION_UNIT_UNSPECIFIED Default value.
HOURLY Hourly.
DAILY Daily.
WEEKLY Weekly
MONTHLY Monthly.
YEARLY Yearly.
ONE_TIME One time.
OTHER_COMPENSATION_UNIT Other compensation units.

CompleteQueryRequest

Auto-complete parameters.

Fields
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.

language_codes[]

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.

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

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

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

The maximum number of allowed characters is 255.

page_size

int32

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

CompletionScope

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

type

CompletionType

The completion topic. The default is CompletionType.COMBINED.

CompletionScope

Enum to specify the scope of completion.

Enums
COMPLETION_SCOPE_UNSPECIFIED Default value.
TENANT Suggestions are based only on the data provided by the client.
PUBLIC Suggestions are based on all jobs data in the system that's visible to the client

CompletionType

Enum to specify auto-completion topics.

Enums
COMPLETION_TYPE_UNSPECIFIED Default value.
JOB_TITLE Only suggest job titles.
COMPANY_NAME Only suggest company names.
COMBINED Suggest both job titles and company names.

CompleteQueryResponse

Response of auto-complete query.

Fields
completion_results[]

CompletionResult

Results of the matching job/company candidates.

metadata

ResponseMetadata

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

CompletionResult

Resource that represents completion results.

Fields
suggestion

string

The suggestion for the query.

type

CompletionType

The completion topic.

image_uri

string

The URI of the company image for COMPANY_NAME.

ContactInfoUsage

Enum that represents the usage of the contact information.

Enums
CONTACT_INFO_USAGE_UNSPECIFIED Default value.
PERSONAL Personal use.
WORK Work use.
SCHOOL School use.

CreateApplicationRequest

The Request of the CreateApplication method.

Fields
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

Application

Required. The application to be created.

CreateClientEventRequest

The report event request.

Fields
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".

client_event

ClientEvent

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

CreateCompanyRequest

The Request of the CreateCompany method.

Fields
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

Company

Required. The company to be created.

CreateJobRequest

Create job request.

Fields
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

Job

Required. The Job to be created.

CreateProfileRequest

Create profile request.

Fields
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

Profile

Required. The profile to be created.

CreateTenantRequest

The Request of the CreateTenant method.

Fields
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

Tenant

Required. The tenant to be created.

CustomAttribute

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

Fields
string_values[]

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.

long_values[]

int64

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

bool

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

Default is false.

Degree

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

Fields
degree_type

DegreeType

ISCED degree type.

degree_name

string

Full Degree name.

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

Number of characters allowed is 100.

fields_of_study[]

string

Fields of study for the degree.

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

Number of characters allowed is 100.

DegreeType

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

Enums
DEGREE_TYPE_UNSPECIFIED Default value. Represents no degree, or early childhood education. Maps to ISCED code 0. Ex) Kindergarten
PRIMARY_EDUCATION Primary education which is typically the first stage of compulsory education. ISCED code 1. Ex) Elementary school
LOWER_SECONDARY_EDUCATION 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 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 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 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 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 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 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.

DeleteApplicationRequest

Request to delete a application.

Fields
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".

DeleteCompanyRequest

Request to delete a company.

Fields
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".

DeleteJobRequest

Delete job request.

Fields
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".

DeleteProfileRequest

Delete profile request.

Fields
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".

DeleteTenantRequest

Request to delete a tenant.

Fields
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".

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.

Fields
device_type

DeviceType

Type of the device.

id

string

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

DeviceType

An enumeration describing an API access portal and exposure mechanism.

Enums
DEVICE_TYPE_UNSPECIFIED The device type isn't specified.
WEB A desktop web browser, such as, Chrome, Firefox, Safari, or Internet Explorer)
MOBILE_WEB A mobile device web browser, such as a phone or tablet with a Chrome browser.
ANDROID An Android device native application.
IOS An iOS device native application.
BOT A bot, as opposed to a device operated by human beings, such as a web crawler.
OTHER Other devices types.

EducationFilter

Education filter of the search.

Fields
school

string

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

field_of_study

string

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

degree_type

DegreeType

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.

negated

bool

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

EducationRecord

Resource that represents an education record of a candidate.

Fields
start_date

Date

The start date of the education.

end_date

Date

The end date of the education.

expected_graduation_date

Date

The expected graduation date if currently pursuing a degree.

school_name

string

The name of the school or institution.

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

Number of characters allowed is 250.

address

Address

The physical address of the education institution.

description

string

The description of the education.

Number of characters allowed is 100,000.

is_current

BoolValue

If this education is current.

school_name_snippet

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.

degree_snippet

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.

Union field degree. The degree information. It can be one of degree_description or structured_degree. degree can be only one of the following:
degree_description

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.

structured_degree

Degree

The structured notation of the degree.

Email

Resource that represents a person's email address.

Fields
usage

ContactInfoUsage

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

email_address

string

Email address.

Number of characters allowed is 4,000.

EmployerFilter

Employer filter of the search.

Fields
employer

string

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

mode

EmployerFilterMode

Define set of EmploymentRecords to search against.

Defaults to EmployerFilterMode.ALL_EMPLOYMENT_RECORDS.

negated

bool

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

EmployerFilterMode

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

Enums
EMPLOYER_FILTER_MODE_UNSPECIFIED Default value.
ALL_EMPLOYMENT_RECORDS Apply to all employers in Profile.employment_records.
CURRENT_EMPLOYMENT_RECORDS_ONLY Apply only to current employer in Profile.employment_records.
PAST_EMPLOYMENT_RECORDS_ONLY Apply only to past (not current) employers in Profile.employment_records.

EmploymentRecord

Resource that represents an employment record of a candidate.

Fields
start_date

Date

Start date of the employment.

end_date

Date

End date of the employment.

employer_name

string

The name of the employer company/organization.

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

Number of characters allowed is 250.

division_name

string

The division name of the employment.

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

Number of characters allowed is 100.

address

Address

The physical address of the employer.

job_title

string

The job title of the employment.

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

Number of characters allowed is 250.

job_description

string

The description of job content.

Number of characters allowed is 100,000.

is_supervisor

BoolValue

If the jobs is a supervisor position.

is_self_employed

BoolValue

If this employment is self-employed.

is_current

BoolValue

If this employment is current.

job_title_snippet

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.

job_description_snippet

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.

employer_name_snippet

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.

EmploymentType

An enum that represents the employment type of a job.

Enums
EMPLOYMENT_TYPE_UNSPECIFIED The default value if the employment type isn't specified.
FULL_TIME The job requires working a number of hours that constitute full time employment, typically 40 or more hours per week.
PART_TIME The job entails working fewer hours than a full time job, typically less than 40 hours a week.
CONTRACTOR The job is offered as a contracted, as opposed to a salaried employee, position.
CONTRACT_TO_HIRE 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 The job is offered as a temporary employment opportunity, usually a short-term engagement.
INTERN 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 The is an opportunity for an individual to volunteer, where there's no expectation of compensation for the provided services.
PER_DIEM The job requires an employee to work on an as-needed basis with a flexible schedule.
FLY_IN_FLY_OUT 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 The job does not fit any of the other listed types.

GetApplicationRequest

Request for getting a application by name.

Fields
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".

GetCompanyRequest

Request for getting a company by name.

Fields
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".

GetJobRequest

Get job request.

Fields
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".

GetProfileRequest

Get profile request.

Fields
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".

GetTenantRequest

Request for getting a tenant by name.

Fields
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".

HistogramQuery

The histogram request.

Fields
histogram_query

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.

HistogramQueryResult

Histogram result that matches HistogramQuery specified in searches.

Fields
histogram_query

string

Requested histogram expression.

histogram

map<string, int64>

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.

HtmlSanitization

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.

Enums
HTML_SANITIZATION_UNSPECIFIED Default value.
HTML_SANITIZATION_DISABLED Disables sanitization on HTML input.
SIMPLE_FORMATTING_ONLY Sanitizes HTML input, only accepts bold, italic, ordered list, and unordered list markup tags.

Interview

Details of an interview.

Fields
rating

Rating

The rating on this interview.

outcome

Outcome

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

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.

Fields
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".

requisition_id

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[]

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.

application_info

ApplicationInfo

Job application information.

job_benefits[]

JobBenefit

The benefits included with the job.

compensation_info

CompensationInfo

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

custom_attributes

map<string, CustomAttribute>

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.

degree_types[]

DegreeType

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

department

string

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

The maximum number of allowed characters is 255.

employment_types[]

EmploymentType

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

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.

language_code

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'.

job_level

JobLevel

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

promotion_value

int32

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.

posting_region

PostingRegion

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.

visibility
(deprecated)

Visibility

Deprecated. The job is only visible to the owner.

The visibility of the job.

Defaults to Visibility.ACCOUNT_ONLY if not specified.

job_start_time

Timestamp

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

job_end_time

Timestamp

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

posting_publish_time

Timestamp

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.

posting_expire_time

Timestamp

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.

posting_create_time

Timestamp

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

posting_update_time

Timestamp

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

company_display_name

string

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

derived_info

DerivedInfo

Output only. Derived details about the job posting.

processing_options

ProcessingOptions

Options for job processing.

ApplicationInfo

Application related details of a job posting.

Fields
emails[]

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[]

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.

DerivedInfo

Derived details about the job posting.

Fields
locations[]

Location

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

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

job_categories[]

JobCategory

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

ProcessingOptions

Options for job processing.

Fields
disable_street_address_resolution

bool

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

html_sanitization

HtmlSanitization

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.

JobBenefit

An enum that represents employee benefits included with the job.

Enums
JOB_BENEFIT_UNSPECIFIED Default value if the type isn't specified.
CHILD_CARE The job includes access to programs that support child care, such as daycare.
DENTAL The job includes dental services covered by a dental insurance plan.
DOMESTIC_PARTNER The job offers specific benefits to domestic partners.
FLEXIBLE_HOURS The job allows for a flexible work schedule.
MEDICAL The job includes health services covered by a medical insurance plan.
LIFE_INSURANCE The job includes a life insurance plan provided by the employer or available for purchase by the employee.
PARENTAL_LEAVE The job allows for a leave of absence to a parent to care for a newborn child.
RETIREMENT_PLAN The job includes a workplace retirement plan provided by the employer or available for purchase by the employee.
SICK_DAYS The job allows for paid time off due to illness.
VACATION The job includes paid time off for vacation.
VISION The job includes vision services covered by a vision insurance plan.

JobCategory

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.

Enums
JOB_CATEGORY_UNSPECIFIED The default value if the category isn't specified.
ACCOUNTING_AND_FINANCE An accounting and finance job, such as an Accountant.
ADMINISTRATIVE_AND_OFFICE An administrative and office job, such as an Administrative Assistant.
ADVERTISING_AND_MARKETING An advertising and marketing job, such as Marketing Manager.
ANIMAL_CARE An animal care job, such as Veterinarian.
ART_FASHION_AND_DESIGN An art, fashion, or design job, such as Designer.
BUSINESS_OPERATIONS A business operations job, such as Business Operations Manager.
CLEANING_AND_FACILITIES A cleaning and facilities job, such as Custodial Staff.
COMPUTER_AND_IT A computer and IT job, such as Systems Administrator.
CONSTRUCTION A construction job, such as General Laborer.
CUSTOMER_SERVICE A customer service job, such s Cashier.
EDUCATION An education job, such as School Teacher.
ENTERTAINMENT_AND_TRAVEL An entertainment and travel job, such as Flight Attendant.
FARMING_AND_OUTDOORS A farming or outdoor job, such as Park Ranger.
HEALTHCARE A healthcare job, such as Registered Nurse.
HUMAN_RESOURCES A human resources job, such as Human Resources Director.
INSTALLATION_MAINTENANCE_AND_REPAIR An installation, maintenance, or repair job, such as Electrician.
LEGAL A legal job, such as Law Clerk.
MANAGEMENT A management job, often used in conjunction with another category, such as Store Manager.
MANUFACTURING_AND_WAREHOUSE A manufacturing or warehouse job, such as Assembly Technician.
MEDIA_COMMUNICATIONS_AND_WRITING A media, communications, or writing job, such as Media Relations.
OIL_GAS_AND_MINING An oil, gas or mining job, such as Offshore Driller.
PERSONAL_CARE_AND_SERVICES A personal care and services job, such as Hair Stylist.
PROTECTIVE_SERVICES A protective services job, such as Security Guard.
REAL_ESTATE A real estate job, such as Buyer's Agent.
RESTAURANT_AND_HOSPITALITY A restaurant and hospitality job, such as Restaurant Server.
SALES_AND_RETAIL A sales and/or retail job, such Sales Associate.
SCIENCE_AND_ENGINEERING A science and engineering job, such as Lab Technician.
SOCIAL_SERVICES_AND_NON_PROFIT A social services or non-profit job, such as Case Worker.
SPORTS_FITNESS_AND_RECREATION A sports, fitness, or recreation job, such as Personal Trainer.
TRANSPORTATION_AND_LOGISTICS A transportation or logistics job, such as Truck Driver.

JobEvent

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

Fields
type

JobEventType

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

jobs[]

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".

JobEventType

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

Enums
JOB_EVENT_TYPE_UNSPECIFIED The event is unspecified by other provided values.
IMPRESSION 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 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 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 The job seeker or other entity interacting with the service began the process or demonstrated the intention of applying for a job.
APPLICATION_FINISH The job seeker or other entity interacting with the service submitted an application for a job.
APPLICATION_QUICK_SUBMISSION 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 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_COMPANY_SUBMIT 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 The job seeker or other entity interacting with the service demonstrated an interest in a job by bookmarking or saving it.
NOTIFICATION 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 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 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 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.

JobLevel

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

Enums
JOB_LEVEL_UNSPECIFIED The default value if the level isn't specified.
ENTRY_LEVEL Entry-level individual contributors, typically with less than 2 years of experience in a similar role. Includes interns.
EXPERIENCED Experienced individual contributors, typically with 2+ years of experience in a similar role.
MANAGER Entry- to mid-level managers responsible for managing a team of people.
DIRECTOR Senior-level managers responsible for managing teams of managers.
EXECUTIVE Executive-level managers and above, including C-level positions.

JobOperationResult

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

Fields
job_results[]

JobResult

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

JobResult

Mutation result of a job.

Fields
job

Job

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.

status

Status

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

JobQuery

The query required to perform a search query.

Fields
query

string

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

The maximum number of allowed characters is 255.

query_language_code

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[]

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.

location_filters[]

LocationFilter

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.

job_categories[]

JobCategory

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.

commute_filter

CommuteFilter

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.

company_display_names[]

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.

compensation_filter

CompensationFilter

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.

custom_attribute_filter

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

disable_spell_check

bool

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.

employment_types[]

EmploymentType

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.

language_codes[]

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.

publish_time_range

TimestampRange

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

excluded_jobs[]

string

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

At most 400 excluded job names are allowed.

JobTitleFilter

Job title of the search.

Fields
job_title

string

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

negated

bool

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

JobView

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

Enums
JOB_VIEW_UNSPECIFIED Default value.
JOB_VIEW_ID_ONLY A ID only view of job, with following attributes: Job.name, Job.requisition_id, Job.language_code.
JOB_VIEW_MINIMAL 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 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 All available attributes are included in the search results.

ListApplicationsRequest

List applications for which the client has ACL visibility.

Fields
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".

page_token

string

The starting indicator from which to return results.

page_size

int32

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

ListApplicationsResponse

The List applications response object.

Fields
applications[]

Application

Applications for the current client.

next_page_token

string

A token to retrieve the next page of results.

metadata

ResponseMetadata

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

ListCompaniesRequest

List companies for which the client has ACL visibility.

Fields
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".

page_token

string

The starting indicator from which to return results.

page_size

int32

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

require_open_jobs

bool

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.

ListCompaniesResponse

The List companies response object.

Fields
companies[]

Company

Companies for the current client.

next_page_token

string

A token to retrieve the next page of results.

metadata

ResponseMetadata

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

ListJobsRequest

List jobs request.

Fields
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"

page_token

string

The starting point of a query result.

page_size

int32

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.

job_view

JobView

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

ListJobsResponse

List jobs response.

Fields
jobs[]

Job

The Jobs for a given company.

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

next_page_token

string

A token to retrieve the next page of results.

metadata

ResponseMetadata

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

ListProfilesRequest

List profiles request.

Fields
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"

page_token

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.

page_size

int32

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

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

read_mask

FieldMask

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

ListProfilesResponse

The List profiles response object.

Fields
profiles[]

Profile

Profiles for the specific tenant.

next_page_token

string

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

ListTenantsRequest

List tenants for which the client has ACL visibility.

Fields
parent

string

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

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

page_token

string

The starting indicator from which to return results.

page_size

int32

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

ListTenantsResponse

The List tenants response object.

Fields
tenants[]

Tenant

Tenants for the current client.

next_page_token

string

A token to retrieve the next page of results.

metadata

ResponseMetadata

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

Location

A resource that represents a location with full geographic information.

Fields
location_type

LocationType

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.

postal_address

PostalAddress

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.

lat_lng

LatLng

An object representing a latitude/longitude pair.

radius_miles

double

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.

LocationType

An enum which represents the type of a location.

Enums
LOCATION_TYPE_UNSPECIFIED Default value if the type isn't specified.
COUNTRY A country level location.
ADMINISTRATIVE_AREA A state or equivalent level location.
SUB_ADMINISTRATIVE_AREA A county or equivalent level location.
LOCALITY A city or equivalent level location.
POSTAL_CODE A postal code level location.
SUB_LOCALITY 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 A district or equivalent level location.
SUB_LOCALITY_2 A smaller district or equivalent level display.
NEIGHBORHOOD A neighborhood level location.
STREET_ADDRESS A street address level location.

LocationFilter

Geographic region of the search.

Fields
address

string

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

region_code

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.

lat_lng

LatLng

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

distance_in_miles

double

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.

telecommute_preference

TelecommutePreference

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.

negated

bool

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

Currently only supported in profile search.

TelecommutePreference

Specify whether to include telecommute jobs.

Enums
TELECOMMUTE_PREFERENCE_UNSPECIFIED Default value if the telecommute preference isn't specified.
TELECOMMUTE_EXCLUDED Exclude telecommute jobs.
TELECOMMUTE_ALLOWED Allow telecommute jobs.

Outcome

The overall outcome /decision / result indicator.

Enums
OUTCOME_UNSPECIFIED Default value.
POSITIVE 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 A neutral outcome / no clear indicator (for example, no strong reccommendation either to move forward / not move forward, neutral score).
NEGATIVE A negative outcome / failing indicator (for example, candidate was recommended to NOT move forward in the hiring process, failed a test).
OUTCOME_NOT_AVAILABLE The assessment outcome is not available or otherwise unknown (for example, candidate did not complete assessment).

Patent

Resource that represents the patent acquired by a candidate.

Fields
display_name

string

Name of the patent.

Number of characters allowed is 100.

inventors[]

string

A list of inventors' names.

Number of characters allowed for each is 100.

patent_status

string

The status of the patent.

Number of characters allowed is 100.

patent_status_date

Date

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

patent_filing_date

Date

The date that the patent was filed.

patent_office

string

The name of the patent office.

Number of characters allowed is 100.

patent_number

string

The number of the patent.

Number of characters allowed is 100.

patent_description

string

The description of the patent.

Number of characters allowed is 100,000.

skills_used[]

Skill

The skills used in this patent.

PersonName

Resource that represents the name of a person.

Fields
preferred_name

string

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

Number of characters allowed is 100.

Union field person_name. The name of a person. It can be one of formatted_name or structured_name. person_name can be only one of the following:
formatted_name

string

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

Number of characters allowed is 100.

structured_name

PersonStructuredName

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

PersonStructuredName

Resource that represents a person's structured name.

Fields
given_name

string

Given/first name.

It's derived from formatted_name if not provided.

Number of characters allowed is 100.

preferred_name

string

Preferred given/first name or nickname.

Number of characters allowed is 100.

middle_initial

string

Middle initial.

It's derived from formatted_name if not provided.

Number of characters allowed is 20.

family_name

string

Family/last name.

It's derived from formatted_name if not provided.

Number of characters allowed is 100.

suffixes[]

string

Suffixes.

Number of characters allowed is 20.

prefixes[]

string

Prefixes.

Number of characters allowed is 20.

PersonNameFilter

Filter on person name.

Fields
person_name

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.

PersonalUri

Resource that represents a valid URI for a personal use.

Fields
uri

string

The personal URI.

Number of characters allowed is 4,000.

Phone

Resource that represents a person's telephone number.

Fields
usage

ContactInfoUsage

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

type

PhoneType

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

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.

when_available

string

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

Number of characters allowed is 100.

PhoneType

Enum that represents the type of the telephone.

Enums
PHONE_TYPE_UNSPECIFIED Default value.
LANDLINE A landline.
MOBILE A mobile.
FAX A fax.
PAGER A pager.
TTY_OR_TDD A TTY (test telephone) or TDD (telecommunication device for the deaf).
VOICEMAIL A voicemail.
VIRTUAL 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 Voice over IP numbers. This includes TSoIP (Telephony Service over IP).
MOBILE_OR_LANDLINE 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.

PostingRegion

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.

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

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 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 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.

Profile

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

Fields
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".

external_id

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.

group_id

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.

is_hirable

BoolValue

Indicates the hirable status of the candidate.

create_time

Timestamp

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

update_time

Timestamp

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

candidate_update_time

Timestamp

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.

resume_update_time

Timestamp

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.

resume

Resume

The resume representing this profile.

person_names[]

PersonName

The names of the candidate this profile references.

Currently only one person name is supported.

addresses[]

Address

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.

email_addresses[]

Email

The candidate's email addresses.

phone_numbers[]

Phone

The candidate's phone number(s).

personal_uris[]

PersonalUri

The candidate's personal URIs.

additional_contact_info[]

AdditionalContactInfo

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

employment_records[]

EmploymentRecord

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.

education_records[]

EducationRecord

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.

skills[]

Skill

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.

activities[]

Activity

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.

publications[]

Publication

The publications published by the candidate.

The limitation for max number of publications is 50.

patents[]

Patent

The patents acquired by the candidate.

certifications[]

Certification

The certifications acquired by the candidate.

applications[]

string

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

assignments[]

string

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

custom_attributes

map<string, CustomAttribute>

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

bool

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.

keyword_snippet

string

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

availability_signals[]

AvailabilitySignal

Output only. Candidate's availability signals.

derived_addresses[]

Location

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

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

ProfileEvent

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

Fields
type

ProfileEventType

Required. Type of event.

profiles[]

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[]

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".

ProfileEventType

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

Enums
PROFILE_EVENT_TYPE_UNSPECIFIED Default value.
IMPRESSION 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

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 The profile is bookmarked.

ProfileQuery

Filters to apply when performing the search query.

Fields
query

string

Keywords to match any text fields of profiles.

For example, "software engineer in Palo Alto".

location_filters[]

LocationFilter

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.

job_title_filters[]

JobTitleFilter

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".

employer_filters[]

EmployerFilter

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".

education_filters[]

EducationFilter

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.

skill_filters[]

SkillFilter

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.

work_experience_filter[]

WorkExperienceFilter

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.

time_filters[]

TimeFilter

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

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

hirable_filter

BoolValue

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

application_date_filters[]

ApplicationDateFilter

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

application_outcome_notes_filters[]

ApplicationOutcomeNotesFilter

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

application_job_filters[]

ApplicationJobFilter

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

custom_attribute_filter

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() to perform case insensitive match and EMPTY() 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))

candidate_availability_filter
(deprecated)

CandidateAvailabilityFilter

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.

availability_filters[]

AvailabilityFilter

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.

person_name_filters[]

PersonNameFilter

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".

Publication

Resource that represents a publication resource of a candidate.

Fields
authors[]

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.

publication_date

Date

The publication date.

publication_type

string

The publication type.

Number of characters allowed is 100.

isbn

string

ISBN number.

Number of characters allowed is 100.

Rating

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

Fields
overall

double

Overall score.

min

double

The minimum value for the score.

max

double

The maximum value for the score.

interval

double

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)

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.

Fields
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.

session_id

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.

user_id

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.

allow_missing_ids

bool

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.

device_info

DeviceInfo

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

ResponseMetadata

Additional information returned to client, such as debugging information.

Fields
request_id

string

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

Resume

Resource that represents a resume.

Fields
structured_resume

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.

resume_type

ResumeType

The format of structured_resume.

ResumeType

The format of a structured resume.

Enums
RESUME_TYPE_UNSPECIFIED Default value.
HRXML 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 Resume type not specified.

SearchJobsRequest

The Request body of the SearchJobs call.

Fields
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".

search_mode

SearchMode

Mode of a search.

Defaults to SearchMode.JOB_SEARCH.

request_metadata

RequestMetadata

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.

job_query

JobQuery

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

enable_broadening

bool

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.

require_precise_result_size

bool

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.

histogram_queries[]

HistogramQuery

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"])

job_view

JobView

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

offset

int32

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.

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).

page_size

int32

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.

page_token

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.

order_by

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.

diversification_level

DiversificationLevel

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.

custom_ranking_info

CustomRankingInfo

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

disable_keyword_match

bool

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.

CustomRankingInfo

Custom ranking information for SearchJobsRequest.

Fields
importance_level

ImportanceLevel

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.

ranking_expression

string

Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). The product of 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.

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

ImportanceLevel

The importance level for CustomRankingInfo.ranking_expression.

Enums
IMPORTANCE_LEVEL_UNSPECIFIED Default value if the importance level isn't specified.
NONE The given ranking expression is of None importance, existing relevance score (determined by API algorithm) dominates job's final ranking position.
LOW 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 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 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 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 The given ranking expression is of Extreme importance, and dominates job's final ranking position with existing relevance score (determined by API algorithm) ignored.

DiversificationLevel

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.

Enums
DIVERSIFICATION_LEVEL_UNSPECIFIED The diversification level isn't specified.
DISABLED 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 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.

SearchMode

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

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

SearchJobsResponse

Response for SearchJob method.

Fields
matching_jobs[]

MatchingJob

The Job entities that match the specified SearchJobsRequest.

histogram_query_results[]

HistogramQueryResult

The histogram results that match with specified SearchJobsRequest.histogram_queries.

next_page_token

string

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

location_filters[]

Location

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.

estimated_total_size

int32

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.

total_size

int32

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

ResponseMetadata

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

broadened_query_jobs_count

int32

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.

spell_correction

SpellingCorrection

The spell checking result, and correction.

CommuteInfo

Commute details related to this job.

Fields
job_location

Location

Location used as the destination in the commute calculation.

travel_duration

Duration

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.

MatchingJob

Job entry with metadata inside SearchJobsResponse.

Fields
job

Job

Job resource that matches the specified SearchJobsRequest.

job_summary

string

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

job_title_snippet

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.

search_text_snippet

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.

commute_info

CommuteInfo

Commute information which is generated based on specified CommuteFilter.

SearchProfilesRequest

The request body of the SearchProfiles call.

Fields
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".

request_metadata

RequestMetadata

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.

profile_query

ProfileQuery

Search query to execute. See ProfileQuery for more details.

page_size

int32

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.

page_token

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

int32

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.

disable_spell_check

bool

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

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

order_by

string

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

Supported options are:

case_sensitive_sort

bool

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).

histogram_queries[]

HistogramQuery

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")])

result_set_id

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.

SearchProfilesResponse

Response of SearchProfiles method.

Fields
estimated_total_size

int64

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

This number isn't guaranteed to be accurate.

spell_correction

SpellingCorrection

The spell checking result, and correction.

metadata

ResponseMetadata

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

next_page_token

string

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

histogram_query_results[]

HistogramQueryResult

The histogram results that match with specified SearchProfilesRequest.histogram_queries.

summarized_profiles[]

SummarizedProfile

The profile entities that match the specified SearchProfilesRequest.

result_set_id

string

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

Skill

Resource that represents a skill of a candidate.

Fields
display_name

string

Skill display name.

For example, "Java", "Python".

Number of characters allowed is 100.

last_used_date

Date

The last time this skill was used.

level

SkillProficiencyLevel

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

context

string

A paragraph describes context of this skill.

Number of characters allowed is 100,000.

skill_name_snippet

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.

SkillFilter

Skill filter of the search.

Fields
skill

string

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

negated

bool

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

SkillProficiencyLevel

Enum that represents the skill proficiency level.

Enums
SKILL_PROFICIENCY_LEVEL_UNSPECIFIED Default value.
UNSKILLED Lacks any proficiency in this skill.
FUNDAMENTAL_AWARENESS Have a common knowledge or an understanding of basic techniques and concepts.
NOVICE Have the level of experience gained in a classroom and/or experimental scenarios or as a trainee on-the-job.
INTERMEDIATE 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 Can perform the actions associated with this skill without assistance.
EXPERT Known as an expert in this area.

SpellingCorrection

Spell check result.

Fields
corrected

bool

Indicates if the query was corrected by the spell checker.

corrected_text

string

Correction output consisting of the corrected keyword string.

corrected_html

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".

SummarizedProfile

Profile entry with metadata inside SearchProfilesResponse.

Fields
profiles[]

Profile

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

summary

Profile

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".

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.

Fields
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".

external_id

string

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

The maximum number of allowed characters is 255.

usage_type

DataUsageType

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.

keyword_searchable_profile_custom_attributes[]

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.

DataUsageType

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

Enums
DATA_USAGE_TYPE_UNSPECIFIED Default value.
AGGREGATED Data owned by this tenant is used to improve search/recommendation quality across tenants.
ISOLATED Data owned by this tenant is used to improve search/recommendation quality for this tenant only.

TimeFilter

Filter on create timestamp or update timestamp of profiles.

Fields
start_time

Timestamp

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

end_time

Timestamp

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

time_field

TimeField

Specifies which time field to filter profiles.

Defaults to TimeField.CREATE_TIME.

TimeField

Time fields can be used in TimeFilter.

Enums
TIME_FIELD_UNSPECIFIED Default value.
CREATE_TIME Earliest profile create time.
UPDATE_TIME Latest profile update time.

TimestampRange

Message representing a period of time between two timestamps.

Fields
start_time

Timestamp

Begin of the period (inclusive).

end_time

Timestamp

End of the period (exclusive).

UpdateApplicationRequest

Request for updating a specified application.

Fields
application

Application

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

update_mask

FieldMask

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.

UpdateCompanyRequest

Request for updating a specified company.

Fields
company

Company

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

update_mask

FieldMask

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.

UpdateJobRequest

Update job request.

Fields
job

Job

Required. The Job to be updated.

update_mask

FieldMask

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.

UpdateProfileRequest

Update profile request

Fields
profile

Profile

Required. Profile to be updated.

update_mask

FieldMask

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

UpdateTenantRequest

Request for updating a specified tenant.

Fields
tenant

Tenant

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

update_mask

FieldMask

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.

Visibility

Deprecated. All resources are only visible to the owner.

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

Enums
VISIBILITY_UNSPECIFIED Default value.
ACCOUNT_ONLY The resource is only visible to the GCP account who owns it.
SHARED_WITH_GOOGLE The resource is visible to the owner and may be visible to other applications and processes at Google.
SHARED_WITH_PUBLIC The resource is visible to the owner and may be visible to all other API clients.

WorkExperienceFilter

Work experience filter.

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

Fields
min_experience

Duration

The minimum duration of the work experience (inclusive).

max_experience

Duration

The maximum duration of the work experience (exclusive).

Czy ta strona była pomocna? Podziel się z nami swoją opinią:

Wyślij opinię na temat...

Job Search documentation
Potrzebujesz pomocy? Odwiedź naszą stronę wsparcia.