Profile(mapping=None, *, ignore_unknown_fields=False, **kwargs)
A resource that represents the profile for a job candidate (also referred to as a "single-source profile").
Attributes
Name | Description |
name |
str
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 |
str
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 |
str
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 |
str
The URI set by clients that links to this profile's client-side copy. The maximum number of bytes allowed is 4000. |
group_id |
str
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 |
`.wrappers.BoolValue`
Indicates the hirable status of the candidate. |
create_time |
`.timestamp.Timestamp`
The timestamp when the profile was first created at this source. |
update_time |
`.timestamp.Timestamp`
The timestamp when the profile was last updated at this source. |
candidate_update_time |
`.timestamp.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.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 |
`.profile.Resume`
The resume representing this profile. |
person_names |
Sequence[`.profile.PersonName`]
The names of the candidate this profile references. Currently only one person name is supported. |
addresses |
Sequence[`.profile.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 |
Sequence[`.profile.Email`]
The candidate's email addresses. |
phone_numbers |
Sequence[`.profile.Phone`]
The candidate's phone number(s). |
personal_uris |
Sequence[`.profile.PersonalUri`]
The candidate's personal URIs. |
additional_contact_info |
Sequence[`.profile.AdditionalContactInfo`]
Available contact information besides addresses, email_addresses, phone_numbers and personal_uris. For example, Hang-out, Skype. |
employment_records |
Sequence[`.profile.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 |
Sequence[`.profile.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 |
Sequence[`.common.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 |
Sequence[`.profile.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 |
Sequence[`.profile.Publication`]
The publications published by the candidate. The limitation for max number of publications is 50. |
patents |
Sequence[`.profile.Patent`]
The patents acquired by the candidate. |
certifications |
Sequence[`.common.Certification`]
The certifications acquired by the candidate. |
applications |
Sequence[str]
Output only. The resource names of the candidate's applications. |
assignments |
Sequence[str]
Output only. The resource names of the candidate's assignments. |
custom_attributes |
Sequence[`.profile.Profile.CustomAttributesEntry`]
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 |
str
Output only. Keyword snippet shows how the search result is related to a search query. This is only returned in . |
availability_signals |
Sequence[`.profile.AvailabilitySignal`]
Output only. Candidate' s="" availability="" signals.=""> |
derived_addresses |
Sequence[`.common.Location`]
Output only. Derived locations of the profile, resolved from Profile.addresses. derived_addresses are exactly matched to Profile.addresses in the same order. |
Inheritance
builtins.object > proto.message.Message > ProfileClasses
CustomAttributesEntry
CustomAttributesEntry(mapping=None, *, ignore_unknown_fields=False, **kwargs)
The abstract base class for a message.
Name | Description |
kwargs |
dict
Keys and values corresponding to the fields of the message. |
mapping |
Union[dict, `.Message`]
A dictionary or message to be used to determine the values for this message. |
ignore_unknown_fields |
Optional(bool)
If True, do not raise errors for unknown fields. Only applied if |