openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 114 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://jobs.googleapis.com/"}],"info":{"contact":{"name":"Google","url":"https://google.com","x-twitter":"youtube"},"description":"Cloud Talent Solution provides the capability to create, read, update, and delete job postings, as well as search jobs based on keywords and filters. ","license":{"name":"Creative Commons Attribution 3.0","url":"http://creativecommons.org/licenses/by/3.0/"},"termsOfService":"https://developers.google.com/terms/","title":"Cloud Talent Solution API","version":"v3p1beta1","x-apiClientRegistration":{"url":"https://console.developers.google.com"},"x-apisguru-categories":["analytics","media"],"x-logo":{"url":"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},"x-origin":[{"format":"google","url":"https://jobs.googleapis.com/$discovery/rest?version=v3p1beta1","version":"v1"}],"x-preferred":true,"x-providerName":"googleapis.com","x-serviceName":"jobs"},"externalDocs":{"url":"https://cloud.google.com/talent-solution/job-search/docs/"},"tags":[{"name":"projects"}],"paths":{"/v3p1beta1/{name}":{"delete":{"description":"Deletes the specified job. Typically, the job becomes unsearchable within 10 seconds, but it may take up to 5 minutes.","operationId":"jobs.projects.jobs.delete","parameters":[{"description":"Required. The resource name of the job to be deleted. The format is \"projects/{project_id}/jobs/{job_id}\", for example, \"projects/api-test-project/jobs/1234\".","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]},"get":{"description":"Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.","operationId":"jobs.projects.operations.get","parameters":[{"description":"The name of the operation resource.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Operation"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"patch":{"description":"Updates specified job. Typically, updated contents become visible in search results within 10 seconds, but it may take up to 5 minutes.","operationId":"jobs.projects.jobs.patch","parameters":[{"description":"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}/jobs/{job_id}\", for example, \"projects/api-test-project/jobs/1234\". Use of this field in job queries and API calls is preferred over the use of requisition_id since this value is unique.","in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateJobRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{name}:complete":{"get":{"description":"Completes the specified prefix with keyword suggestions. Intended for use by a job search auto-complete search box.","operationId":"jobs.projects.complete","parameters":[{"description":"Required. Resource name of project the completion is performed within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"name","required":true,"schema":{"type":"string"}},{"description":"Optional. If provided, restricts completion to specified company. The format is \"projects/{project_id}/companies/{company_id}\", for example, \"projects/api-test-project/companies/foo\".","in":"query","name":"companyName","schema":{"type":"string"}},{"description":"Deprecated. Use language_codes instead. Optional. The language 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](https://tools.ietf.org/html/bcp47). For CompletionType.JOB_TITLE type, only open jobs with the same language_code are returned. For CompletionType.COMPANY_NAME type, only companies having open jobs with the same language_code are returned. For CompletionType.COMBINED type, only open jobs with the same language_code or companies having open jobs with the same language_code are returned. The maximum number of allowed characters is 255.","in":"query","name":"languageCode","schema":{"type":"string"}},{"description":"Optional. 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](https://tools.ietf.org/html/bcp47). 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.","explode":true,"in":"query","name":"languageCodes","schema":{"items":{"type":"string"},"type":"array"},"style":"form"},{"description":"Required. Completion result count. The maximum allowed page size is 10.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"Required. The query used to generate suggestions. The maximum number of allowed characters is 255.","in":"query","name":"query","schema":{"type":"string"}},{"description":"Optional. The scope of the completion. The defaults is CompletionScope.PUBLIC.","in":"query","name":"scope","schema":{"enum":["COMPLETION_SCOPE_UNSPECIFIED","TENANT","PUBLIC"],"type":"string"}},{"description":"Optional. The completion topic. The default is CompletionType.COMBINED.","in":"query","name":"type","schema":{"enum":["COMPLETION_TYPE_UNSPECIFIED","JOB_TITLE","COMPANY_NAME","COMBINED"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteQueryResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}]},"/v3p1beta1/{parent}/clientEvents":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"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](https://console.cloud.google.com/talent-solution/overview). [Learn more](https://cloud.google.com/talent-solution/docs/management-tools) about self service tools.","operationId":"jobs.projects.clientEvents.create","parameters":[{"description":"Parent project name.","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateClientEventRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientEvent"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{parent}/companies":{"get":{"description":"Lists all companies associated with the service account.","operationId":"jobs.projects.companies.list","parameters":[{"description":"Required. Resource name of the project under which the company is created. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Optional. The maximum number of companies to be returned, at most 100. Default is 100 if a non-positive number is provided.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"Optional. The starting indicator from which to return results.","in":"query","name":"pageToken","schema":{"type":"string"}},{"description":"Optional. 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.","in":"query","name":"requireOpenJobs","schema":{"type":"boolean"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCompaniesResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new company entity.","operationId":"jobs.projects.companies.create","parameters":[{"description":"Required. Resource name of the project under which the company is created. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompanyRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Company"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{parent}/jobs":{"get":{"description":"Lists jobs by filter.","operationId":"jobs.projects.jobs.list","parameters":[{"description":"Required. The resource name of the project under which the job is created. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}},{"description":"Required. The filter string specifies the jobs to be enumerated. Supported operator: =, AND The fields eligible for filtering are: * `companyName` * `requisitionId` * `status` Available values: OPEN, EXPIRED, ALL. Defaults to OPEN if no value is specified. At least one of `companyName` and `requisitionId` must present or an INVALID_ARGUMENT error is thrown. Sample Query: * companyName = \"projects/api-test-project/companies/123\" * companyName = \"projects/api-test-project/companies/123\" AND requisitionId = \"req-1\" * companyName = \"projects/api-test-project/companies/123\" AND status = \"EXPIRED\" * requisitionId = \"req-1\" * requisitionId = \"req-1\" AND status = \"EXPIRED\"","in":"query","name":"filter","schema":{"type":"string"}},{"description":"Optional. The desired job attributes returned for jobs in the search response. Defaults to JobView.JOB_VIEW_FULL if no value is specified.","in":"query","name":"jobView","schema":{"enum":["JOB_VIEW_UNSPECIFIED","JOB_VIEW_ID_ONLY","JOB_VIEW_MINIMAL","JOB_VIEW_SMALL","JOB_VIEW_FULL"],"type":"string"}},{"description":"Optional. 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.","in":"query","name":"pageSize","schema":{"type":"integer"}},{"description":"Optional. The starting point of a query result.","in":"query","name":"pageToken","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListJobsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]},"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.","operationId":"jobs.projects.jobs.create","parameters":[{"description":"Required. The resource name of the project under which the job is created. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateJobRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{parent}/jobs:batchDelete":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"Deletes a list of Jobs by filter.","operationId":"jobs.projects.jobs.batchDelete","parameters":[{"description":"Required. The resource name of the project under which the job is created. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDeleteJobsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empty"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{parent}/jobs:search":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"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.","operationId":"jobs.projects.jobs.search","parameters":[{"description":"Required. The resource name of the project to search within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchJobsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchJobsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}},"/v3p1beta1/{parent}/jobs:searchForAlert":{"parameters":[{"$ref":"#/components/parameters/_.xgafv"},{"$ref":"#/components/parameters/access_token"},{"$ref":"#/components/parameters/alt"},{"$ref":"#/components/parameters/callback"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/key"},{"$ref":"#/components/parameters/oauth_token"},{"$ref":"#/components/parameters/prettyPrint"},{"$ref":"#/components/parameters/quotaUser"},{"$ref":"#/components/parameters/upload_protocol"},{"$ref":"#/components/parameters/uploadType"}],"post":{"description":"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.","operationId":"jobs.projects.jobs.searchForAlert","parameters":[{"description":"Required. The resource name of the project to search within. The format is \"projects/{project_id}\", for example, \"projects/api-test-project\".","in":"path","name":"parent","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchJobsRequest"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchJobsResponse"}}},"description":"Successful response"}},"security":[{"Oauth2":["https://www.googleapis.com/auth/cloud-platform"],"Oauth2c":["https://www.googleapis.com/auth/cloud-platform"]},{"Oauth2":["https://www.googleapis.com/auth/jobs"],"Oauth2c":["https://www.googleapis.com/auth/jobs"]}],"tags":["projects"]}}},"components":{"parameters":{"_.xgafv":{"description":"V1 error format.","in":"query","name":"$.xgafv","schema":{"enum":["1","2"],"type":"string"}},"access_token":{"description":"OAuth access token.","in":"query","name":"access_token","schema":{"type":"string"}},"alt":{"description":"Data format for response.","in":"query","name":"alt","schema":{"enum":["json","media","proto"],"type":"string"}},"callback":{"description":"JSONP","in":"query","name":"callback","schema":{"type":"string"}},"fields":{"description":"Selector specifying which fields to include in a partial response.","in":"query","name":"fields","schema":{"type":"string"}},"key":{"description":"API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.","in":"query","name":"key","schema":{"type":"string"}},"oauth_token":{"description":"OAuth 2.0 token for the current user.","in":"query","name":"oauth_token","schema":{"type":"string"}},"prettyPrint":{"description":"Returns response with indentations and line breaks.","in":"query","name":"prettyPrint","schema":{"type":"boolean"}},"quotaUser":{"description":"Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.","in":"query","name":"quotaUser","schema":{"type":"string"}},"uploadType":{"description":"Legacy upload protocol for media (e.g. \"media\", \"multipart\").","in":"query","name":"uploadType","schema":{"type":"string"}},"upload_protocol":{"description":"Upload protocol for media (e.g. \"raw\", \"multipart\").","in":"query","name":"upload_protocol","schema":{"type":"string"}}},"schemas":{"ApplicationInfo":{"description":"Application related details of a job posting.","properties":{"emails":{"description":"Optional but at least one of uris, emails or instruction must be specified. 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.","items":{"type":"string"},"type":"array"},"instruction":{"description":"Optional but at least one of uris, emails or instruction must be specified. 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.","type":"string"},"uris":{"description":"Optional but at least one of uris, emails or instruction must be specified. 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.","items":{"type":"string"},"type":"array"}},"type":"object"},"BatchDeleteJobsRequest":{"description":"Input only. Batch delete jobs request.","properties":{"filter":{"description":"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/api-test-project/companies/123\" AND requisitionId = \"req-1\"","type":"string"}},"type":"object"},"BucketRange":{"description":"Represents starting and ending value of a range in double.","properties":{"from":{"description":"Starting value of the bucket range.","format":"double","type":"number"},"to":{"description":"Ending value of the bucket range.","format":"double","type":"number"}},"type":"object"},"BucketizedCount":{"description":"Represents count of jobs within one bucket.","properties":{"count":{"description":"Number of jobs whose numeric field value fall into `range`.","format":"int32","type":"integer"},"range":{"$ref":"#/components/schemas/BucketRange","description":"Bucket range on which histogram was performed for the numeric field, that is, the count represents number of jobs in this range."}},"type":"object"},"ClientEvent":{"description":"An event issued when an end user interacts with the application that implements Cloud Talent Solution. Providing this information improves the quality of search and recommendation for the API clients, enabling the service to perform optimally. The number of events sent must be consistent with other calls, such as job searches, issued to the service by the client.","properties":{"createTime":{"description":"Required. The timestamp of the event.","format":"google-datetime","type":"string"},"eventId":{"description":"Required. A unique identifier, generated by the client application. This `event_id` is used to establish the relationship between different events (see parent_event_id).","type":"string"},"extraInfo":{"additionalProperties":{"type":"string"},"description":"Optional. Extra information about this event. Used for storing information with no matching field in event payload, for example, user application specific context or details. At most 20 keys are supported. The maximum total size of all keys and values is 2 KB.","type":"object"},"jobEvent":{"$ref":"#/components/schemas/JobEvent","description":"A event issued when a job seeker interacts with the application that implements Cloud Talent Solution."},"parentEventId":{"description":"Optional. The event_id of an event that resulted in the current event. For example, a Job view event usually follows a parent impression event: A job seeker first does a search where a list of jobs appears (impression). The job seeker then selects a result and views the description of a particular job (Job view).","type":"string"},"requestId":{"description":"Required. A unique ID generated in the API responses. It can be found in ResponseMetadata.request_id.","type":"string"}},"type":"object"},"CommuteFilter":{"description":"Input only. Parameters needed for commute search.","properties":{"allowImpreciseAddresses":{"description":"Optional. If true, jobs without \"precise\" addresses (street level addresses or GPS coordinates) might also be returned. For city and coarser level addresses, text matching is used. If this field is set to false or is not specified, only jobs that include precise addresses are returned by Commute Search. Note: If `allow_imprecise_addresses` is set to true, Commute Search is not able to calculate accurate commute times to jobs with city level and coarser address information. Jobs with imprecise addresses will return a `travel_duration` time of 0 regardless of distance from the job seeker.","type":"boolean"},"commuteMethod":{"description":"Required. The method of transportation for which to calculate the commute time.","enum":["COMMUTE_METHOD_UNSPECIFIED","DRIVING","TRANSIT","WALKING","CYCLING"],"type":"string"},"departureTime":{"$ref":"#/components/schemas/TimeOfDay","description":"Optional. 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":{"description":"Optional. Specifies the traffic density to use when calculating commute time.","enum":["ROAD_TRAFFIC_UNSPECIFIED","TRAFFIC_FREE","BUSY_HOUR"],"type":"string"},"startCoordinates":{"$ref":"#/components/schemas/LatLng","description":"Required. The latitude and longitude of the location from which to calculate the commute time."},"travelDuration":{"description":"Required. The maximum travel time in seconds. The maximum allowed value is `3600s` (one hour). Format is `123s`.","format":"google-duration","type":"string"}},"type":"object"},"CommuteInfo":{"description":"Output only. Commute details related to this job.","properties":{"jobLocation":{"$ref":"#/components/schemas/Location","description":"Location used as the destination in the commute calculation."},"travelDuration":{"description":"The number of seconds required to travel to the job location from the query location. A duration of 0 seconds indicates that the job is not reachable within the requested duration, but was returned as part of an expanded query.","format":"google-duration","type":"string"}},"type":"object"},"Company":{"description":"A Company resource represents a company in the service. A company is the entity that owns job postings, that is, the hiring entity responsible for employing applicants for the job position.","properties":{"careerSiteUri":{"description":"Optional. The URI to employer's career site or careers page on the employer's web site, for example, \"https://careers.google.com\".","type":"string"},"derivedInfo":{"$ref":"#/components/schemas/CompanyDerivedInfo","description":"Output only. Derived details about the company."},"displayName":{"description":"Required. The display name of the company, for example, \"Google LLC\".","type":"string"},"eeoText":{"description":"Optional. 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.","type":"string"},"externalId":{"description":"Required. Client side company identifier, used to uniquely identify the company. The maximum number of allowed characters is 255.","type":"string"},"headquartersAddress":{"description":"Optional. 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.","type":"string"},"hiringAgency":{"description":"Optional. Set to true if it is the hiring agency that post jobs for other employers. Defaults to false if not provided.","type":"boolean"},"imageUri":{"description":"Optional. A URI that hosts the employer's company logo.","type":"string"},"keywordSearchableJobCustomAttributes":{"deprecated":true,"description":"Optional. This field is deprecated. Please set the searchability of the custom attribute in the Job.custom_attributes going forward. A list of keys of filterable Job.custom_attributes, whose corresponding `string_values` are used in keyword search. Jobs with `string_values` under these specified field keys are returned if any of the values matches the search keyword. Custom field values with parenthesis, brackets and special symbols won't be properly searchable, and those keyword queries need to be surrounded by quotes.","items":{"type":"string"},"type":"array"},"name":{"description":"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}/companies/{company_id}\", for example, \"projects/api-test-project/companies/foo\".","type":"string"},"size":{"description":"Optional. The employer's company size.","enum":["COMPANY_SIZE_UNSPECIFIED","MINI","SMALL","SMEDIUM","MEDIUM","BIG","BIGGER","GIANT"],"type":"string"},"suspended":{"description":"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.","type":"boolean"},"websiteUri":{"description":"Optional. 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.","type":"string"}},"type":"object"},"CompanyDerivedInfo":{"description":"Derived details about the company.","properties":{"headquartersLocation":{"$ref":"#/components/schemas/Location","description":"A structured headquarters location of the company, resolved from Company.hq_location if provided."}},"type":"object"},"CompensationEntry":{"description":"A compensation entry that represents one component of compensation, such as base pay, bonus, or other compensation type. Annualization: One compensation entry can be annualized if - it contains valid amount or range. - and its expected_units_per_year is set or can be derived. Its annualized range is determined as (amount or range) times expected_units_per_year.","properties":{"amount":{"$ref":"#/components/schemas/Money","description":"Optional. Compensation amount."},"description":{"description":"Optional. Compensation description. For example, could indicate equity terms or provide additional context to an estimated bonus.","type":"string"},"expectedUnitsPerYear":{"description":"Optional. 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","format":"double","type":"number"},"range":{"$ref":"#/components/schemas/CompensationRange","description":"Optional. Compensation range."},"type":{"description":"Optional. Compensation type. Default is CompensationUnit.COMPENSATION_TYPE_UNSPECIFIED.","enum":["COMPENSATION_TYPE_UNSPECIFIED","BASE","BONUS","SIGNING_BONUS","EQUITY","PROFIT_SHARING","COMMISSIONS","TIPS","OTHER_COMPENSATION_TYPE"],"type":"string"},"unit":{"description":"Optional. Frequency of the specified amount. Default is CompensationUnit.COMPENSATION_UNIT_UNSPECIFIED.","enum":["COMPENSATION_UNIT_UNSPECIFIED","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY","ONE_TIME","OTHER_COMPENSATION_UNIT"],"type":"string"}},"type":"object"},"CompensationFilter":{"description":"Input only. Filter on job compensation type and amount.","properties":{"includeJobsWithUnspecifiedCompensationRange":{"description":"Optional. If set to true, jobs with unspecified compensation range fields are included.","type":"boolean"},"range":{"$ref":"#/components/schemas/CompensationRange","description":"Optional. Compensation range."},"type":{"description":"Required. Type of filter.","enum":["FILTER_TYPE_UNSPECIFIED","UNIT_ONLY","UNIT_AND_AMOUNT","ANNUALIZED_BASE_AMOUNT","ANNUALIZED_TOTAL_AMOUNT"],"type":"string"},"units":{"description":"Required. Specify desired `base compensation entry's` CompensationInfo.CompensationUnit.","items":{"enum":["COMPENSATION_UNIT_UNSPECIFIED","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY","ONE_TIME","OTHER_COMPENSATION_UNIT"],"type":"string"},"type":"array"}},"type":"object"},"CompensationHistogramRequest":{"description":"Input only. Compensation based histogram request.","properties":{"bucketingOption":{"$ref":"#/components/schemas/NumericBucketingOption","description":"Required. Numeric histogram options, like buckets, whether include min or max value."},"type":{"description":"Required. Type of the request, representing which field the histogramming should be performed over. A single request can only specify one histogram of each `CompensationHistogramRequestType`.","enum":["COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED","BASE","ANNUALIZED_BASE","ANNUALIZED_TOTAL"],"type":"string"}},"type":"object"},"CompensationHistogramResult":{"description":"Output only. Compensation based histogram result.","properties":{"result":{"$ref":"#/components/schemas/NumericBucketingResult","description":"Histogram result."},"type":{"description":"Type of the request, corresponding to CompensationHistogramRequest.type.","enum":["COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED","BASE","ANNUALIZED_BASE","ANNUALIZED_TOTAL"],"type":"string"}},"type":"object"},"CompensationInfo":{"description":"Job compensation details.","properties":{"annualizedBaseCompensationRange":{"$ref":"#/components/schemas/CompensationRange","description":"Output only. Annualized base compensation range. Computed as base compensation entry's CompensationEntry.compensation times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization."},"annualizedTotalCompensationRange":{"$ref":"#/components/schemas/CompensationRange","description":"Output only. Annualized total compensation range. Computed as all compensation entries' CompensationEntry.compensation times CompensationEntry.expected_units_per_year. See CompensationEntry for explanation on compensation annualization."},"entries":{"description":"Optional. Job compensation information. At most one entry can be of type CompensationInfo.CompensationType.BASE, which is referred as ** base compensation entry ** for the job.","items":{"$ref":"#/components/schemas/CompensationEntry"},"type":"array"}},"type":"object"},"CompensationRange":{"description":"Compensation range.","properties":{"maxCompensation":{"$ref":"#/components/schemas/Money","description":"Optional. 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."},"minCompensation":{"$ref":"#/components/schemas/Money","description":"Optional. 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."}},"type":"object"},"CompleteQueryResponse":{"description":"Output only. Response of auto-complete query.","properties":{"completionResults":{"description":"Results of the matching job/company candidates.","items":{"$ref":"#/components/schemas/CompletionResult"},"type":"array"},"metadata":{"$ref":"#/components/schemas/ResponseMetadata","description":"Additional information for the API invocation, such as the request tracking id."}},"type":"object"},"CompletionResult":{"description":"Output only. Resource that represents completion results.","properties":{"imageUri":{"description":"The URI of the company image for CompletionType.COMPANY_NAME.","type":"string"},"suggestion":{"description":"The suggestion for the query.","type":"string"},"type":{"description":"The completion topic.","enum":["COMPLETION_TYPE_UNSPECIFIED","JOB_TITLE","COMPANY_NAME","COMBINED"],"type":"string"}},"type":"object"},"CreateClientEventRequest":{"description":"The report event request.","properties":{"clientEvent":{"$ref":"#/components/schemas/ClientEvent","description":"Required. Events issued when end user interacts with customer's application that uses Cloud Talent Solution."}},"type":"object"},"CreateCompanyRequest":{"description":"Input only. The Request of the CreateCompany method.","properties":{"company":{"$ref":"#/components/schemas/Company","description":"Required. The company to be created."}},"type":"object"},"CreateJobRequest":{"description":"Input only. Create job request.","properties":{"job":{"$ref":"#/components/schemas/Job","description":"Required. The Job to be created."}},"type":"object"},"CustomAttribute":{"description":"Custom attribute values that are either filterable or non-filterable.","properties":{"filterable":{"description":"Optional. If the `filterable` flag is true, the custom field values may be used for custom attribute filters JobQuery.custom_attribute_filter. If false, these values may not be used for custom attribute filters. Default is false.","type":"boolean"},"longValues":{"description":"Optional but 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.","items":{"format":"int64","type":"string"},"type":"array"},"stringValues":{"description":"Optional but 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_value`s, 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 is not allowed.","items":{"type":"string"},"type":"array"}},"type":"object"},"CustomAttributeHistogramRequest":{"description":"Custom attributes histogram request. An error is thrown if neither string_value_histogram or long_value_histogram_bucketing_option has been defined.","properties":{"key":{"description":"Required. Specifies the custom field key to perform a histogram on. If specified without `long_value_histogram_bucketing_option`, histogram on string values of the given `key` is triggered, otherwise histogram is performed on long values.","type":"string"},"longValueHistogramBucketingOption":{"$ref":"#/components/schemas/NumericBucketingOption","description":"Optional. Specifies buckets used to perform a range histogram on Job's filterable long custom field values, or min/max value requirements."},"stringValueHistogram":{"description":"Optional. If set to true, the response includes the histogram value for each key as a string.","type":"boolean"}},"type":"object"},"CustomAttributeHistogramResult":{"description":"Output only. Custom attribute histogram result.","properties":{"key":{"description":"Stores the key of custom attribute the histogram is performed on.","type":"string"},"longValueHistogramResult":{"$ref":"#/components/schemas/NumericBucketingResult","description":"Stores bucketed histogram counting result or min/max values for custom attribute long values associated with `key`."},"stringValueHistogramResult":{"additionalProperties":{"format":"int32","type":"integer"},"description":"Stores a map from the values of string custom field associated with `key` to the number of jobs with that value in this histogram result.","type":"object"}},"type":"object"},"CustomRankingInfo":{"description":"Input only. Custom ranking information for SearchJobsRequest.","properties":{"importanceLevel":{"description":"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.","enum":["IMPORTANCE_LEVEL_UNSPECIFIED","NONE","LOW","MILD","MEDIUM","HIGH","EXTREME"],"type":"string"},"rankingExpression":{"description":"Required. Controls over how job documents get ranked on top of existing relevance score (determined by API algorithm). A combination of the ranking expression and relevance score is used to determine job's final ranking position. The syntax for this expression is a subset of Google SQL syntax. Supported operators are: +, -, *, /, where the left and right side of the operator is either a numeric Job.custom_attributes key, integer/double value or an expression that can be evaluated to a number. Parenthesis are supported to adjust calculation precedence. The expression must be < 200 characters in length. The expression is considered invalid for a job if the expression references custom attributes that are not populated on the job or if the expression results in a divide by zero. If an expression is invalid for a job, that job is demoted to the end of the results. Sample ranking expression (year + 25) * 0.25 - (freshness / 0.5)","type":"string"}},"type":"object"},"DeviceInfo":{"description":"Device information collected from the job seeker, candidate, or other entity conducting the job search. Providing this information improves the quality of the search results across devices.","properties":{"deviceType":{"description":"Optional. Type of the device.","enum":["DEVICE_TYPE_UNSPECIFIED","WEB","MOBILE_WEB","ANDROID","IOS","BOT","OTHER"],"type":"string"},"id":{"description":"Optional. A device-specific ID. The ID must be a unique identifier that distinguishes the device from other devices.","type":"string"}},"type":"object"},"Empty":{"description":"A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }","properties":{},"type":"object"},"HistogramFacets":{"description":"Input only. Histogram facets to be specified in SearchJobsRequest.","properties":{"compensationHistogramFacets":{"description":"Optional. Specifies compensation field-based histogram requests. Duplicate values of CompensationHistogramRequest.type are not allowed.","items":{"$ref":"#/components/schemas/CompensationHistogramRequest"},"type":"array"},"customAttributeHistogramFacets":{"description":"Optional. Specifies the custom attributes histogram requests. Duplicate values of CustomAttributeHistogramRequest.key are not allowed.","items":{"$ref":"#/components/schemas/CustomAttributeHistogramRequest"},"type":"array"},"simpleHistogramFacets":{"description":"Optional. Specifies the simple type of histogram facets, for example, `COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.","items":{"enum":["SEARCH_TYPE_UNSPECIFIED","COMPANY_ID","EMPLOYMENT_TYPE","COMPANY_SIZE","DATE_PUBLISHED","EDUCATION_LEVEL","EXPERIENCE_LEVEL","ADMIN_1","COUNTRY","CITY","LOCALE","LANGUAGE","CATEGORY","CITY_COORDINATE","ADMIN_1_COUNTRY","COMPANY_DISPLAY_NAME","BASE_COMPENSATION_UNIT"],"type":"string"},"type":"array"}},"type":"object"},"HistogramQuery":{"description":"Input Only. The histogram request.","properties":{"histogramQuery":{"description":"An expression specifies a histogram request against matching resources (for example, jobs) for searches. Expression syntax is a aggregation function call with histogram facets and other options. Available aggregation function calls are: * `count(string_histogram_facet)`: Count the number of matching entity, for each distinct attribute value. * `count(numeric_histogram_facet, list of buckets)`: Count the number of matching entity within each bucket. A maximum of 200 histogram buckets are supported. Data types: * Histogram facet: facet names with format a-zA-Z+. * 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_id: histogram by [Job.distributor_company_id. * company_display_name: histogram by Job.company_display_name. * employment_type: histogram by Job.employment_types. For example, \"FULL_TIME\", \"PART_TIME\". * company_size (DEPRECATED): histogram by CompanySize, for example, \"SMALL\", \"MEDIUM\", \"BIG\". * publish_time_in_day: histogram by the Job.publish_time in days. Must specify list of numeric buckets in spec. * publish_time_in_month: histogram by the Job.publish_time in months. Must specify list of numeric buckets in spec. * publish_time_in_year: histogram by the Job.publish_time in years. Must specify list of numeric buckets in spec. * degree_type: histogram by the Job.degree_type. 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 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 s