REST Resource: projects.tenants.profiles

Resource: Profile

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

JSON representation
{
  "name": string,
  "externalId": string,
  "source": string,
  "uri": string,
  "groupId": string,
  "isHirable": boolean,
  "createTime": string,
  "updateTime": string,
  "resume": {
    object (Resume)
  },
  "personNames": [
    {
      object (PersonName)
    }
  ],
  "addresses": [
    {
      object (Address)
    }
  ],
  "emailAddresses": [
    {
      object (Email)
    }
  ],
  "phoneNumbers": [
    {
      object (Phone)
    }
  ],
  "personalUris": [
    {
      object (PersonalUri)
    }
  ],
  "additionalContactInfo": [
    {
      object (AdditionalContactInfo)
    }
  ],
  "employmentRecords": [
    {
      object (EmploymentRecord)
    }
  ],
  "educationRecords": [
    {
      object (EducationRecord)
    }
  ],
  "skills": [
    {
      object (Skill)
    }
  ],
  "activities": [
    {
      object (Activity)
    }
  ],
  "publications": [
    {
      object (Publication)
    }
  ],
  "patents": [
    {
      object (Patent)
    }
  ],
  "certifications": [
    {
      object (Certification)
    }
  ],
  "applications": [
    string
  ],
  "assignments": [
    string
  ],
  "customAttributes": {
    string: {
      object(CustomAttribute)
    },
    ...
  },
  "processed": boolean,
  "keywordSnippet": string
}
Fields
name

string

Required during profile update.

Resource name assigned to a profile by the API.

The format is "projects/{project_id}/tenants/{tenantId}/profiles/{profile_id}", for example, "projects/api-test-project/tenants/foo/profiles/bar".

externalId

string

Optional. Profile's id in client system if available.

The maximum number of bytes allowed is 100.

source

string

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

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

The maximum number of bytes allowed is 4000.

groupId

string

Optional. 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 groupId, and assign it when the second profile is created, indicating these two profiles are referring to the same candidate.

isHirable

boolean

Optional. Indicates the hirable status of the candidate.

createTime

string (Timestamp format)

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

updateTime

string (Timestamp format)

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

resume

object (Resume)

Optional. The resume representing this profile.

personNames[]

object (PersonName)

Optional. The names of the candidate this profile references.

Currently only one person name is supported.

addresses[]

object (Address)

Optional. The candidate's postal addresses.

emailAddresses[]

object (Email)

Optional. The candidate's email addresses.

phoneNumbers[]

object (Phone)

Optional. The candidate's phone number(s).

personalUris[]

object (PersonalUri)

Optional. The candidate's personal URIs.

additionalContactInfo[]

object (AdditionalContactInfo)

Optional. Available contact information besides addresses, emailAddresses, phoneNumbers and personalUris. For example, Hang-out, Skype.

employmentRecords[]

object (EmploymentRecord)

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

educationRecords[]

object (EducationRecord)

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

skills[]

object (Skill)

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

activities[]

object (Activity)

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

The limitation for max number of activities is 50.

publications[]

object (Publication)

Optional. The publications published by the candidate.

The limitation for max number of publications is 50.

patents[]

object (Patent)

Optional. The patents acquired by the candidate.

certifications[]

object (Certification)

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

customAttributes

map (key: string, value: object (CustomAttribute))

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

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

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

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

processed

boolean

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

keywordSnippet

string

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

Resume

Resource that represents a resume.

JSON representation
{
  "structuredResume": string,
  "resumeType": enum (ResumeType)
}
Fields
structuredResume

string

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

If this field is provided during profile creation or update, any other structured data provided in the profile is ignored. The API populates these fields by parsing this field. Note that the use of the functionality offered by this field to extract data from resumes is an Alpha feature and as such is not covered by any SLA.

resumeType

enum (ResumeType)

Optional. The format of structuredResume.

ResumeType

The format of a structured resume.

Enums
RESUME_TYPE_UNSPECIFIED Default value.
HRXML The profile contents in HR-XML format. See http://schemas.liquid-technologies.com/hr-xml/2007-04-15/ for more information about Human Resources XML.
OTHER_RESUME_TYPE Resume type not specified.

PersonName

Resource that represents the name of a person.

JSON representation
{
  "preferredName": string,

  // Union field person_name can be only one of the following:
  "formattedName": string,
  "structuredName": {
    object (PersonStructuredName)
  }
  // End of list of possible types for union field person_name.
}
Fields
preferredName

string

Optional. Preferred name for the person. This field is ignored if structuredName 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:
formattedName

string

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

Number of characters allowed is 100.

structuredName

object (PersonStructuredName)

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

JSON representation
{
  "givenName": string,
  "preferredName": string,
  "middleInitial": string,
  "familyName": string,
  "suffixes": [
    string
  ],
  "prefixes": [
    string
  ]
}
Fields
givenName

string

Optional. Given/first name.

It's derived from formattedName if not provided.

Number of characters allowed is 100.

preferredName

string

Optional. Preferred given/first name or nickname.

Number of characters allowed is 100.

middleInitial

string

Optional. Middle initial.

It's derived from formattedName if not provided.

Number of characters allowed is 20.

familyName

string

Optional. Family/last name.

It's derived from formattedName if not provided.

Number of characters allowed is 100.

suffixes[]

string

Optional. Suffixes.

Number of characters allowed is 20.

prefixes[]

string

Optional. Prefixes.

Number of characters allowed is 20.

Address

Resource that represents a address.

JSON representation
{
  "usage": enum (ContactInfoUsage),
  "current": boolean,

  // Union field address can be only one of the following:
  "unstructuredAddress": string,
  "structuredAddress": {
    object (PostalAddress)
  }
  // End of list of possible types for union field address.
}
Fields
usage

enum (ContactInfoUsage)

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

current

boolean

Optional. 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:
unstructuredAddress

string

Optional. Unstructured address.

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

Number of characters allowed is 100.

structuredAddress

object (PostalAddress)

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

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.

Email

Resource that represents a person's email address.

JSON representation
{
  "usage": enum (ContactInfoUsage),
  "emailAddress": string
}
Fields
usage

enum (ContactInfoUsage)

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

emailAddress

string

Optional. Email address.

Number of characters allowed is 4,000.

Phone

Resource that represents a person's telephone number.

JSON representation
{
  "usage": enum (ContactInfoUsage),
  "type": enum (PhoneType),
  "number": string,
  "whenAvailable": string
}
Fields
usage

enum (ContactInfoUsage)

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

type

enum (PhoneType)

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

number

string

Optional. Phone number.

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

Number of characters allowed is 20.

whenAvailable

string

Optional. 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: http://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.

PersonalUri

Resource that represents a valid URI for a personal use.

JSON representation
{
  "uri": string
}
Fields
uri

string

Optional. The personal URI.

Number of characters allowed is 4,000.

AdditionalContactInfo

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

JSON representation
{
  "usage": enum (ContactInfoUsage),
  "name": string,
  "contactId": string
}
Fields
usage

enum (ContactInfoUsage)

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

name

string

Optional. The name of the contact method.

For example, "hangout", "skype".

Number of characters allowed is 100.

contactId

string

Optional. The contact id.

Number of characters allowed is 100.

EmploymentRecord

Resource that represents an employment record of a candidate.

JSON representation
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  },
  "employerName": string,
  "divisionName": string,
  "address": {
    object (Address)
  },
  "jobTitle": string,
  "jobDescription": string,
  "isSupervisor": boolean,
  "isSelfEmployed": boolean,
  "isCurrent": boolean,
  "jobTitleSnippet": string,
  "jobDescriptionSnippet": string,
  "employerNameSnippet": string
}
Fields
startDate

object (Date)

Optional. Start date of the employment.

endDate

object (Date)

Optional. End date of the employment.

employerName

string

Optional. The name of the employer company/organization.

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

Number of characters allowed is 100.

divisionName

string

Optional. The division name of the employment.

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

Number of characters allowed is 100.

address

object (Address)

Optional. The physical address of the employer.

jobTitle

string

Optional. The job title of the employment.

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

Number of characters allowed is 100.

jobDescription

string

Optional. The description of job content.

Number of characters allowed is 100,000.

isSupervisor

boolean

Optional. If the jobs is a supervisor position.

isSelfEmployed

boolean

Optional. If this employment is self-employed.

isCurrent

boolean

Optional. If this employment is current.

jobTitleSnippet

string

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

jobDescriptionSnippet

string

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

employerNameSnippet

string

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

EducationRecord

Resource that represents an education record of a candidate.

JSON representation
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  },
  "expectedGraduationDate": {
    object (Date)
  },
  "schoolName": string,
  "address": {
    object (Address)
  },
  "description": string,
  "isCurrent": boolean,
  "schoolNameSnippet": string,
  "degreeSnippet": string,

  // Union field degree can be only one of the following:
  "degreeDescription": string,
  "structuredDegree": {
    object (Degree)
  }
  // End of list of possible types for union field degree.
}
Fields
startDate

object (Date)

Optional. The start date of the education.

endDate

object (Date)

Optional. The end date of the education.

expectedGraduationDate

object (Date)

Optional. The expected graduation date if currently pursuing a degree.

schoolName

string

Optional. The name of the school or institution.

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

Number of characters allowed is 100.

address

object (Address)

Optional. The physical address of the education institution.

description

string

Optional. The description of the education.

Number of characters allowed is 100,000.

isCurrent

boolean

Optional. If this education is current.

schoolNameSnippet

string

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

degreeSnippet

string

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

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

string

Optional. The full description of the degree.

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

Number of characters allowed is 100.

structuredDegree

object (Degree)

Optional. The structured notation of the degree.

Degree

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

JSON representation
{
  "degreeType": enum (DegreeType),
  "degreeName": string,
  "fieldsOfStudy": [
    string
  ]
}
Fields
degreeType

enum (DegreeType)

Optional. ISCED degree type.

degreeName

string

Optional. Full Degree name.

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

Number of characters allowed is 100.

fieldsOfStudy[]

string

Optional. Fields of study for the degree.

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

Number of characters allowed is 100.

Skill

Resource that represents a skill of a candidate.

JSON representation
{
  "displayName": string,
  "lastUsedDate": {
    object (Date)
  },
  "level": enum (SkillProficiencyLevel),
  "context": string,
  "skillNameSnippet": string
}
Fields
displayName

string

Optional. Skill display name.

For example, "Java", "Python".

Number of characters allowed is 100.

lastUsedDate

object (Date)

Optional. The last time this skill was used.

level

enum (SkillProficiencyLevel)

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

context

string

Optional. A paragraph describes context of this skill.

Number of characters allowed is 100,000.

skillNameSnippet

string

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

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.

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.

JSON representation
{
  "displayName": string,
  "description": string,
  "uri": string,
  "createDate": {
    object (Date)
  },
  "updateDate": {
    object (Date)
  },
  "teamMembers": [
    string
  ],
  "skillsUsed": [
    {
      object (Skill)
    }
  ],
  "activityNameSnippet": string,
  "activityDescriptionSnippet": string,
  "skillsUsedSnippet": [
    string
  ]
}
Fields
displayName

string

Optional. Activity display name.

Number of characters allowed is 100.

description

string

Optional. Activity description.

Number of characters allowed is 100,000.

uri

string

Optional. Activity URI.

Number of characters allowed is 4,000.

createDate

object (Date)

Optional. The first creation date of the activity.

updateDate

object (Date)

Optional. The last update date of the activity.

teamMembers[]

string

Optional. A list of team members involved in this activity.

Number of characters allowed is 100.

The limitation for max number of team members is 50.

skillsUsed[]

object (Skill)

Optional. A list of skills used in this activity.

The limitation for max number of skills used is 50.

activityNameSnippet

string

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

activityDescriptionSnippet

string

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

skillsUsedSnippet[]

string

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

Publication

Resource that represents a publication resource of a candidate.

JSON representation
{
  "authors": [
    string
  ],
  "title": string,
  "description": string,
  "journal": string,
  "volume": string,
  "publisher": string,
  "publicationDate": {
    object (Date)
  },
  "publicationType": string,
  "isbn": string
}
Fields
authors[]

string

Optional. A list of author names.

Number of characters allowed is 100.

title

string

Optional. The title of the publication.

Number of characters allowed is 100.

description

string

Optional. The description of the publication.

Number of characters allowed is 100,000.

journal

string

Optional. The journal name of the publication.

Number of characters allowed is 100.

volume

string

Optional. Volume number.

Number of characters allowed is 100.

publisher

string

Optional. The publisher of the journal.

Number of characters allowed is 100.

publicationDate

object (Date)

Optional. The publication date.

publicationType

string

Optional. The publication type.

Number of characters allowed is 100.

isbn

string

Optional. ISBN number.

Number of characters allowed is 100.

Patent

Resource that represents the patent acquired by a candidate.

JSON representation
{
  "displayName": string,
  "inventors": [
    string
  ],
  "patentStatus": string,
  "patentStatusDate": {
    object (Date)
  },
  "patentFilingDate": {
    object (Date)
  },
  "patentOffice": string,
  "patentNumber": string,
  "patentDescription": string,
  "skillsUsed": [
    {
      object (Skill)
    }
  ]
}
Fields
displayName

string

Optional. Name of the patent.

Number of characters allowed is 100.

inventors[]

string

Optional. A list of inventors' names.

Number of characters allowed for each is 100.

patentStatus

string

Optional. The status of the patent.

Number of characters allowed is 100.

patentStatusDate

object (Date)

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

patentFilingDate

object (Date)

Optional. The date that the patent was filed.

patentOffice

string

Optional. The name of the patent office.

Number of characters allowed is 100.

patentNumber

string

Optional. The number of the patent.

Number of characters allowed is 100.

patentDescription

string

Optional. The description of the patent.

Number of characters allowed is 100,000.

skillsUsed[]

object (Skill)

Optional. The skills used in this patent.

Certification

Resource that represents a license or certification.

JSON representation
{
  "displayName": string,
  "acquireDate": {
    object (Date)
  },
  "expireDate": {
    object (Date)
  },
  "authority": string,
  "description": string
}
Fields
displayName

string

Optional. Name of license or certification.

Number of characters allowed is 100.

acquireDate

object (Date)

Optional. Acquisition date or effective date of license or certification.

expireDate

object (Date)

Optional. Expiration date of license of certification.

authority

string

Optional. Authority of license, such as government.

Number of characters allowed is 100.

description

string

Optional. Description of license or certification.

Number of characters allowed is 100,000.

Methods

create

Creates and returns a new profile.

delete

Deletes the specified profile.

get

Gets the specified profile.

list

Lists profiles by filter.

patch

Updates the specified profile and returns the updated result.
Var denne siden nyttig? Si fra hva du synes:

Send tilbakemelding om ...

Job search documentation
Trenger du hjelp? Gå til brukerstøttesiden vår.