{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "View and manage your data across Google Cloud Platform services"
        },
        "https://www.googleapis.com/auth/jobs": {
          "description": "Manage job postings"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://jobs.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Cloud Talent Solution",
  "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.\n",
  "discoveryVersion": "v1",
  "documentationLink": "https://cloud.google.com/talent-solution/job-search/docs/",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "jobs:v3p1beta1",
  "kind": "discovery#restDescription",
  "name": "jobs",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "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.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "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.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "projects": {
      "methods": {
        "complete": {
          "description": "Completes the specified prefix with keyword suggestions.\nIntended for use by a job search auto-complete search box.",
          "flatPath": "v3p1beta1/projects/{projectsId}:complete",
          "httpMethod": "GET",
          "id": "jobs.projects.complete",
          "parameterOrder": [
            "name"
          ],
          "parameters": {
            "companyName": {
              "description": "Optional.\n\nIf provided, restricts completion to specified company.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".",
              "location": "query",
              "type": "string"
            },
            "languageCode": {
              "description": "Deprecated. Use language_codes instead.\n\nOptional.\n\nThe language of the query. This is\nthe BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nFor CompletionType.JOB_TITLE type, only open jobs with the same\nlanguage_code are returned.\n\nFor CompletionType.COMPANY_NAME type,\nonly companies having open jobs with the same language_code are\nreturned.\n\nFor CompletionType.COMBINED type, only open jobs with the same\nlanguage_code or companies having open jobs with the same\nlanguage_code are returned.\n\nThe maximum number of allowed characters is 255.",
              "location": "query",
              "type": "string"
            },
            "languageCodes": {
              "description": "Optional.\n\nThe list of languages of the query. This is\nthe BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nFor CompletionType.JOB_TITLE type, only open jobs with the same\nlanguage_codes are returned.\n\nFor CompletionType.COMPANY_NAME type,\nonly companies having open jobs with the same language_codes are\nreturned.\n\nFor CompletionType.COMBINED type, only open jobs with the same\nlanguage_codes or companies having open jobs with the same\nlanguage_codes are returned.\n\nThe maximum number of allowed characters is 255.",
              "location": "query",
              "repeated": true,
              "type": "string"
            },
            "name": {
              "description": "Required.\n\nResource name of project the completion is performed within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
              "location": "path",
              "pattern": "^projects/[^/]+$",
              "required": true,
              "type": "string"
            },
            "pageSize": {
              "description": "Required.\n\nCompletion result count.\n\nThe maximum allowed page size is 10.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "query": {
              "description": "Required.\n\nThe query used to generate suggestions.\n\nThe maximum number of allowed characters is 255.",
              "location": "query",
              "type": "string"
            },
            "scope": {
              "description": "Optional.\n\nThe scope of the completion. The defaults is CompletionScope.PUBLIC.",
              "enum": [
                "COMPLETION_SCOPE_UNSPECIFIED",
                "TENANT",
                "PUBLIC"
              ],
              "location": "query",
              "type": "string"
            },
            "type": {
              "description": "Optional.\n\nThe completion topic. The default is CompletionType.COMBINED.",
              "enum": [
                "COMPLETION_TYPE_UNSPECIFIED",
                "JOB_TITLE",
                "COMPANY_NAME",
                "COMBINED"
              ],
              "location": "query",
              "type": "string"
            }
          },
          "path": "v3p1beta1/{+name}:complete",
          "response": {
            "$ref": "CompleteQueryResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform",
            "https://www.googleapis.com/auth/jobs"
          ]
        }
      },
      "resources": {
        "clientEvents": {
          "methods": {
            "create": {
              "description": "Report events issued when end user interacts with customer's application\nthat uses Cloud Talent Solution. You may inspect the created events in\n[self service\ntools](https://console.cloud.google.com/talent-solution/overview).\n[Learn\nmore](https://cloud.google.com/talent-solution/docs/management-tools)\nabout self service tools.",
              "flatPath": "v3p1beta1/projects/{projectsId}/clientEvents",
              "httpMethod": "POST",
              "id": "jobs.projects.clientEvents.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Parent project name.",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/clientEvents",
              "request": {
                "$ref": "CreateClientEventRequest"
              },
              "response": {
                "$ref": "ClientEvent"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            }
          }
        },
        "companies": {
          "methods": {
            "create": {
              "description": "Creates a new company entity.",
              "flatPath": "v3p1beta1/projects/{projectsId}/companies",
              "httpMethod": "POST",
              "id": "jobs.projects.companies.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required.\n\nResource name of the project under which the company is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/companies",
              "request": {
                "$ref": "CreateCompanyRequest"
              },
              "response": {
                "$ref": "Company"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "delete": {
              "description": "Deletes specified company.\nPrerequisite: The company has no jobs associated with it.",
              "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}",
              "httpMethod": "DELETE",
              "id": "jobs.projects.companies.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required.\n\nThe resource name of the company to be deleted.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/companies/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "get": {
              "description": "Retrieves specified company.",
              "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}",
              "httpMethod": "GET",
              "id": "jobs.projects.companies.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required.\n\nThe resource name of the company to be retrieved.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/companies/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "response": {
                "$ref": "Company"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "list": {
              "description": "Lists all companies associated with the service account.",
              "flatPath": "v3p1beta1/projects/{projectsId}/companies",
              "httpMethod": "GET",
              "id": "jobs.projects.companies.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "pageSize": {
                  "description": "Optional.\n\nThe maximum number of companies to be returned, at most 100.\nDefault is 100 if a non-positive number is provided.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional.\n\nThe starting indicator from which to return results.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required.\n\nResource name of the project under which the company is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                },
                "requireOpenJobs": {
                  "description": "Optional.\n\nSet to true if the companies requested must have open jobs.\n\nDefaults to false.\n\nIf true, at most page_size of companies are fetched, among which\nonly those with open jobs are returned.",
                  "location": "query",
                  "type": "boolean"
                }
              },
              "path": "v3p1beta1/{+parent}/companies",
              "response": {
                "$ref": "ListCompaniesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "patch": {
              "description": "Updates specified company. Company names can't be updated. To update a\ncompany name, delete the company and all jobs associated with it, and only\nthen re-create them.",
              "flatPath": "v3p1beta1/projects/{projectsId}/companies/{companiesId}",
              "httpMethod": "PATCH",
              "id": "jobs.projects.companies.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required during company update.\n\nThe resource name for a company. This is generated by the service when a\ncompany is created.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/companies/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "request": {
                "$ref": "UpdateCompanyRequest"
              },
              "response": {
                "$ref": "Company"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            }
          }
        },
        "jobs": {
          "methods": {
            "batchDelete": {
              "description": "Deletes a list of Jobs by filter.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs:batchDelete",
              "httpMethod": "POST",
              "id": "jobs.projects.jobs.batchDelete",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required.\n\nThe resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/jobs:batchDelete",
              "request": {
                "$ref": "BatchDeleteJobsRequest"
              },
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "create": {
              "description": "Creates a new job.\n\nTypically, the job becomes searchable within 10 seconds, but it may take\nup to 5 minutes.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs",
              "httpMethod": "POST",
              "id": "jobs.projects.jobs.create",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required.\n\nThe resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/jobs",
              "request": {
                "$ref": "CreateJobRequest"
              },
              "response": {
                "$ref": "Job"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "delete": {
              "description": "Deletes the specified job.\n\nTypically, the job becomes unsearchable within 10 seconds, but it may take\nup to 5 minutes.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}",
              "httpMethod": "DELETE",
              "id": "jobs.projects.jobs.delete",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required.\n\nThe resource name of the job to be deleted.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/jobs/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "get": {
              "description": "Retrieves the specified job, whose status is OPEN or recently EXPIRED\nwithin the last 90 days.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}",
              "httpMethod": "GET",
              "id": "jobs.projects.jobs.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required.\n\nThe resource name of the job to retrieve.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+/jobs/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "response": {
                "$ref": "Job"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "list": {
              "description": "Lists jobs by filter.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs",
              "httpMethod": "GET",
              "id": "jobs.projects.jobs.list",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "filter": {
                  "description": "Required.\n\nThe filter string specifies the jobs to be enumerated.\n\nSupported operator: =, AND\n\nThe fields eligible for filtering are:\n\n* `companyName` (Required)\n* `requisitionId` (Optional)\n\nSample Query:\n\n* companyName = \"projects/api-test-project/companies/123\"\n* companyName = \"projects/api-test-project/companies/123\" AND requisitionId\n= \"req-1\"",
                  "location": "query",
                  "type": "string"
                },
                "jobView": {
                  "description": "Optional.\n\nThe desired job attributes returned for jobs in the\nsearch response. Defaults to JobView.JOB_VIEW_FULL if no value is\nspecified.",
                  "enum": [
                    "JOB_VIEW_UNSPECIFIED",
                    "JOB_VIEW_ID_ONLY",
                    "JOB_VIEW_MINIMAL",
                    "JOB_VIEW_SMALL",
                    "JOB_VIEW_FULL"
                  ],
                  "location": "query",
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional.\n\nThe maximum number of jobs to be returned per page of results.\n\nIf job_view is set to JobView.JOB_VIEW_ID_ONLY, the maximum allowed\npage size is 1000. Otherwise, the maximum allowed page size is 100.\n\nDefault is 100 if empty or a number \u003c 1 is specified.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                },
                "pageToken": {
                  "description": "Optional.\n\nThe starting point of a query result.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "description": "Required.\n\nThe resource name of the project under which the job is created.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/jobs",
              "response": {
                "$ref": "ListJobsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "patch": {
              "description": "Updates specified job.\n\nTypically, updated contents become visible in search results within 10\nseconds, but it may take up to 5 minutes.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs/{jobsId}",
              "httpMethod": "PATCH",
              "id": "jobs.projects.jobs.patch",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "Required during job update.\n\nThe resource name for the job. This is generated by the service when a\njob is created.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".\n\nUse of this field in job queries and API calls is preferred over the use of\nrequisition_id since this value is unique.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/jobs/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "request": {
                "$ref": "UpdateJobRequest"
              },
              "response": {
                "$ref": "Job"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "search": {
              "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs that the caller has\npermission to search against.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs:search",
              "httpMethod": "POST",
              "id": "jobs.projects.jobs.search",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required.\n\nThe resource name of the project to search within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/jobs:search",
              "request": {
                "$ref": "SearchJobsRequest"
              },
              "response": {
                "$ref": "SearchJobsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            },
            "searchForAlert": {
              "description": "Searches for jobs using the provided SearchJobsRequest.\n\nThis API call is intended for the use case of targeting passive job\nseekers (for example, job seekers who have signed up to receive email\nalerts about potential job opportunities), and has different algorithmic\nadjustments that are targeted to passive job seekers.\n\nThis call constrains the visibility of jobs\npresent in the database, and only returns jobs the caller has\npermission to search against.",
              "flatPath": "v3p1beta1/projects/{projectsId}/jobs:searchForAlert",
              "httpMethod": "POST",
              "id": "jobs.projects.jobs.searchForAlert",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "description": "Required.\n\nThe resource name of the project to search within.\n\nThe format is \"projects/{project_id}\", for example,\n\"projects/api-test-project\".",
                  "location": "path",
                  "pattern": "^projects/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+parent}/jobs:searchForAlert",
              "request": {
                "$ref": "SearchJobsRequest"
              },
              "response": {
                "$ref": "SearchJobsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            }
          }
        },
        "operations": {
          "methods": {
            "get": {
              "description": "Gets the latest state of a long-running operation.  Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.",
              "flatPath": "v3p1beta1/projects/{projectsId}/operations/{operationsId}",
              "httpMethod": "GET",
              "id": "jobs.projects.operations.get",
              "parameterOrder": [
                "name"
              ],
              "parameters": {
                "name": {
                  "description": "The name of the operation resource.",
                  "location": "path",
                  "pattern": "^projects/[^/]+/operations/[^/]+$",
                  "required": true,
                  "type": "string"
                }
              },
              "path": "v3p1beta1/{+name}",
              "response": {
                "$ref": "Operation"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform",
                "https://www.googleapis.com/auth/jobs"
              ]
            }
          }
        }
      }
    }
  },
  "revision": "20190425",
  "rootUrl": "https://jobs.googleapis.com/",
  "schemas": {
    "ApplicationInfo": {
      "description": "Application related details of a job posting.",
      "id": "ApplicationInfo",
      "properties": {
        "emails": {
          "description": "Optional but at least one of uris,\nemails or instruction must be\nspecified.\n\nUse this field to specify email address(es) to which resumes or\napplications can be sent.\n\nThe maximum number of allowed characters for each entry is 255.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "instruction": {
          "description": "Optional but at least one of uris,\nemails or instruction must be\nspecified.\n\nUse this field to provide instructions, such as \"Mail your application\nto ...\", that a candidate can follow to apply for the job.\n\nThis field accepts and sanitizes HTML input, and also accepts\nbold, italic, ordered list, and unordered list markup tags.\n\nThe maximum number of allowed characters is 3,000.",
          "type": "string"
        },
        "uris": {
          "description": "Optional but at least one of uris,\nemails or instruction must be\nspecified.\n\nUse this URI field to direct an applicant to a website, for example to\nlink to an online application form.\n\nThe maximum number of allowed characters for each entry is 2,000.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "BatchDeleteJobsRequest": {
      "description": "Input only.\n\nBatch delete jobs request.",
      "id": "BatchDeleteJobsRequest",
      "properties": {
        "filter": {
          "description": "Required.\n\nThe filter string specifies the jobs to be deleted.\n\nSupported operator: =, AND\n\nThe fields eligible for filtering are:\n\n* `companyName` (Required)\n* `requisitionId` (Required)\n\nSample Query: companyName = \"projects/api-test-project/companies/123\" AND\nrequisitionId = \"req-1\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BucketRange": {
      "description": "Represents starting and ending value of a range in double.",
      "id": "BucketRange",
      "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.",
      "id": "BucketizedCount",
      "properties": {
        "count": {
          "description": "Number of jobs whose numeric field value fall into `range`.",
          "format": "int32",
          "type": "integer"
        },
        "range": {
          "$ref": "BucketRange",
          "description": "Bucket range on which histogram was performed for the numeric field,\nthat 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\nimplements Cloud Talent Solution. Providing this information improves the\nquality of search and recommendation for the API clients, enabling the\nservice to perform optimally. The number of events sent must be consistent\nwith other calls, such as job searches, issued to the service by the client.",
      "id": "ClientEvent",
      "properties": {
        "createTime": {
          "description": "Required.\n\nThe timestamp of the event.",
          "format": "google-datetime",
          "type": "string"
        },
        "eventId": {
          "description": "Required.\n\nA unique identifier, generated by the client application. This `event_id`\nis used to establish the relationship between different events\n(see parent_event_id).",
          "type": "string"
        },
        "extraInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional.\n\nExtra information about this event. Used for storing information with no\nmatching field in event payload, for example, user application specific\ncontext or details.\n\nAt most 20 keys are supported. The maximum total size of all keys and\nvalues is 2 KB.",
          "type": "object"
        },
        "jobEvent": {
          "$ref": "JobEvent",
          "description": "A event issued when a job seeker interacts with the application that\nimplements Cloud Talent Solution."
        },
        "parentEventId": {
          "description": "Optional.\n\nThe event_id of an event that resulted in the current event. For example, a\nJob view event usually follows a parent\nimpression event: A job seeker first does a\nsearch where a list of jobs appears\n(impression). The job seeker then selects a\nresult and views the description of a particular job (Job\nview).",
          "type": "string"
        },
        "requestId": {
          "description": "Required.\n\nA unique ID generated in the API responses. It can be found in\nResponseMetadata.request_id.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CommuteFilter": {
      "description": "Input only.\n\nParameters needed for commute search.",
      "id": "CommuteFilter",
      "properties": {
        "allowImpreciseAddresses": {
          "description": "Optional.\nIf true, jobs without \"precise\" addresses (street level addresses or GPS\ncoordinates) might also be returned. For city and coarser level addresses,\ntext matching is used. If this field is set to false or is not specified,\nonly jobs that include precise addresses are returned by Commute\nSearch.\n\nNote: If `allow_imprecise_addresses` is set to true, Commute Search is not\nable to calculate accurate commute times to jobs with city level and\ncoarser address information. Jobs with imprecise addresses will return a\n`travel_duration` time of 0 regardless of distance from the job seeker.",
          "type": "boolean"
        },
        "commuteMethod": {
          "description": "Required.\n\nThe method of transportation for which to calculate the commute time.",
          "enum": [
            "COMMUTE_METHOD_UNSPECIFIED",
            "DRIVING",
            "TRANSIT",
            "WALKING",
            "CYCLING"
          ],
          "enumDescriptions": [
            "Commute method is not specified.",
            "Commute time is calculated based on driving time.",
            "Commute time is calculated based on public transit including bus, metro,\nsubway, etc.",
            "Commute time is calculated based on walking time.",
            "Commute time is calculated based on biking time."
          ],
          "type": "string"
        },
        "departureTime": {
          "$ref": "TimeOfDay",
          "description": "Optional.\n\nThe departure time used to calculate traffic impact, represented as\ngoogle.type.TimeOfDay in local time zone.\n\nCurrently traffic model is restricted to hour level resolution."
        },
        "roadTraffic": {
          "description": "Optional.\n\nSpecifies the traffic density to use when calculating commute time.",
          "enum": [
            "ROAD_TRAFFIC_UNSPECIFIED",
            "TRAFFIC_FREE",
            "BUSY_HOUR"
          ],
          "enumDescriptions": [
            "Road traffic situation is not specified.",
            "Optimal commute time without considering any traffic impact.",
            "Commute time calculation takes in account the peak traffic impact."
          ],
          "type": "string"
        },
        "startCoordinates": {
          "$ref": "LatLng",
          "description": "Required.\n\nThe latitude and longitude of the location from which to calculate the\ncommute time."
        },
        "travelDuration": {
          "description": "Required.\n\nThe maximum travel time in seconds. The maximum allowed value is `3600s`\n(one hour). Format is `123s`.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CommuteInfo": {
      "description": "Output only.\n\nCommute details related to this job.",
      "id": "CommuteInfo",
      "properties": {
        "jobLocation": {
          "$ref": "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\nquery location. A duration of 0 seconds indicates that the job is not\nreachable within the requested duration, but was returned as part of an\nexpanded query.",
          "format": "google-duration",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Company": {
      "description": "A Company resource represents a company in the service. A company is the\nentity that owns job postings, that is, the hiring entity responsible for\nemploying applicants for the job position.",
      "id": "Company",
      "properties": {
        "careerSiteUri": {
          "description": "Optional.\n\nThe URI to employer's career site or careers page on the employer's web\nsite, for example, \"https://careers.google.com\".",
          "type": "string"
        },
        "derivedInfo": {
          "$ref": "CompanyDerivedInfo",
          "description": "Output only. Derived details about the company."
        },
        "displayName": {
          "description": "Required.\n\nThe display name of the company, for example, \"Google, LLC\".",
          "type": "string"
        },
        "eeoText": {
          "description": "Optional.\n\nEqual Employment Opportunity legal disclaimer text to be\nassociated with all jobs, and typically to be displayed in all\nroles.\n\nThe maximum number of allowed characters is 500.",
          "type": "string"
        },
        "externalId": {
          "description": "Required.\n\nClient side company identifier, used to uniquely identify the\ncompany.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        },
        "headquartersAddress": {
          "description": "Optional.\n\nThe street address of the company's main headquarters, which may be\ndifferent from the job location. The service attempts\nto geolocate the provided address, and populates a more specific\nlocation wherever possible in DerivedInfo.headquarters_location.",
          "type": "string"
        },
        "hiringAgency": {
          "description": "Optional.\n\nSet to true if it is the hiring agency that post jobs for other\nemployers.\n\nDefaults to false if not provided.",
          "type": "boolean"
        },
        "imageUri": {
          "description": "Optional.\n\nA URI that hosts the employer's company logo.",
          "type": "string"
        },
        "keywordSearchableJobCustomAttributes": {
          "description": "Optional.\n\nA list of keys of filterable Job.custom_attributes, whose\ncorresponding `string_values` are used in keyword search. Jobs with\n`string_values` under these specified field keys are returned if any\nof the values matches the search keyword. Custom field values with\nparenthesis, brackets and special symbols won't be properly searchable,\nand those keyword queries need to be surrounded by quotes.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "description": "Required during company update.\n\nThe resource name for a company. This is generated by the service when a\ncompany is created.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".",
          "type": "string"
        },
        "size": {
          "description": "Optional.\n\nThe employer's company size.",
          "enum": [
            "COMPANY_SIZE_UNSPECIFIED",
            "MINI",
            "SMALL",
            "SMEDIUM",
            "MEDIUM",
            "BIG",
            "BIGGER",
            "GIANT"
          ],
          "enumDescriptions": [
            "Default value if the size is not specified.",
            "The company has less than 50 employees.",
            "The company has between 50 and 99 employees.",
            "The company has between 100 and 499 employees.",
            "The company has between 500 and 999 employees.",
            "The company has between 1,000 and 4,999 employees.",
            "The company has between 5,000 and 9,999 employees.",
            "The company has 10,000 or more employees."
          ],
          "type": "string"
        },
        "suspended": {
          "description": "Output only. Indicates whether a company is flagged to be suspended from\npublic availability by the service when job content appears suspicious,\nabusive, or spammy.",
          "type": "boolean"
        },
        "websiteUri": {
          "description": "Optional.\n\nThe URI representing the company's primary web site or home page,\nfor example, \"https://www.google.com\".\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CompanyDerivedInfo": {
      "description": "Derived details about the company.",
      "id": "CompanyDerivedInfo",
      "properties": {
        "headquartersLocation": {
          "$ref": "Location",
          "description": "A structured headquarters location of the company, resolved from\nCompany.hq_location if provided."
        }
      },
      "type": "object"
    },
    "CompensationEntry": {
      "description": "A compensation entry that represents one component of compensation, such\nas base pay, bonus, or other compensation type.\n\nAnnualization: One compensation entry can be annualized if\n- it contains valid amount or range.\n- and its expected_units_per_year is set or can be derived.\nIts annualized range is determined as (amount or range) times\nexpected_units_per_year.",
      "id": "CompensationEntry",
      "properties": {
        "amount": {
          "$ref": "Money",
          "description": "Optional.\n\nCompensation amount."
        },
        "description": {
          "description": "Optional.\n\nCompensation description.  For example, could\nindicate equity terms or provide additional context to an estimated\nbonus.",
          "type": "string"
        },
        "expectedUnitsPerYear": {
          "description": "Optional.\n\nExpected number of units paid each year. If not specified, when\nJob.employment_types is FULLTIME, a default value is inferred\nbased on unit. Default values:\n- HOURLY: 2080\n- DAILY: 260\n- WEEKLY: 52\n- MONTHLY: 12\n- ANNUAL: 1",
          "format": "double",
          "type": "number"
        },
        "range": {
          "$ref": "CompensationRange",
          "description": "Optional.\n\nCompensation range."
        },
        "type": {
          "description": "Optional.\n\nCompensation type.\n\nDefault is CompensationUnit.OTHER_COMPENSATION_TYPE.",
          "enum": [
            "COMPENSATION_TYPE_UNSPECIFIED",
            "BASE",
            "BONUS",
            "SIGNING_BONUS",
            "EQUITY",
            "PROFIT_SHARING",
            "COMMISSIONS",
            "TIPS",
            "OTHER_COMPENSATION_TYPE"
          ],
          "enumDescriptions": [
            "Default value.",
            "Base compensation: Refers to the fixed amount of money paid to an\nemployee by an employer in return for work performed. Base compensation\ndoes not include benefits, bonuses or any other potential compensation\nfrom an employer.",
            "Bonus.",
            "Signing bonus.",
            "Equity.",
            "Profit sharing.",
            "Commission.",
            "Tips.",
            "Other compensation type."
          ],
          "type": "string"
        },
        "unit": {
          "description": "Optional.\n\nFrequency of the specified amount.\n\nDefault is CompensationUnit.OTHER_COMPENSATION_UNIT.",
          "enum": [
            "COMPENSATION_UNIT_UNSPECIFIED",
            "HOURLY",
            "DAILY",
            "WEEKLY",
            "MONTHLY",
            "YEARLY",
            "ONE_TIME",
            "OTHER_COMPENSATION_UNIT"
          ],
          "enumDescriptions": [
            "Default value.",
            "Hourly.",
            "Daily.",
            "Weekly",
            "Monthly.",
            "Yearly.",
            "One time.",
            "Other compensation units."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CompensationFilter": {
      "description": "Input only.\n\nFilter on job compensation type and amount.",
      "id": "CompensationFilter",
      "properties": {
        "includeJobsWithUnspecifiedCompensationRange": {
          "description": "Optional.\n\nWhether to include jobs whose compensation range is unspecified.",
          "type": "boolean"
        },
        "range": {
          "$ref": "CompensationRange",
          "description": "Optional.\n\nCompensation range."
        },
        "type": {
          "description": "Required.\n\nType of filter.",
          "enum": [
            "FILTER_TYPE_UNSPECIFIED",
            "UNIT_ONLY",
            "UNIT_AND_AMOUNT",
            "ANNUALIZED_BASE_AMOUNT",
            "ANNUALIZED_TOTAL_AMOUNT"
          ],
          "enumDescriptions": [
            "Filter type unspecified. Position holder, INVALID, should never be used.",
            "Filter by `base compensation entry's` unit. A job is a match if and\nonly if the job contains a base CompensationEntry and the base\nCompensationEntry's unit matches provided units.\nPopulate one or more units.\n\nSee CompensationInfo.CompensationEntry for definition of\nbase compensation entry.",
            "Filter by `base compensation entry's` unit and amount / range. A job\nis a match if and only if the job contains a base CompensationEntry, and\nthe base entry's unit matches provided compensation_units and amount\nor range overlaps with provided compensation_range.\n\nSee CompensationInfo.CompensationEntry for definition of\nbase compensation entry.\n\nSet exactly one units and populate range.",
            "Filter by annualized base compensation amount and `base compensation\nentry's` unit. Populate range and zero or more units.",
            "Filter by annualized total compensation amount and `base compensation\nentry's` unit . Populate range and zero or more units."
          ],
          "type": "string"
        },
        "units": {
          "description": "Required.\n\nSpecify desired `base compensation entry's`\nCompensationInfo.CompensationUnit.",
          "enumDescriptions": [
            "Default value.",
            "Hourly.",
            "Daily.",
            "Weekly",
            "Monthly.",
            "Yearly.",
            "One time.",
            "Other compensation units."
          ],
          "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.\n\nCompensation based histogram request.",
      "id": "CompensationHistogramRequest",
      "properties": {
        "bucketingOption": {
          "$ref": "NumericBucketingOption",
          "description": "Required.\n\nNumeric histogram options, like buckets, whether include min or max value."
        },
        "type": {
          "description": "Required.\n\nType of the request, representing which field the histogramming should be\nperformed over. A single request can only specify one histogram of each\n`CompensationHistogramRequestType`.",
          "enum": [
            "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED",
            "BASE",
            "ANNUALIZED_BASE",
            "ANNUALIZED_TOTAL"
          ],
          "enumDescriptions": [
            "Default value. Invalid.",
            "Histogram by job's base compensation. See CompensationEntry for\ndefinition of base compensation.",
            "Histogram by job's annualized base compensation. See CompensationEntry\nfor definition of annualized base compensation.",
            "Histogram by job's annualized total compensation. See CompensationEntry\nfor definition of annualized total compensation."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CompensationHistogramResult": {
      "description": "Output only.\n\nCompensation based histogram result.",
      "id": "CompensationHistogramResult",
      "properties": {
        "result": {
          "$ref": "NumericBucketingResult",
          "description": "Histogram result."
        },
        "type": {
          "description": "Type of the request, corresponding to\nCompensationHistogramRequest.type.",
          "enum": [
            "COMPENSATION_HISTOGRAM_REQUEST_TYPE_UNSPECIFIED",
            "BASE",
            "ANNUALIZED_BASE",
            "ANNUALIZED_TOTAL"
          ],
          "enumDescriptions": [
            "Default value. Invalid.",
            "Histogram by job's base compensation. See CompensationEntry for\ndefinition of base compensation.",
            "Histogram by job's annualized base compensation. See CompensationEntry\nfor definition of annualized base compensation.",
            "Histogram by job's annualized total compensation. See CompensationEntry\nfor definition of annualized total compensation."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CompensationInfo": {
      "description": "Job compensation details.",
      "id": "CompensationInfo",
      "properties": {
        "annualizedBaseCompensationRange": {
          "$ref": "CompensationRange",
          "description": "Output only. Annualized base compensation range. Computed as\nbase compensation entry's CompensationEntry.compensation times\nCompensationEntry.expected_units_per_year.\n\nSee CompensationEntry for explanation on compensation annualization."
        },
        "annualizedTotalCompensationRange": {
          "$ref": "CompensationRange",
          "description": "Output only. Annualized total compensation range. Computed as\nall compensation entries' CompensationEntry.compensation times\nCompensationEntry.expected_units_per_year.\n\nSee CompensationEntry for explanation on compensation annualization."
        },
        "entries": {
          "description": "Optional.\n\nJob compensation information.\n\nAt most one entry can be of type\nCompensationInfo.CompensationType.BASE, which is\nreferred as ** base compensation entry ** for the job.",
          "items": {
            "$ref": "CompensationEntry"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CompensationRange": {
      "description": "Compensation range.",
      "id": "CompensationRange",
      "properties": {
        "maxCompensation": {
          "$ref": "Money",
          "description": "Optional.\n\nThe maximum amount of compensation. If left empty, the value is set\nto a maximal compensation value and the currency code is set to\nmatch the currency code of\nmin_compensation."
        },
        "minCompensation": {
          "$ref": "Money",
          "description": "Optional.\n\nThe minimum amount of compensation. If left empty, the value is set\nto zero and the currency code is set to match the\ncurrency code of max_compensation."
        }
      },
      "type": "object"
    },
    "CompleteQueryResponse": {
      "description": "Output only.\n\nResponse of auto-complete query.",
      "id": "CompleteQueryResponse",
      "properties": {
        "completionResults": {
          "description": "Results of the matching job/company candidates.",
          "items": {
            "$ref": "CompletionResult"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "ResponseMetadata",
          "description": "Additional information for the API invocation, such as the request\ntracking id."
        }
      },
      "type": "object"
    },
    "CompletionResult": {
      "description": "Output only.\n\nResource that represents completion results.",
      "id": "CompletionResult",
      "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"
          ],
          "enumDescriptions": [
            "Default value.",
            "Only suggest job titles.",
            "Only suggest company names.",
            "Suggest both job titles and company names."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CreateClientEventRequest": {
      "description": "The report event request.",
      "id": "CreateClientEventRequest",
      "properties": {
        "clientEvent": {
          "$ref": "ClientEvent",
          "description": "Required.\n\nEvents issued when end user interacts with customer's application that\nuses Cloud Talent Solution."
        }
      },
      "type": "object"
    },
    "CreateCompanyRequest": {
      "description": "Input only.\n\nThe Request of the CreateCompany method.",
      "id": "CreateCompanyRequest",
      "properties": {
        "company": {
          "$ref": "Company",
          "description": "Required.\n\nThe company to be created."
        }
      },
      "type": "object"
    },
    "CreateJobRequest": {
      "description": "Input only.\n\nCreate job request.",
      "id": "CreateJobRequest",
      "properties": {
        "job": {
          "$ref": "Job",
          "description": "Required.\n\nThe Job to be created."
        }
      },
      "type": "object"
    },
    "CustomAttribute": {
      "description": "Custom attribute values that are either filterable or non-filterable.",
      "id": "CustomAttribute",
      "properties": {
        "filterable": {
          "description": "Optional.\n\nIf the `filterable` flag is true, custom field values are searchable.\nIf false, values are not searchable.\n\nDefault is false.",
          "type": "boolean"
        },
        "longValues": {
          "description": "Optional but exactly one of string_values or long_values must\nbe specified.\n\nThis field is used to perform number range search.\n(`EQ`, `GT`, `GE`, `LE`, `LT`) over filterable `long_value`.\n\nCurrently 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\nbe specified.\n\nThis field is used to perform a string match (`CASE_SENSITIVE_MATCH` or\n`CASE_INSENSITIVE_MATCH`) search.\nFor filterable `string_value`s, a maximum total number of 200 values\nis allowed, with each `string_value` has a byte size of no more than\n255B. For unfilterable `string_values`, the maximum total byte size of\nunfilterable `string_values` is 50KB.\n\nEmpty string is not allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "CustomAttributeHistogramRequest": {
      "description": "Custom attributes histogram request. An error is thrown if neither\nstring_value_histogram or long_value_histogram_bucketing_option has\nbeen defined.",
      "id": "CustomAttributeHistogramRequest",
      "properties": {
        "key": {
          "description": "Required.\n\nSpecifies the custom field key to perform a histogram on. If specified\nwithout `long_value_histogram_bucketing_option`, histogram on string values\nof the given `key` is triggered, otherwise histogram is performed on long\nvalues.",
          "type": "string"
        },
        "longValueHistogramBucketingOption": {
          "$ref": "NumericBucketingOption",
          "description": "Optional.\n\nSpecifies buckets used to perform a range histogram on Job's\nfilterable long custom field values, or min/max value requirements."
        },
        "stringValueHistogram": {
          "description": "Optional. If set to true, the response includes the histogram value for\neach key as a string.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "CustomAttributeHistogramResult": {
      "description": "Output only.\n\nCustom attribute histogram result.",
      "id": "CustomAttributeHistogramResult",
      "properties": {
        "key": {
          "description": "Stores the key of custom attribute the histogram is performed on.",
          "type": "string"
        },
        "longValueHistogramResult": {
          "$ref": "NumericBucketingResult",
          "description": "Stores bucketed histogram counting result or min/max values for\ncustom attribute long values associated with `key`."
        },
        "stringValueHistogramResult": {
          "additionalProperties": {
            "format": "int32",
            "type": "integer"
          },
          "description": "Stores a map from the values of string custom field associated\nwith `key` to the number of jobs with that value in this histogram result.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "CustomRankingInfo": {
      "description": "Input only.\n\nCustom ranking information for SearchJobsRequest.",
      "id": "CustomRankingInfo",
      "properties": {
        "importanceLevel": {
          "description": "Required.\n\nControls over how important the score of\nCustomRankingInfo.ranking_expression gets applied to job's final\nranking position.\n\nAn error is thrown if not specified.",
          "enum": [
            "IMPORTANCE_LEVEL_UNSPECIFIED",
            "NONE",
            "LOW",
            "MILD",
            "MEDIUM",
            "HIGH",
            "EXTREME"
          ],
          "enumDescriptions": [
            "Default value if the importance level is not specified.",
            "The given ranking expression is of None importance, existing relevance\nscore (determined by API algorithm) dominates job's final ranking\nposition.",
            "The given ranking expression is of Low importance in terms of job's\nfinal ranking position compared to existing relevance\nscore (determined by API algorithm).",
            "The given ranking expression is of Mild importance in terms of job's\nfinal ranking position compared to existing relevance\nscore (determined by API algorithm).",
            "The given ranking expression is of Medium importance in terms of job's\nfinal ranking position compared to existing relevance\nscore (determined by API algorithm).",
            "The given ranking expression is of High importance in terms of job's\nfinal ranking position compared to existing relevance\nscore (determined by API algorithm).",
            "The given ranking expression is of Extreme importance, and dominates\njob's final ranking position with existing relevance\nscore (determined by API algorithm) ignored."
          ],
          "type": "string"
        },
        "rankingExpression": {
          "description": "Required.\n\nControls over how job documents get ranked on top of existing relevance\nscore (determined by API algorithm). The product of ranking expression\nand relevance score is used to determine job's final ranking position.\n\nThe syntax for this expression is a subset of Google SQL syntax.\n\nSupported operators are: +, -, *, /, where the left and right side of\nthe operator is either a numeric Job.custom_attributes key,\ninteger/double value or an expression that can be evaluated to a number.\n\nParenthesis are supported to adjust calculation precedence. The\nexpression must be \u003c 100 characters in length.\n\nSample ranking expression\n(year + 25) * 0.25 - (freshness / 0.5)",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DeviceInfo": {
      "description": "Device information collected from the job seeker, candidate, or\nother entity conducting the job search. Providing this information improves\nthe quality of the search results across devices.",
      "id": "DeviceInfo",
      "properties": {
        "deviceType": {
          "description": "Optional.\n\nType of the device.",
          "enum": [
            "DEVICE_TYPE_UNSPECIFIED",
            "WEB",
            "MOBILE_WEB",
            "ANDROID",
            "IOS",
            "BOT",
            "OTHER"
          ],
          "enumDescriptions": [
            "The device type isn't specified.",
            "A desktop web browser, such as, Chrome, Firefox, Safari, or Internet\nExplorer)",
            "A mobile device web browser, such as a phone or tablet with a Chrome\nbrowser.",
            "An Android device native application.",
            "An iOS device native application.",
            "A bot, as opposed to a device operated by human beings, such as a web\ncrawler.",
            "Other devices types."
          ],
          "type": "string"
        },
        "id": {
          "description": "Optional.\n\nA device-specific ID. The ID must be a unique identifier that\ndistinguishes the device from other devices.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Empty": {
      "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n    service Foo {\n      rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n    }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.",
      "id": "Empty",
      "properties": {},
      "type": "object"
    },
    "HistogramFacets": {
      "description": "Input only.\n\nHistogram facets to be specified in SearchJobsRequest.",
      "id": "HistogramFacets",
      "properties": {
        "compensationHistogramFacets": {
          "description": "Optional.\n\nSpecifies compensation field-based histogram requests.\nDuplicate values of CompensationHistogramRequest.type are not allowed.",
          "items": {
            "$ref": "CompensationHistogramRequest"
          },
          "type": "array"
        },
        "customAttributeHistogramFacets": {
          "description": "Optional.\n\nSpecifies the custom attributes histogram requests.\nDuplicate values of CustomAttributeHistogramRequest.key are not\nallowed.",
          "items": {
            "$ref": "CustomAttributeHistogramRequest"
          },
          "type": "array"
        },
        "simpleHistogramFacets": {
          "description": "Optional.\n\nSpecifies the simple type of histogram facets, for example,\n`COMPANY_SIZE`, `EMPLOYMENT_TYPE` etc.",
          "enumDescriptions": [
            "The default value if search type is not specified.",
            "Filter by the company id field.",
            "Filter by the employment type field, such as `FULL_TIME` or `PART_TIME`.",
            "Filter by the company size type field, such as `BIG`, `SMALL` or `BIGGER`.",
            "Filter by the date published field. Possible return values are:\n* PAST_24_HOURS (The past 24 hours)\n* PAST_3_DAYS (The past 3 days)\n* PAST_WEEK (The past 7 days)\n* PAST_MONTH (The past 30 days)\n* PAST_YEAR (The past 365 days)",
            "Filter by the required education level of the job.",
            "Filter by the required experience level of the job.",
            "Filter by Admin1, which is a global placeholder for\nreferring to state, province, or the particular term a country uses to\ndefine the geographic structure below the country level.\nExamples include states codes such as \"CA\", \"IL\", \"NY\", and\nprovinces, such as \"BC\".",
            "Filter by the country code of job, such as US, JP, FR.",
            "Filter by the \"city name\", \"Admin1 code\", for example,\n\"Mountain View, CA\" or \"New York, NY\".",
            "Filter by the locale field of a job, such as \"en-US\", \"fr-FR\".\n\nThis is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).",
            "Filter by the language code portion of the locale field, such as \"en\" or\n\"fr\".",
            "Filter by the Category.",
            "Filter by the city center GPS coordinate (latitude and longitude), for\nexample, 37.4038522,-122.0987765. Since the coordinates of a city center\ncan change, clients may need to refresh them periodically.",
            "A combination of state or province code with a country code. This field\ndiffers from `JOB_ADMIN1`, which can be used in multiple countries.",
            "Company display name.",
            "Base compensation unit."
          ],
          "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.\n\nThe histogram request.",
      "id": "HistogramQuery",
      "properties": {
        "histogramQuery": {
          "description": "An expression specifies a histogram request against matching resources\n(for example, jobs) for searches.\n\nExpression syntax is a aggregation function call with histogram facets and\nother options.\n\nAvailable aggregation function calls are:\n* `count(string_histogram_facet)`: Count the number of matching entity, for\n  each distinct attribute value.\n* `count(numeric_histogram_facet, list of buckets)`: Count the number of\n   matching entity within each bucket.\n\nData types:\n\n* Histogram facet: facet names with format a-zA-Z+.\n* String: string like \"any string with backslash escape for quote(\\\").\"\n* Number: whole number and floating point number like 10, -1 and -0.01.\n* List: list of elements with comma(,) separator surrounded by square\nbrackets. For example, [1, 2, 3] and [\"one\", \"two\", \"three\"].\n\nBuilt-in constants:\n\n* MIN (minimum number similar to java Double.MIN_VALUE)\n* MAX (maximum number similar to java Double.MAX_VALUE)\n\nBuilt-in functions:\n\n* bucket(start, end[, label]): bucket built-in function creates a bucket\nwith range of start, end). Note that the end is exclusive. For example,\nbucket(1, MAX, \"positive number\") or bucket(1, 10).\n\nJob histogram facets:\n\n* company_id: histogram by [Job.distributor_company_id.\n* company_display_name: histogram by Job.company_display_name.\n* employment_type: histogram by Job.employment_types. For example,\n\"FULL_TIME\", \"PART_TIME\".\n* company_size: histogram by CompanySize, for example, \"SMALL\",\n\"MEDIUM\", \"BIG\".\n* publish_time_in_month: histogram by the Job.publish_time in months.\nMust specify list of numeric buckets in spec.\n* publish_time_in_year: histogram by the Job.publish_time in years.\nMust specify list of numeric buckets in spec.\n* degree_type: histogram by the Job.degree_type. For example,\n\"Bachelors\", \"Masters\".\n* job_level: histogram by the Job.job_level. For example, \"Entry\nLevel\".\n* country: histogram by the country code of jobs. For example, \"US\", \"FR\".\n* admin1: histogram by the admin1 code of jobs, which is a global\nplaceholder referring to the state, province, or the particular term a\ncountry uses to define the geographic structure below the country level.\nFor example, \"CA\", \"IL\".\n* city: histogram by a combination of the \"city name, admin1 code\". For\nexample,  \"Mountain View, CA\", \"New York, NY\".\n* admin1_country: histogram by a combination of the \"admin1 code, country\".\nFor example, \"CA, US\", \"IL, US\".\n* city_coordinate: histogram by the city center's GPS coordinates (latitude\nand longitude). For example, 37.4038522,-122.0987765. Since the coordinates\nof a city center can change, customers may need to refresh them\nperiodically.\n* locale: histogram by the Job.language_code. For example, \"en-US\",\n\"fr-FR\".\n* language: histogram by the language subtag of the Job.language_code.\nFor example, \"en\", \"fr\".\n* category: histogram by the JobCategory. For example,\n\"COMPUTER_AND_IT\", \"HEALTHCARE\".\n* base_compensation_unit: histogram by the CompensationUnit of base\nsalary. For example, \"WEEKLY\", \"MONTHLY\".\n* base_compensation: histogram by the base salary. Must specify list of\nnumeric buckets to group results by.\n* annualized_base_compensation: histogram by the base annualized salary.\nMust specify list of numeric buckets to group results by.\n* annualized_total_compensation: histogram by the total annualized salary.\nMust specify list of numeric buckets to group results by.\n* string_custom_attribute: histogram by string Job.custom_attributes.\nValues can be accessed via square bracket notations like\nstring_custom_attribute[\"key1\"].\n* numeric_custom_attribute: histogram by numeric Job.custom_attributes.\nValues can be accessed via square bracket notations like\nnumeric_custom_attribute[\"key1\"]. Must specify list of numeric buckets to\ngroup results by.\n\nExample expressions:\n* count(admin1)\n* count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),\nbucket(100000, MAX)])\n* count(string_custom_attribute[\"some-string-custom-attribute\"])\n* count(numeric_custom_attribute[\"some-numeric-custom-attribute\"],\n[bucket(MIN, 0, \"negative\"), bucket(0, MAX, \"non-negative\"])",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HistogramQueryResult": {
      "description": "Output only.\n\nHistogram result that matches HistogramSpec specified in searches.",
      "id": "HistogramQueryResult",
      "properties": {
        "histogram": {
          "additionalProperties": {
            "format": "int64",
            "type": "string"
          },
          "description": "A map from the values of the facet associated with distinct values to the\nnumber of matching entries with corresponding value.\n\nThe key format is:\n* (for string histogram) string values stored in the field.\n* (for named numeric bucket) name specified in `bucket()` function, like\n  for `bucket(0, MAX, \"non-negative\")`, the key will be `non-negative`.\n* (for anonymous numeric bucket) range formatted as `\u003clow\u003e-\u003chigh\u003e`, for\nexample, `0-1000`, `MIN-0`, and `0-MAX`.",
          "type": "object"
        },
        "histogramQuery": {
          "description": "Requested histogram expression.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "HistogramResult": {
      "description": "Output only.\n\nResult of a histogram call. The response contains the histogram map for the\nsearch type specified by HistogramResult.field.\nThe response is a map of each filter value to the corresponding count of\njobs for that filter.",
      "id": "HistogramResult",
      "properties": {
        "searchType": {
          "description": "The Histogram search filters.",
          "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"
          ],
          "enumDescriptions": [
            "The default value if search type is not specified.",
            "Filter by the company id field.",
            "Filter by the employment type field, such as `FULL_TIME` or `PART_TIME`.",
            "Filter by the company size type field, such as `BIG`, `SMALL` or `BIGGER`.",
            "Filter by the date published field. Possible return values are:\n* PAST_24_HOURS (The past 24 hours)\n* PAST_3_DAYS (The past 3 days)\n* PAST_WEEK (The past 7 days)\n* PAST_MONTH (The past 30 days)\n* PAST_YEAR (The past 365 days)",
            "Filter by the required education level of the job.",
            "Filter by the required experience level of the job.",
            "Filter by Admin1, which is a global placeholder for\nreferring to state, province, or the particular term a country uses to\ndefine the geographic structure below the country level.\nExamples include states codes such as \"CA\", \"IL\", \"NY\", and\nprovinces, such as \"BC\".",
            "Filter by the country code of job, such as US, JP, FR.",
            "Filter by the \"city name\", \"Admin1 code\", for example,\n\"Mountain View, CA\" or \"New York, NY\".",
            "Filter by the locale field of a job, such as \"en-US\", \"fr-FR\".\n\nThis is the BCP-47 language code, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).",
            "Filter by the language code portion of the locale field, such as \"en\" or\n\"fr\".",
            "Filter by the Category.",
            "Filter by the city center GPS coordinate (latitude and longitude), for\nexample, 37.4038522,-122.0987765. Since the coordinates of a city center\ncan change, clients may need to refresh them periodically.",
            "A combination of state or province code with a country code. This field\ndiffers from `JOB_ADMIN1`, which can be used in multiple countries.",
            "Company display name.",
            "Base compensation unit."
          ],
          "type": "string"
        },
        "values": {
          "additionalProperties": {
            "format": "int32",
            "type": "integer"
          },
          "description": "A map from the values of field to the number of jobs with that value\nin this search result.\n\nKey: search type (filter names, such as the companyName).\n\nValues: the count of jobs that match the filter for this search.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "HistogramResults": {
      "description": "Output only.\n\nHistogram results that match HistogramFacets specified in\nSearchJobsRequest.",
      "id": "HistogramResults",
      "properties": {
        "compensationHistogramResults": {
          "description": "Specifies compensation field-based histogram results that match\nHistogramFacets.compensation_histogram_requests.",
          "items": {
            "$ref": "CompensationHistogramResult"
          },
          "type": "array"
        },
        "customAttributeHistogramResults": {
          "description": "Specifies histogram results for custom attributes that match\nHistogramFacets.custom_attribute_histogram_facets.",
          "items": {
            "$ref": "CustomAttributeHistogramResult"
          },
          "type": "array"
        },
        "simpleHistogramResults": {
          "description": "Specifies histogram results that matches\nHistogramFacets.simple_histogram_facets.",
          "items": {
            "$ref": "HistogramResult"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Job": {
      "description": "A Job resource represents a job posting (also referred to as a \"job listing\"\nor \"job requisition\"). A job belongs to a Company, which is the hiring\nentity responsible for the job.",
      "id": "Job",
      "properties": {
        "addresses": {
          "description": "Optional but strongly recommended for the best service experience.\n\nLocation(s) where the employer is looking to hire for this job posting.\n\nSpecifying the full street address(es) of the hiring location enables\nbetter API results, especially job searches by commute time.\n\nAt most 50 locations are allowed for best search performance. If a job has\nmore locations, it is suggested to split it into multiple jobs with unique\nrequisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', etc.) as\nmultiple jobs with the same company_name, language_code and\nrequisition_id are not allowed. If the original requisition_id must\nbe preserved, a custom field should be used for storage. It is also\nsuggested to group the locations that close to each other in the same job\nfor better search experience.\n\nThe maximum number of allowed characters is 500.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "applicationInfo": {
          "$ref": "ApplicationInfo",
          "description": "Required. At least one field within ApplicationInfo must be specified.\n\nJob application information."
        },
        "companyDisplayName": {
          "description": "Output only. Display name of the company listing the job.",
          "type": "string"
        },
        "companyName": {
          "description": "Required.\n\nThe resource name of the company listing the job, such as\n\"projects/api-test-project/companies/foo\".",
          "type": "string"
        },
        "compensationInfo": {
          "$ref": "CompensationInfo",
          "description": "Optional.\n\nJob compensation information."
        },
        "customAttributes": {
          "additionalProperties": {
            "$ref": "CustomAttribute"
          },
          "description": "Optional.\n\nA map of fields to hold both filterable and non-filterable custom job\nattributes that are not covered by the provided structured fields.\n\nThe keys of the map are strings up to 64 bytes and must match the\npattern: a-zA-Z*. For example, key0LikeThis or\nKEY_1_LIKE_THIS.\n\nAt most 100 filterable and at most 100 unfilterable keys are supported.\nFor filterable `string_values`, across all keys at most 200 values are\nallowed, with each string no more than 255 characters. For unfilterable\n`string_values`, the maximum total size of `string_values` across all keys\nis 50KB.",
          "type": "object"
        },
        "degreeTypes": {
          "description": "Optional.\n\nThe desired education degrees for the job, such as Bachelors, Masters.",
          "enumDescriptions": [
            "Default value. Represents no degree, or early childhood education.\nMaps to ISCED code 0.\nEx) Kindergarten",
            "Primary education which is typically the first stage of compulsory\neducation. ISCED code 1.\nEx) Elementary school",
            "Lower secondary education; First stage of secondary education building on\nprimary education, typically with a more subject-oriented curriculum.\nISCED code 2.\nEx) Middle school",
            "Middle education; Second/final stage of secondary education preparing for\ntertiary education and/or providing skills relevant to employment.\nUsually with an increased range of subject options and streams. ISCED\ncode 3.\nEx) High school",
            "Adult Remedial Education; Programmes providing learning experiences that\nbuild on secondary education and prepare for labour market entry and/or\ntertiary education. The content is broader than secondary but not as\ncomplex as tertiary education. ISCED code 4.",
            "Associate's or equivalent; Short first tertiary programmes that are\ntypically practically-based, occupationally-specific and prepare for\nlabour market entry. These programmes may also provide a pathway to other\ntertiary programmes. ISCED code 5.",
            "Bachelor's or equivalent; Programmes designed to provide intermediate\nacademic and/or professional knowledge, skills and competencies leading\nto a first tertiary degree or equivalent qualification. ISCED code 6.",
            "Master's or equivalent; Programmes designed to provide advanced academic\nand/or professional knowledge, skills and competencies leading to a\nsecond tertiary degree or equivalent qualification. ISCED code 7.",
            "Doctoral or equivalent; Programmes designed primarily to lead to an\nadvanced research qualification, usually concluding with the submission\nand defense of a substantive dissertation of publishable quality based on\noriginal research. ISCED code 8."
          ],
          "items": {
            "enum": [
              "DEGREE_TYPE_UNSPECIFIED",
              "PRIMARY_EDUCATION",
              "LOWER_SECONDARY_EDUCATION",
              "UPPER_SECONDARY_EDUCATION",
              "ADULT_REMEDIAL_EDUCATION",
              "ASSOCIATES_OR_EQUIVALENT",
              "BACHELORS_OR_EQUIVALENT",
              "MASTERS_OR_EQUIVALENT",
              "DOCTORAL_OR_EQUIVALENT"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "department": {
          "description": "Optional.\n\nThe department or functional area within the company with the open\nposition.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        },
        "derivedInfo": {
          "$ref": "JobDerivedInfo",
          "description": "Output only. Derived details about the job posting."
        },
        "description": {
          "description": "Required.\n\nThe description of the job, which typically includes a multi-paragraph\ndescription of the company and related information. Separate fields are\nprovided on the job object for responsibilities,\nqualifications, and other job characteristics. Use of\nthese separate job fields is recommended.\n\nThis field accepts and sanitizes HTML input, and also accepts\nbold, italic, ordered list, and unordered list markup tags.\n\nThe maximum number of allowed characters is 100,000.",
          "type": "string"
        },
        "employmentTypes": {
          "description": "Optional.\n\nThe employment type(s) of a job, for example,\nfull time or\npart time.",
          "enumDescriptions": [
            "The default value if the employment type is not specified.",
            "The job requires working a number of hours that constitute full\ntime employment, typically 40 or more hours per week.",
            "The job entails working fewer hours than a full time job,\ntypically less than 40 hours a week.",
            "The job is offered as a contracted, as opposed to a salaried employee,\nposition.",
            "The job is offered as a contracted position with the understanding\nthat it's converted into a full-time position at the end of the\ncontract. Jobs of this type are also returned by a search for\nEmploymentType.CONTRACTOR jobs.",
            "The job is offered as a temporary employment opportunity, usually\na short-term engagement.",
            "The job is a fixed-term opportunity for students or entry-level job\nseekers to obtain on-the-job training, typically offered as a summer\nposition.",
            "The is an opportunity for an individual to volunteer, where there's no\nexpectation of compensation for the provided services.",
            "The job requires an employee to work on an as-needed basis with a\nflexible schedule.",
            "The job involves employing people in remote areas and flying them\ntemporarily to the work site instead of relocating employees and their\nfamilies permanently.",
            "The job does not fit any of the other listed types."
          ],
          "items": {
            "enum": [
              "EMPLOYMENT_TYPE_UNSPECIFIED",
              "FULL_TIME",
              "PART_TIME",
              "CONTRACTOR",
              "CONTRACT_TO_HIRE",
              "TEMPORARY",
              "INTERN",
              "VOLUNTEER",
              "PER_DIEM",
              "FLY_IN_FLY_OUT",
              "OTHER_EMPLOYMENT_TYPE"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "incentives": {
          "description": "Optional.\n\nA description of bonus, commission, and other compensation\nincentives associated with the job not including salary or pay.\n\nThe maximum number of allowed characters is 10,000.",
          "type": "string"
        },
        "jobBenefits": {
          "description": "Optional.\n\nThe benefits included with the job.",
          "enumDescriptions": [
            "Default value if the type is not specified.",
            "The job includes access to programs that support child care, such\nas daycare.",
            "The job includes dental services covered by a dental\ninsurance plan.",
            "The job offers specific benefits to domestic partners.",
            "The job allows for a flexible work schedule.",
            "The job includes health services covered by a medical insurance plan.",
            "The job includes a life insurance plan provided by the employer or\navailable for purchase by the employee.",
            "The job allows for a leave of absence to a parent to care for a newborn\nchild.",
            "The job includes a workplace retirement plan provided by the\nemployer or available for purchase by the employee.",
            "The job allows for paid time off due to illness.",
            "The job includes paid time off for vacation.",
            "The job includes vision services covered by a vision\ninsurance plan."
          ],
          "items": {
            "enum": [
              "JOB_BENEFIT_UNSPECIFIED",
              "CHILD_CARE",
              "DENTAL",
              "DOMESTIC_PARTNER",
              "FLEXIBLE_HOURS",
              "MEDICAL",
              "LIFE_INSURANCE",
              "PARENTAL_LEAVE",
              "RETIREMENT_PLAN",
              "SICK_DAYS",
              "VACATION",
              "VISION"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "jobEndTime": {
          "description": "Optional.\n\nThe end timestamp of the job. Typically this field is used for contracting\nengagements. Invalid timestamps are ignored.",
          "format": "google-datetime",
          "type": "string"
        },
        "jobLevel": {
          "description": "Optional.\n\nThe experience level associated with the job, such as \"Entry Level\".",
          "enum": [
            "JOB_LEVEL_UNSPECIFIED",
            "ENTRY_LEVEL",
            "EXPERIENCED",
            "MANAGER",
            "DIRECTOR",
            "EXECUTIVE"
          ],
          "enumDescriptions": [
            "The default value if the level is not specified.",
            "Entry-level individual contributors, typically with less than 2 years of\nexperience in a similar role. Includes interns.",
            "Experienced individual contributors, typically with 2+ years of\nexperience in a similar role.",
            "Entry- to mid-level managers responsible for managing a team of people.",
            "Senior-level managers responsible for managing teams of managers.",
            "Executive-level managers and above, including C-level positions."
          ],
          "type": "string"
        },
        "jobStartTime": {
          "description": "Optional.\n\nThe start timestamp of the job in UTC time zone. Typically this field\nis used for contracting engagements. Invalid timestamps are ignored.",
          "format": "google-datetime",
          "type": "string"
        },
        "languageCode": {
          "description": "Optional.\n\nThe language of the posting. This field is distinct from\nany requirements for fluency that are associated with the job.\n\nLanguage codes must be in BCP-47 format, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:\nclass=\"external\" target=\"_blank\" }.\n\nIf this field is unspecified and Job.description is present, detected\nlanguage code based on Job.description is assigned, otherwise\ndefaults to 'en_US'.",
          "type": "string"
        },
        "name": {
          "description": "Required during job update.\n\nThe resource name for the job. This is generated by the service when a\njob is created.\n\nThe format is \"projects/{project_id}/jobs/{job_id}\",\nfor example, \"projects/api-test-project/jobs/1234\".\n\nUse of this field in job queries and API calls is preferred over the use of\nrequisition_id since this value is unique.",
          "type": "string"
        },
        "postingCreateTime": {
          "description": "Output only. The timestamp when this job posting was created.",
          "format": "google-datetime",
          "type": "string"
        },
        "postingExpireTime": {
          "description": "Optional but strongly recommended for the best service\nexperience.\n\nThe expiration timestamp of the job. After this timestamp, the\njob is marked as expired, and it no longer appears in search results. The\nexpired job can't be deleted or listed by the DeleteJob and\nListJobs APIs, but it can be retrieved with the GetJob API or\nupdated with the UpdateJob API. An expired job can be updated and\nopened again by using a future expiration timestamp. Updating an expired\njob fails if there is another existing open job with same company_name,\nlanguage_code and requisition_id.\n\nThe expired jobs are retained in our system for 90 days. However, the\noverall expired job count cannot exceed 3 times the maximum of open jobs\ncount over the past week, otherwise jobs with earlier expire time are\ncleaned first. Expired jobs are no longer accessible after they are cleaned\nout.\n\nInvalid timestamps are ignored, and treated as expire time not provided.\n\nTimestamp before the instant request is made is considered valid, the job\nwill be treated as expired immediately.\n\nIf this value is not provided at the time of job creation or is invalid,\nthe job posting expires after 30 days from the job's creation time. For\nexample, if the job was created on 2017/01/01 13:00AM UTC with an\nunspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.\n\nIf this value is not provided on job update, it depends on the field masks\nset by UpdateJobRequest.update_mask. If the field masks include\nexpiry_time, or the masks are empty meaning that every field is\nupdated, the job posting expires after 30 days from the job's last\nupdate time. Otherwise the expiration date isn't updated.",
          "format": "google-datetime",
          "type": "string"
        },
        "postingPublishTime": {
          "description": "Optional.\n\nThe timestamp this job posting was most recently published. The default\nvalue is the time the request arrives at the server. Invalid timestamps are\nignored.",
          "format": "google-datetime",
          "type": "string"
        },
        "postingRegion": {
          "description": "Optional.\n\nThe job PostingRegion (for example, state, country) throughout which\nthe job is available. If this field is set, a\nLocationFilter in a search query within the job region\nfinds this job posting if an exact location match isn't specified.\nIf this field is set to PostingRegion.NATION or\nPostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses\nto the same location level as this field is strongly recommended.",
          "enum": [
            "POSTING_REGION_UNSPECIFIED",
            "ADMINISTRATIVE_AREA",
            "NATION",
            "TELECOMMUTE"
          ],
          "enumDescriptions": [
            "If the region is unspecified, the job is only returned if it\nmatches the LocationFilter.",
            "In addition to exact location matching, job posting is returned when the\nLocationFilter in the search query is in the same administrative area\nas the returned job posting. For example, if a `ADMINISTRATIVE_AREA` job\nis posted in \"CA, USA\", it's returned if LocationFilter has\n\"Mountain View\".\n\nAdministrative area refers to top-level administrative subdivision of this\ncountry. For example, US state, IT region, UK constituent nation and\nJP prefecture.",
            "In addition to exact location matching, job is returned when\nLocationFilter in search query is in the same country as this job.\nFor example, if a `NATION_WIDE` job is posted in \"USA\", it's\nreturned if LocationFilter has 'Mountain View'.",
            "Job allows employees to work remotely (telecommute).\nIf locations are provided with this value, the job is\nconsidered as having a location, but telecommuting is allowed."
          ],
          "type": "string"
        },
        "postingUpdateTime": {
          "description": "Output only. The timestamp when this job posting was last updated.",
          "format": "google-datetime",
          "type": "string"
        },
        "processingOptions": {
          "$ref": "ProcessingOptions",
          "description": "Optional.\n\nOptions for job processing."
        },
        "promotionValue": {
          "description": "Optional.\n\nA promotion value of the job, as determined by the client.\nThe value determines the sort order of the jobs returned when searching for\njobs using the featured jobs search call, with higher promotional values\nbeing returned first and ties being resolved by relevance sort. Only the\njobs with a promotionValue \u003e0 are returned in a FEATURED_JOB_SEARCH.\n\nDefault value is 0, and negative values are treated as 0.",
          "format": "int32",
          "type": "integer"
        },
        "qualifications": {
          "description": "Optional.\n\nA description of the qualifications required to perform the\njob. The use of this field is recommended\nas an alternative to using the more general description field.\n\nThis field accepts and sanitizes HTML input, and also accepts\nbold, italic, ordered list, and unordered list markup tags.\n\nThe maximum number of allowed characters is 10,000.",
          "type": "string"
        },
        "requisitionId": {
          "description": "Required.\n\nThe requisition ID, also referred to as the posting ID, assigned by the\nclient to identify a job. This field is intended to be used by clients\nfor client identification and tracking of postings. A job is not allowed\nto be created if there is another job with the same [company_name],\nlanguage_code and requisition_id.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        },
        "responsibilities": {
          "description": "Optional.\n\nA description of job responsibilities. The use of this field is\nrecommended as an alternative to using the more general description\nfield.\n\nThis field accepts and sanitizes HTML input, and also accepts\nbold, italic, ordered list, and unordered list markup tags.\n\nThe maximum number of allowed characters is 10,000.",
          "type": "string"
        },
        "title": {
          "description": "Required.\n\nThe title of the job, such as \"Software Engineer\"\n\nThe maximum number of allowed characters is 500.",
          "type": "string"
        },
        "visibility": {
          "description": "Optional.\n\nThe visibility of the job.\n\nDefaults to Visibility.ACCOUNT_ONLY if not specified.",
          "enum": [
            "VISIBILITY_UNSPECIFIED",
            "ACCOUNT_ONLY",
            "SHARED_WITH_GOOGLE",
            "SHARED_WITH_PUBLIC"
          ],
          "enumDescriptions": [
            "Default value.",
            "The resource is only visible to the GCP account who owns it.",
            "The resource is visible to the owner and may be visible to other\napplications and processes at Google.",
            "The resource is visible to the owner and may be visible to all other API\nclients."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobDerivedInfo": {
      "description": "Output only.\n\nDerived details about the job posting.",
      "id": "JobDerivedInfo",
      "properties": {
        "jobCategories": {
          "description": "Job categories derived from Job.title and Job.description.",
          "enumDescriptions": [
            "The default value if the category isn't specified.",
            "An accounting and finance job, such as an Accountant.",
            "An administrative and office job, such as an Administrative Assistant.",
            "An advertising and marketing job, such as Marketing Manager.",
            "An animal care job, such as Veterinarian.",
            "An art, fashion, or design job, such as Designer.",
            "A business operations job, such as Business Operations Manager.",
            "A cleaning and facilities job, such as Custodial Staff.",
            "A computer and IT job, such as Systems Administrator.",
            "A construction job, such as General Laborer.",
            "A customer service job, such s Cashier.",
            "An education job, such as School Teacher.",
            "An entertainment and travel job, such as Flight Attendant.",
            "A farming or outdoor job, such as Park Ranger.",
            "A healthcare job, such as Registered Nurse.",
            "A human resources job, such as Human Resources Director.",
            "An installation, maintenance, or repair job, such as Electrician.",
            "A legal job, such as Law Clerk.",
            "A management job, often used in conjunction with another category,\nsuch as Store Manager.",
            "A manufacturing or warehouse job, such as Assembly Technician.",
            "A media, communications, or writing job, such as Media Relations.",
            "An oil, gas or mining job, such as Offshore Driller.",
            "A personal care and services job, such as Hair Stylist.",
            "A protective services job, such as Security Guard.",
            "A real estate job, such as Buyer's Agent.",
            "A restaurant and hospitality job, such as Restaurant Server.",
            "A sales and/or retail job, such Sales Associate.",
            "A science and engineering job, such as Lab Technician.",
            "A social services or non-profit job, such as Case Worker.",
            "A sports, fitness, or recreation job, such as Personal Trainer.",
            "A transportation or logistics job, such as Truck Driver."
          ],
          "items": {
            "enum": [
              "JOB_CATEGORY_UNSPECIFIED",
              "ACCOUNTING_AND_FINANCE",
              "ADMINISTRATIVE_AND_OFFICE",
              "ADVERTISING_AND_MARKETING",
              "ANIMAL_CARE",
              "ART_FASHION_AND_DESIGN",
              "BUSINESS_OPERATIONS",
              "CLEANING_AND_FACILITIES",
              "COMPUTER_AND_IT",
              "CONSTRUCTION",
              "CUSTOMER_SERVICE",
              "EDUCATION",
              "ENTERTAINMENT_AND_TRAVEL",
              "FARMING_AND_OUTDOORS",
              "HEALTHCARE",
              "HUMAN_RESOURCES",
              "INSTALLATION_MAINTENANCE_AND_REPAIR",
              "LEGAL",
              "MANAGEMENT",
              "MANUFACTURING_AND_WAREHOUSE",
              "MEDIA_COMMUNICATIONS_AND_WRITING",
              "OIL_GAS_AND_MINING",
              "PERSONAL_CARE_AND_SERVICES",
              "PROTECTIVE_SERVICES",
              "REAL_ESTATE",
              "RESTAURANT_AND_HOSPITALITY",
              "SALES_AND_RETAIL",
              "SCIENCE_AND_ENGINEERING",
              "SOCIAL_SERVICES_AND_NON_PROFIT",
              "SPORTS_FITNESS_AND_RECREATION",
              "TRANSPORTATION_AND_LOGISTICS"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "locations": {
          "description": "Structured locations of the job, resolved from Job.addresses.\n\nlocations are exactly matched to Job.addresses in the same\norder.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "JobEvent": {
      "description": "An event issued when a job seeker interacts with the application that\nimplements Cloud Talent Solution.",
      "id": "JobEvent",
      "properties": {
        "jobs": {
          "description": "Required.\n\nThe job name(s) associated with this event.\nFor example, if this is an impression event,\nthis field contains the identifiers of all jobs shown to the job seeker.\nIf this was a view event, this field contains the\nidentifier of the viewed job.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "type": {
          "description": "Required.\n\nThe type of the event (see JobEventType).",
          "enum": [
            "JOB_EVENT_TYPE_UNSPECIFIED",
            "IMPRESSION",
            "VIEW",
            "VIEW_REDIRECT",
            "APPLICATION_START",
            "APPLICATION_FINISH",
            "APPLICATION_QUICK_SUBMISSION",
            "APPLICATION_REDIRECT",
            "APPLICATION_START_FROM_SEARCH",
            "APPLICATION_REDIRECT_FROM_SEARCH",
            "APPLICATION_COMPANY_SUBMIT",
            "BOOKMARK",
            "NOTIFICATION",
            "HIRED",
            "SENT_CV",
            "INTERVIEW_GRANTED",
            "NOT_INTERESTED"
          ],
          "enumDescriptions": [
            "The event is unspecified by other provided values.",
            "The job seeker or other entity interacting with the service has\nhad a job rendered in their view, such as in a list of search results in\na compressed or clipped format. This event is typically associated with\nthe viewing of a jobs list on a single page by a job seeker.",
            "The job seeker, or other entity interacting with the service, has\nviewed the details of a job, including the full description. This\nevent doesn't apply to the viewing a snippet of a job appearing as a\npart of the job search results. Viewing a snippet is associated with an\nimpression).",
            "The job seeker or other entity interacting with the service\nperformed an action to view a job and was redirected to a different\nwebsite for job.",
            "The job seeker or other entity interacting with the service\nbegan the process or demonstrated the intention of applying for a job.",
            "The job seeker or other entity interacting with the service\nsubmitted an application for a job.",
            "The job seeker or other entity interacting with the service\nsubmitted an application for a job with a single click without\nentering information. If a job seeker performs this action, send only\nthis event to the service. Do not also send\nJobEventType.APPLICATION_START or JobEventType.APPLICATION_FINISH\nevents.",
            "The job seeker or other entity interacting with the service\nperformed an action to apply to a job and was redirected to a different\nwebsite to complete the application.",
            "The job seeker or other entity interacting with the service began the\nprocess or demonstrated the intention of applying for a job from the\nsearch results page without viewing the details of the job posting.\nIf sending this event, JobEventType.VIEW event shouldn't be sent.",
            "The job seeker, or other entity interacting with the service, performs an\naction with a single click from the search results page to apply to a job\n(without viewing the details of the job posting), and is redirected\nto a different website to complete the application. If a candidate\nperforms this action, send only this event to the service. Do not also\nsend JobEventType.APPLICATION_START,\nJobEventType.APPLICATION_FINISH or JobEventType.VIEW events.",
            "This event should be used when a company submits an application\non behalf of a job seeker. This event is intended for use by staffing\nagencies attempting to place candidates.",
            "The job seeker or other entity interacting with the service demonstrated\nan interest in a job by bookmarking or saving it.",
            "The job seeker or other entity interacting with the service was\nsent a notification, such as an email alert or device notification,\ncontaining one or more jobs listings generated by the service.",
            "The job seeker or other entity interacting with the service was\nemployed by the hiring entity (employer). Send this event\nonly if the job seeker was hired through an application that was\ninitiated by a search conducted through the Cloud Talent Solution\nservice.",
            "A recruiter or staffing agency submitted an application on behalf of the\ncandidate after interacting with the service to identify a suitable job\nposting.",
            "The entity interacting with the service (for example, the job seeker),\nwas granted an initial interview by the hiring entity (employer). This\nevent should only be sent if the job seeker was granted an interview as\npart of an application that was initiated by a search conducted through /\nrecommendation provided by the Cloud Talent Solution service.",
            "The job seeker or other entity interacting with the service showed\nno interest in the job."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "JobQuery": {
      "description": "Input only.\n\nThe query required to perform a search query.",
      "id": "JobQuery",
      "properties": {
        "commuteFilter": {
          "$ref": "CommuteFilter",
          "description": "Optional.\n\n Allows filtering jobs by commute time with different travel methods (for\n example, driving or public transit). Note: This only works with COMMUTE\n MODE. When specified, [JobQuery.location_filters] is\n ignored.\n\n Currently we don't support sorting by commute time."
        },
        "companyDisplayNames": {
          "description": "Optional.\n\nThis filter specifies the exact company display\nname of the jobs to search against.\n\nIf a value isn't specified, jobs within the search results are\nassociated with any company.\n\nIf multiple values are specified, jobs within the search results may be\nassociated with any of the specified companies.\n\nAt most 20 company display name filters are allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "companyNames": {
          "description": "Optional.\n\nThis filter specifies the company entities to search against.\n\nIf a value isn't specified, jobs are searched for against all\ncompanies.\n\nIf multiple values are specified, jobs are searched against the\ncompanies specified.\n\nThe format is \"projects/{project_id}/companies/{company_id}\", for example,\n\"projects/api-test-project/companies/foo\".\n\nAt most 20 company filters are allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "compensationFilter": {
          "$ref": "CompensationFilter",
          "description": "Optional.\n\nThis search filter is applied only to\nJob.compensation_info. For example, if the filter is specified\nas \"Hourly job with per-hour compensation \u003e $15\", only jobs meeting\nthese criteria are searched. If a filter isn't defined, all open jobs\nare searched."
        },
        "customAttributeFilter": {
          "description": "Optional.\n\nThis filter specifies a structured syntax to match against the\nJob.custom_attributes marked as `filterable`.\n\nThe syntax for this expression is a subset of SQL syntax.\n\nSupported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the\nleft of the operator is a custom field key and the right of the operator\nis a number or a quoted string. You must escape backslash (\\\\) and\nquote (\\\") characters.\n\nSupported functions are `LOWER([field_name])` to\nperform a case insensitive match and `EMPTY([field_name])` to filter on the\nexistence of a key.\n\nBoolean expressions (AND/OR/NOT) are supported up to 3 levels of\nnesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100\ncomparisons or functions are allowed in the expression. The expression\nmust be \u003c 3000 bytes in length.\n\nSample Query:\n`(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND\ndriving_years \u003e 10`",
          "type": "string"
        },
        "disableSpellCheck": {
          "description": "Optional.\n\nThis flag controls the spell-check feature. If false, the\nservice attempts to correct a misspelled query,\nfor example, \"enginee\" is corrected to \"engineer\".\n\nDefaults to false: a spell check is performed.",
          "type": "boolean"
        },
        "employmentTypes": {
          "description": "Optional.\n\nThe employment type filter specifies the employment type of jobs to\nsearch against, such as EmploymentType.FULL_TIME.\n\nIf a value is not specified, jobs in the search results includes any\nemployment type.\n\nIf multiple values are specified, jobs in the search results include\nany of the specified employment types.",
          "enumDescriptions": [
            "The default value if the employment type is not specified.",
            "The job requires working a number of hours that constitute full\ntime employment, typically 40 or more hours per week.",
            "The job entails working fewer hours than a full time job,\ntypically less than 40 hours a week.",
            "The job is offered as a contracted, as opposed to a salaried employee,\nposition.",
            "The job is offered as a contracted position with the understanding\nthat it's converted into a full-time position at the end of the\ncontract. Jobs of this type are also returned by a search for\nEmploymentType.CONTRACTOR jobs.",
            "The job is offered as a temporary employment opportunity, usually\na short-term engagement.",
            "The job is a fixed-term opportunity for students or entry-level job\nseekers to obtain on-the-job training, typically offered as a summer\nposition.",
            "The is an opportunity for an individual to volunteer, where there's no\nexpectation of compensation for the provided services.",
            "The job requires an employee to work on an as-needed basis with a\nflexible schedule.",
            "The job involves employing people in remote areas and flying them\ntemporarily to the work site instead of relocating employees and their\nfamilies permanently.",
            "The job does not fit any of the other listed types."
          ],
          "items": {
            "enum": [
              "EMPLOYMENT_TYPE_UNSPECIFIED",
              "FULL_TIME",
              "PART_TIME",
              "CONTRACTOR",
              "CONTRACT_TO_HIRE",
              "TEMPORARY",
              "INTERN",
              "VOLUNTEER",
              "PER_DIEM",
              "FLY_IN_FLY_OUT",
              "OTHER_EMPLOYMENT_TYPE"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "excludedJobs": {
          "description": "Optional.\n\nThis filter specifies a list of job names to be excluded during search.\n\nAt most 200 excluded job names are allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "jobCategories": {
          "description": "Optional.\n\nThe category filter specifies the categories of jobs to search against.\nSee Category for more information.\n\nIf a value is not specified, jobs from any category are searched against.\n\nIf multiple values are specified, jobs from any of the specified\ncategories are searched against.",
          "enumDescriptions": [
            "The default value if the category isn't specified.",
            "An accounting and finance job, such as an Accountant.",
            "An administrative and office job, such as an Administrative Assistant.",
            "An advertising and marketing job, such as Marketing Manager.",
            "An animal care job, such as Veterinarian.",
            "An art, fashion, or design job, such as Designer.",
            "A business operations job, such as Business Operations Manager.",
            "A cleaning and facilities job, such as Custodial Staff.",
            "A computer and IT job, such as Systems Administrator.",
            "A construction job, such as General Laborer.",
            "A customer service job, such s Cashier.",
            "An education job, such as School Teacher.",
            "An entertainment and travel job, such as Flight Attendant.",
            "A farming or outdoor job, such as Park Ranger.",
            "A healthcare job, such as Registered Nurse.",
            "A human resources job, such as Human Resources Director.",
            "An installation, maintenance, or repair job, such as Electrician.",
            "A legal job, such as Law Clerk.",
            "A management job, often used in conjunction with another category,\nsuch as Store Manager.",
            "A manufacturing or warehouse job, such as Assembly Technician.",
            "A media, communications, or writing job, such as Media Relations.",
            "An oil, gas or mining job, such as Offshore Driller.",
            "A personal care and services job, such as Hair Stylist.",
            "A protective services job, such as Security Guard.",
            "A real estate job, such as Buyer's Agent.",
            "A restaurant and hospitality job, such as Restaurant Server.",
            "A sales and/or retail job, such Sales Associate.",
            "A science and engineering job, such as Lab Technician.",
            "A social services or non-profit job, such as Case Worker.",
            "A sports, fitness, or recreation job, such as Personal Trainer.",
            "A transportation or logistics job, such as Truck Driver."
          ],
          "items": {
            "enum": [
              "JOB_CATEGORY_UNSPECIFIED",
              "ACCOUNTING_AND_FINANCE",
              "ADMINISTRATIVE_AND_OFFICE",
              "ADVERTISING_AND_MARKETING",
              "ANIMAL_CARE",
              "ART_FASHION_AND_DESIGN",
              "BUSINESS_OPERATIONS",
              "CLEANING_AND_FACILITIES",
              "COMPUTER_AND_IT",
              "CONSTRUCTION",
              "CUSTOMER_SERVICE",
              "EDUCATION",
              "ENTERTAINMENT_AND_TRAVEL",
              "FARMING_AND_OUTDOORS",
              "HEALTHCARE",
              "HUMAN_RESOURCES",
              "INSTALLATION_MAINTENANCE_AND_REPAIR",
              "LEGAL",
              "MANAGEMENT",
              "MANUFACTURING_AND_WAREHOUSE",
              "MEDIA_COMMUNICATIONS_AND_WRITING",
              "OIL_GAS_AND_MINING",
              "PERSONAL_CARE_AND_SERVICES",
              "PROTECTIVE_SERVICES",
              "REAL_ESTATE",
              "RESTAURANT_AND_HOSPITALITY",
              "SALES_AND_RETAIL",
              "SCIENCE_AND_ENGINEERING",
              "SOCIAL_SERVICES_AND_NON_PROFIT",
              "SPORTS_FITNESS_AND_RECREATION",
              "TRANSPORTATION_AND_LOGISTICS"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "languageCodes": {
          "description": "Optional.\n\nThis filter specifies the locale of jobs to search against,\nfor example, \"en-US\".\n\nIf a value isn't specified, the search results can contain jobs in any\nlocale.\n\n\nLanguage codes should be in BCP-47 format, such as \"en-US\" or \"sr-Latn\".\nFor more information, see\n[Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).\n\nAt most 10 language code filters are allowed.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "locationFilters": {
          "description": "Optional.\n\nThe location filter specifies geo-regions containing the jobs to\nsearch against. See LocationFilter for more information.\n\nIf a location value isn't specified, jobs fitting the other search\ncriteria are retrieved regardless of where they're located.\n\nIf multiple values are specified, jobs are retrieved from any of the\nspecified locations. If different values are specified for the\nLocationFilter.distance_in_miles parameter, the maximum provided\ndistance is used for all locations.\n\nAt most 5 location filters are allowed.",
          "items": {
            "$ref": "LocationFilter"
          },
          "type": "array"
        },
        "publishTimeRange": {
          "$ref": "TimestampRange",
          "description": "Optional.\n\nJobs published within a range specified by this filter are searched\nagainst."
        },
        "query": {
          "description": "Optional.\n\nThe query string that matches against the job title, description, and\nlocation fields.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LatLng": {
      "description": "An object representing a latitude/longitude pair. This is expressed as a pair\nof doubles representing degrees latitude and degrees longitude. Unless\nspecified otherwise, this must conform to the\n\u003ca href=\"http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf\"\u003eWGS84\nstandard\u003c/a\u003e. Values must be within normalized ranges.",
      "id": "LatLng",
      "properties": {
        "latitude": {
          "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].",
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "ListCompaniesResponse": {
      "description": "Output only.\n\nThe List companies response object.",
      "id": "ListCompaniesResponse",
      "properties": {
        "companies": {
          "description": "Companies for the current client.",
          "items": {
            "$ref": "Company"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "ResponseMetadata",
          "description": "Additional information for the API invocation, such as the request\ntracking id."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ListJobsResponse": {
      "description": "Output only.\n\nList jobs response.",
      "id": "ListJobsResponse",
      "properties": {
        "jobs": {
          "description": "The Jobs for a given company.\n\nThe maximum number of items returned is based on the limit field\nprovided in the request.",
          "items": {
            "$ref": "Job"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "ResponseMetadata",
          "description": "Additional information for the API invocation, such as the request\ntracking id."
        },
        "nextPageToken": {
          "description": "A token to retrieve the next page of results.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Location": {
      "description": "Output only.\n\nA resource that represents a location with full geographic information.",
      "id": "Location",
      "properties": {
        "latLng": {
          "$ref": "LatLng",
          "description": "An object representing a latitude/longitude pair."
        },
        "locationType": {
          "description": "The type of a location, which corresponds to the address lines field of\nPostalAddress. For example, \"Downtown, Atlanta, GA, USA\" has a type of\nLocationType#NEIGHBORHOOD, and \"Kansas City, KS, USA\" has a type of\nLocationType#LOCALITY.",
          "enum": [
            "LOCATION_TYPE_UNSPECIFIED",
            "COUNTRY",
            "ADMINISTRATIVE_AREA",
            "SUB_ADMINISTRATIVE_AREA",
            "LOCALITY",
            "POSTAL_CODE",
            "SUB_LOCALITY",
            "SUB_LOCALITY_1",
            "SUB_LOCALITY_2",
            "NEIGHBORHOOD",
            "STREET_ADDRESS"
          ],
          "enumDescriptions": [
            "Default value if the type is not specified.",
            "A country level location.",
            "A state or equivalent level location.",
            "A county or equivalent level location.",
            "A city or equivalent level location.",
            "A postal code level location.",
            "A sublocality is a subdivision of a locality, for example a city borough,\nward, or arrondissement. Sublocalities are usually recognized by a local\npolitical authority. For example, Manhattan and Brooklyn are recognized\nas boroughs by the City of New York, and are therefore modeled as\nsublocalities.",
            "A district or equivalent level location.",
            "A smaller district or equivalent level display.",
            "A neighborhood level location.",
            "A street address level location."
          ],
          "type": "string"
        },
        "postalAddress": {
          "$ref": "PostalAddress",
          "description": "Postal address of the location that includes human readable information,\nsuch as postal delivery and payments addresses. Given a postal address,\na postal service can deliver items to a premises, P.O. Box, or other\ndelivery location."
        },
        "radiusInMiles": {
          "description": "Radius in miles of the job location. This value is derived from the\nlocation bounding box in which a circle with the specified radius\ncentered from LatLng covers the area associated with the job location.\nFor example, currently, \"Mountain View, CA, USA\" has a radius of\n6.17 miles.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "LocationFilter": {
      "description": "Input only.\n\nGeographic region of the search.",
      "id": "LocationFilter",
      "properties": {
        "address": {
          "description": "Optional.\n\nThe address name, such as \"Mountain View\" or \"Bay Area\".",
          "type": "string"
        },
        "distanceInMiles": {
          "description": "Optional.\n\n\nThe distance_in_miles is applied when the location being searched for is\nidentified as a city or smaller. When the location being searched for is a\nstate or larger, this field is ignored.",
          "format": "double",
          "type": "number"
        },
        "latLng": {
          "$ref": "LatLng",
          "description": "Optional.\n\nThe latitude and longitude of the geographic center from which to\nsearch. This field's ignored if `address` is provided."
        },
        "regionCode": {
          "description": "Optional.\n\nCLDR region code of the country/region of the address. This is used\nto address ambiguity of the user-input location, for example, \"Liverpool\"\nagainst \"Liverpool, NY, US\" or \"Liverpool, UK\".\n\nSet this field if all the jobs to search against are from a same region,\nor jobs are world-wide, but the job seeker is from a specific region.\n\nSee http://cldr.unicode.org/ and\nhttp://www.unicode.org/cldr/charts/30/supplemental/territory_information.html\nfor details. Example: \"CH\" for Switzerland.",
          "type": "string"
        },
        "telecommutePreference": {
          "description": "Optional.\n\nAllows the client to return jobs without a\nset location, specifically, telecommuting jobs (telecomuting is considered\nby the service as a special location.\nJob.posting_region indicates if a job permits telecommuting.\nIf this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED,\ntelecommuting jobs are searched, and address and lat_lng are\nignored. If not set or set to\nTelecommutePreference.TELECOMMUTE_EXCLUDED, telecommute job are not\nsearched.\n\nThis filter can be used by itself to search exclusively for telecommuting\njobs, or it can be combined with another location\nfilter to search for a combination of job locations,\nsuch as \"Mountain View\" or \"telecommuting\" jobs. However, when used in\ncombination with other location filters, telecommuting jobs can be\ntreated as less relevant than other jobs in the search response.",
          "enum": [
            "TELECOMMUTE_PREFERENCE_UNSPECIFIED",
            "TELECOMMUTE_EXCLUDED",
            "TELECOMMUTE_ALLOWED"
          ],
          "enumDescriptions": [
            "Default value if the telecommute preference is not specified.",
            "Exclude telecommute jobs.",
            "Allow telecommute jobs."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "MatchingJob": {
      "description": "Output only.\n\nJob entry with metadata inside SearchJobsResponse.",
      "id": "MatchingJob",
      "properties": {
        "commuteInfo": {
          "$ref": "CommuteInfo",
          "description": "Commute information which is generated based on specified\n CommuteFilter."
        },
        "job": {
          "$ref": "Job",
          "description": "Job resource that matches the specified SearchJobsRequest."
        },
        "jobSummary": {
          "description": "A summary of the job with core information that's displayed on the search\nresults listing page.",
          "type": "string"
        },
        "jobTitleSnippet": {
          "description": "Contains snippets of text from the Job.job_title field most\nclosely matching a search query's keywords, if available. The matching\nquery keywords are enclosed in HTML bold tags.",
          "type": "string"
        },
        "searchTextSnippet": {
          "description": "Contains snippets of text from the Job.description and similar\nfields that most closely match a search query's keywords, if available.\nAll HTML tags in the original fields are stripped when returned in this\nfield, and matching query keywords are enclosed in HTML bold tags.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Money": {
      "description": "Represents an amount of money with its currency type.",
      "id": "Money",
      "properties": {
        "currencyCode": {
          "description": "The 3-letter currency code defined in ISO 4217.",
          "type": "string"
        },
        "nanos": {
          "description": "Number of nano (10^-9) units of the amount.\nThe value must be between -999,999,999 and +999,999,999 inclusive.\nIf `units` is positive, `nanos` must be positive or zero.\nIf `units` is zero, `nanos` can be positive, zero, or negative.\nIf `units` is negative, `nanos` must be negative or zero.\nFor example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.",
          "format": "int32",
          "type": "integer"
        },
        "units": {
          "description": "The whole units of the amount.\nFor example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "NumericBucketingOption": {
      "description": "Input only.\n\nUse this field to specify bucketing option for the histogram search response.",
      "id": "NumericBucketingOption",
      "properties": {
        "bucketBounds": {
          "description": "Required.\n\nTwo adjacent values form a histogram bucket. Values should be in\nascending order. For example, if [5, 10, 15] are provided, four buckets are\ncreated: (-inf, 5), 5, 10), [10, 15), [15, inf). At most 20\n[buckets_bound is supported.",
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array"
        },
        "requiresMinMax": {
          "description": "Optional.\n\nIf set to true, the histogram result includes minimum/maximum\nvalue of the numeric field.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "NumericBucketingResult": {
      "description": "Output only.\n\nCustom numeric bucketing result.",
      "id": "NumericBucketingResult",
      "properties": {
        "counts": {
          "description": "Count within each bucket. Its size is the length of\nNumericBucketingOption.bucket_bounds plus 1.",
          "items": {
            "$ref": "BucketizedCount"
          },
          "type": "array"
        },
        "maxValue": {
          "description": "Stores the maximum value of the numeric field. Is populated only if\n[NumericBucketingOption.requires_min_max] is set to true.",
          "format": "double",
          "type": "number"
        },
        "minValue": {
          "description": "Stores the minimum value of the numeric field. Will be populated only if\n[NumericBucketingOption.requires_min_max] is set to true.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.",
      "id": "Operation",
      "properties": {
        "done": {
          "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.",
          "type": "boolean"
        },
        "error": {
          "$ref": "Status",
          "description": "The error result of the operation in case of failure or cancellation."
        },
        "metadata": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "Service-specific metadata associated with the operation.  It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata.  Any method that returns a\nlong-running operation should document the metadata type, if any.",
          "type": "object"
        },
        "name": {
          "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should have the format of `operations/some/unique/name`.",
          "type": "string"
        },
        "response": {
          "additionalProperties": {
            "description": "Properties of the object. Contains field @type with type URL.",
            "type": "any"
          },
          "description": "The normal response of the operation in case of success.  If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`.  If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource.  For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name.  For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "PostalAddress": {
      "description": "Represents a postal address, e.g. for postal delivery or payments addresses.\nGiven a postal address, a postal service can deliver items to a premise, P.O.\nBox or similar.\nIt is not intended to model geographical locations (roads, towns,\nmountains).\n\nIn typical usage an address would be created via user input or from importing\nexisting data, depending on the type of process.\n\nAdvice on address input / editing:\n - Use an i18n-ready address widget such as\n   https://github.com/googlei18n/libaddressinput)\n- Users should not be presented with UI elements for input or editing of\n  fields outside countries where that field is used.\n\nFor more guidance on how to use this schema, please see:\nhttps://support.google.com/business/answer/6397478",
      "id": "PostalAddress",
      "properties": {
        "addressLines": {
          "description": "Unstructured address lines describing the lower levels of an address.\n\nBecause values in address_lines do not have type information and may\nsometimes contain multiple values in a single field (e.g.\n\"Austin, TX\"), it is important that the line order is clear. The order of\naddress lines should be \"envelope order\" for the country/region of the\naddress. In places where this can vary (e.g. Japan), address_language is\nused to make it explicit (e.g. \"ja\" for large-to-small ordering and\n\"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of\nan address can be selected based on the language.\n\nThe minimum permitted structural representation of an address consists\nof a region_code with all remaining information placed in the\naddress_lines. It would be possible to format such an address very\napproximately without geocoding, but no semantic reasoning could be\nmade about any of the address components until it was at least\npartially resolved.\n\nCreating an address only containing a region_code and address_lines, and\nthen geocoding is the recommended way to handle completely unstructured\naddresses (as opposed to guessing which parts of the address should be\nlocalities or administrative areas).",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "administrativeArea": {
          "description": "Optional. Highest administrative subdivision which is used for postal\naddresses of a country or region.\nFor example, this can be a state, a province, an oblast, or a prefecture.\nSpecifically, for Spain this is the province and not the autonomous\ncommunity (e.g. \"Barcelona\" and not \"Catalonia\").\nMany countries don't use an administrative area in postal addresses. E.g.\nin Switzerland this should be left unpopulated.",
          "type": "string"
        },
        "languageCode": {
          "description": "Optional. BCP-47 language code of the contents of this address (if\nknown). This is often the UI language of the input form or is expected\nto match one of the languages used in the address' country/region, or their\ntransliterated equivalents.\nThis can affect formatting in certain countries, but is not critical\nto the correctness of the data and will never affect any validation or\nother non-formatting related operations.\n\nIf this value is not known, it should be omitted (rather than specifying a\npossibly incorrect default).\n\nExamples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".",
          "type": "string"
        },
        "locality": {
          "description": "Optional. Generally refers to the city/town portion of the address.\nExamples: US city, IT comune, UK post town.\nIn regions of the world where localities are not well defined or do not fit\ninto this structure well, leave locality empty and use address_lines.",
          "type": "string"
        },
        "organization": {
          "description": "Optional. The name of the organization at the address.",
          "type": "string"
        },
        "postalCode": {
          "description": "Optional. Postal code of the address. Not all countries use or require\npostal codes to be present, but where they are used, they may trigger\nadditional validation with other parts of the address (e.g. state/zip\nvalidation in the U.S.A.).",
          "type": "string"
        },
        "recipients": {
          "description": "Optional. The recipient at the address.\nThis field may, under certain circumstances, contain multiline information.\nFor example, it might contain \"care of\" information.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "regionCode": {
          "description": "Required. CLDR region code of the country/region of the address. This\nis never inferred and it is up to the user to ensure the value is\ncorrect. See http://cldr.unicode.org/ and\nhttp://www.unicode.org/cldr/charts/30/supplemental/territory_information.html\nfor details. Example: \"CH\" for Switzerland.",
          "type": "string"
        },
        "revision": {
          "description": "The schema revision of the `PostalAddress`. This must be set to 0, which is\nthe latest revision.\n\nAll new revisions **must** be backward compatible with old revisions.",
          "format": "int32",
          "type": "integer"
        },
        "sortingCode": {
          "description": "Optional. Additional, country-specific, sorting code. This is not used\nin most regions. Where it is used, the value is either a string like\n\"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number\nalone, representing the \"sector code\" (Jamaica), \"delivery area indicator\"\n(Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).",
          "type": "string"
        },
        "sublocality": {
          "description": "Optional. Sublocality of the address.\nFor example, this can be neighborhoods, boroughs, districts.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ProcessingOptions": {
      "description": "Input only.\n\nOptions for job processing.",
      "id": "ProcessingOptions",
      "properties": {
        "disableStreetAddressResolution": {
          "description": "Optional.\n\nIf set to `true`, the service does not attempt to resolve a\nmore precise address for the job.",
          "type": "boolean"
        },
        "htmlSanitization": {
          "description": "Optional.\n\nOption for job HTML content sanitization. Applied fields are:\n\n* description\n* applicationInfo.instruction\n* incentives\n* qualifications\n* responsibilities\n\nHTML tags in these fields may be stripped if sanitiazation is not\ndisabled.\n\nDefaults to HtmlSanitization.SIMPLE_FORMATTING_ONLY.",
          "enum": [
            "HTML_SANITIZATION_UNSPECIFIED",
            "HTML_SANITIZATION_DISABLED",
            "SIMPLE_FORMATTING_ONLY"
          ],
          "enumDescriptions": [
            "Default value.",
            "Disables sanitization on HTML input.",
            "Sanitizes HTML input, only accepts bold, italic, ordered list, and\nunordered list markup tags."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RequestMetadata": {
      "description": "Input only.\n\nMeta information related to the job searcher or entity\nconducting the job search. This information is used to improve the\nperformance of the service.",
      "id": "RequestMetadata",
      "properties": {
        "deviceInfo": {
          "$ref": "DeviceInfo",
          "description": "Optional.\n\nThe type of device used by the job seeker at the time of the call to the\nservice."
        },
        "domain": {
          "description": "Required.\n\nThe client-defined scope or source of the service call, which typically\nis the domain on\nwhich the service has been implemented and is currently being run.\n\nFor example, if the service is being run by client \u003cem\u003eFoo, Inc.\u003c/em\u003e, on\njob board www.foo.com and career site www.bar.com, then this field is\nset to \"foo.com\" for use on the job board, and \"bar.com\" for use on the\ncareer site.\n\nIf this field isn't available for some reason, send \"UNKNOWN\".\nAny improvements to the model for a particular tenant site rely on this\nfield being set correctly to a domain.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        },
        "sessionId": {
          "description": "Required.\n\nA unique session identification string. A session is defined as the\nduration of an end user's interaction with the service over a certain\nperiod.\nObfuscate this field for privacy concerns before\nproviding it to the service.\n\nIf this field is not available for some reason, send \"UNKNOWN\". Note\nthat any improvements to the model for a particular tenant\nsite, rely on this field being set correctly to some unique session_id.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        },
        "userId": {
          "description": "Required.\n\nA unique user identification string, as determined by the client.\nTo have the strongest positive impact on search quality\nmake sure the client-level is unique.\nObfuscate this field for privacy concerns before\nproviding it to the service.\n\nIf this field is not available for some reason, send \"UNKNOWN\". Note\nthat any improvements to the model for a particular tenant\nsite, rely on this field being set correctly to a unique user_id.\n\nThe maximum number of allowed characters is 255.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ResponseMetadata": {
      "description": "Output only.\n\nAdditional information returned to client, such as debugging information.",
      "id": "ResponseMetadata",
      "properties": {
        "requestId": {
          "description": "A unique id associated with this call.\nThis id is logged for tracking purposes.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SearchJobsRequest": {
      "description": "Input only.\n\nThe Request body of the `SearchJobs` call.",
      "id": "SearchJobsRequest",
      "properties": {
        "customRankingInfo": {
          "$ref": "CustomRankingInfo",
          "description": "Optional.\n\nControls over how job documents get ranked on top of existing relevance\nscore (determined by API algorithm)."
        },
        "disableKeywordMatch": {
          "description": "Optional.\n\nControls whether to disable exact keyword match on Job.job_title,\nJob.description, Job.company_display_name, Job.locations,\nJob.qualifications. When disable keyword match is turned off, a\nkeyword match returns jobs that do not match given category filters when\nthere are matching keywords. For example, the query \"program manager,\" a\nresult is returned even if the job posting has the title \"software\ndeveloper,\" which does not fall into \"program manager\" ontology, but does\nhave \"program manager\" appearing in its description.\n\nFor queries like \"cloud\" that does not contain title or\nlocation specific ontology, jobs with \"cloud\" keyword matches are returned\nregardless of this flag's value.\n\nPlease use Company.keyword_searchable_custom_fields or\nCompany.keyword_searchable_custom_attributes if company specific\nglobally matched custom field/attribute string values is needed. Enabling\nkeyword match improves recall of subsequent search requests.\n\nDefaults to false.",
          "type": "boolean"
        },
        "diversificationLevel": {
          "description": "Optional.\n\nControls whether highly similar jobs are returned next to each other in\nthe search results. Jobs are identified as highly similar based on\ntheir titles, job categories, and locations. Highly similar results are\nclustered so that only one representative job of the cluster is\ndisplayed to the job seeker higher up in the results, with the other jobs\nbeing displayed lower down in the results.\n\nDefaults to DiversificationLevel.SIMPLE if no value\nis specified.",
          "enum": [
            "DIVERSIFICATION_LEVEL_UNSPECIFIED",
            "DISABLED",
            "SIMPLE"
          ],
          "enumDescriptions": [
            "The diversification level isn't specified.",
            "Disables diversification. Jobs that would normally be pushed to the last\npage would not have their positions altered. This may result in highly\nsimilar jobs appearing in sequence in the search results.",
            "Default diversifying behavior. The result list is ordered so that\nhighly similar results are pushed to the end of the last page of search\nresults."
          ],
          "type": "string"
        },
        "enableBroadening": {
          "description": "Optional.\n\nControls whether to broaden the search when it produces sparse results.\nBroadened queries append results to the end of the matching results\nlist.\n\nDefaults to false.",
          "type": "boolean"
        },
        "histogramFacets": {
          "$ref": "HistogramFacets",
          "description": "Optional.\n\nHistogram requests for jobs matching JobQuery."
        },
        "histogramQueries": {
          "description": "Optional.\n\nExpression based histogram requests for jobs matching JobQuery.",
          "items": {
            "$ref": "HistogramQuery"
          },
          "type": "array"
        },
        "jobQuery": {
          "$ref": "JobQuery",
          "description": "Optional.\n\nQuery used to search against jobs, such as keyword, location filters, etc."
        },
        "jobView": {
          "description": "Optional.\n\nThe desired job attributes returned for jobs in the\nsearch response. Defaults to JobView.SMALL if no value is specified.",
          "enum": [
            "JOB_VIEW_UNSPECIFIED",
            "JOB_VIEW_ID_ONLY",
            "JOB_VIEW_MINIMAL",
            "JOB_VIEW_SMALL",
            "JOB_VIEW_FULL"
          ],
          "enumDescriptions": [
            "Default value.",
            "A ID only view of job, with following attributes:\nJob.name, Job.requisition_id, Job.language_code.",
            "A minimal view of the job, with the following attributes:\nJob.name, Job.requisition_id, Job.title,\nJob.company_name, Job.DerivedInfo.locations, Job.language_code.",
            "A small view of the job, with the following attributes in the search\nresults: Job.name, Job.requisition_id, Job.title,\nJob.company_name, Job.DerivedInfo.locations, Job.visibility,\nJob.language_code, Job.description.",
            "All available attributes are included in the search results."
          ],
          "type": "string"
        },
        "offset": {
          "description": "Optional.\n\nAn integer that specifies the current offset (that is, starting result\nlocation, amongst the jobs deemed by the API as relevant) in search\nresults. This field is only considered if page_token is unset.\n\nFor example, 0 means to  return results starting from the first matching\njob, and 10 means to return from the 11th job. This can be used for\npagination, (for example, pageSize = 10 and offset = 10 means to return\nfrom the second page).",
          "format": "int32",
          "type": "integer"
        },
        "orderBy": {
          "description": "Optional.\n\nThe criteria determining how search results are sorted. Default is\n\"relevance desc\".\n\nSupported options are:\n\n* \"relevance desc\": By relevance descending, as determined by the API\nalgorithms. Relevance thresholding of query results is only available\nwith this ordering.\n* \"posting`_`publish`_`time desc\": By Job.posting_publish_time\ndescending.\n* \"posting`_`update`_`time desc\": By Job.posting_update_time\ndescending.\n* \"title\": By Job.title ascending.\n* \"title desc\": By Job.title descending.\n* \"annualized`_`base`_`compensation\": By job's\nCompensationInfo.annualized_base_compensation_range ascending. Jobs\nwhose annualized base compensation is unspecified are put at the end of\nsearch results.\n* \"annualized`_`base`_`compensation desc\": By job's\nCompensationInfo.annualized_base_compensation_range descending. Jobs\nwhose annualized base compensation is unspecified are put at the end of\nsearch results.\n* \"annualized`_`total`_`compensation\": By job's\nCompensationInfo.annualized_total_compensation_range ascending. Jobs\nwhose annualized base compensation is unspecified are put at the end of\nsearch results.\n* \"annualized`_`total`_`compensation desc\": By job's\nCompensationInfo.annualized_total_compensation_range descending. Jobs\nwhose annualized base compensation is unspecified are put at the end of\nsearch results.\n* \"custom`_`ranking desc\": By the relevance score adjusted to the\nSearchJobsRequest.custom_ranking_info.ranking_expression with weight\nfactor assigned by\nSearchJobsRequest.custom_ranking_info.importance_level in descending\norder.\n* \"location`_`distance\": By the distance between the location on jobs and\n locations specified in the\nSearchJobsRequest.job_query.location_filters.\nWhen this order is selected, the\nSearchJobsRequest.job_query.location_filters must not be empty. When\na job has multiple locations, the location closest to one of the locations\nspecified in the location filter will be used to calculate location\ndistance. Distance is calculated by the distance between two lat/long\ncoordinates, with a precision of 10e-4 degrees (11.3 meters).\nJobs that don't have locations specified will be ranked below jobs having\nlocations.\nDiversification strategy is still applied unless explicitly disabled in\nSearchJobsRequest.diversification_level.",
          "type": "string"
        },
        "pageSize": {
          "description": "Optional.\n\nA limit on the number of jobs returned in the search results.\nIncreasing this value above the default value of 10 can increase search\nresponse time. The value can be between 1 and 100.",
          "format": "int32",
          "type": "integer"
        },
        "pageToken": {
          "description": "Optional.\n\nThe token specifying the current offset within\nsearch results. See SearchJobsResponse.next_page_token for\nan explanation of how to obtain the next set of query results.",
          "type": "string"
        },
        "requestMetadata": {
          "$ref": "RequestMetadata",
          "description": "Required.\n\nThe meta information collected about the job searcher, used to improve the\nsearch quality of the service.. The identifiers, (such as `user_id`) are\nprovided by users, and must be unique and consistent."
        },
        "requirePreciseResultSize": {
          "description": "Optional.\n\nControls if the search job request requires the return of a precise\ncount of the first 300 results. Setting this to `true` ensures\nconsistency in the number of results per page. Best practice is to set this\nvalue to true if a client allows users to jump directly to a\nnon-sequential search results page.\n\nEnabling this flag may adversely impact performance.\n\nDefaults to false.",
          "type": "boolean"
        },
        "searchMode": {
          "description": "Optional.\n\nMode of a search.\n\nDefaults to SearchMode.JOB_SEARCH.",
          "enum": [
            "SEARCH_MODE_UNSPECIFIED",
            "JOB_SEARCH",
            "FEATURED_JOB_SEARCH"
          ],
          "enumDescriptions": [
            "The mode of the search method isn't specified.",
            "The job search matches against all jobs, and featured jobs\n(jobs with promotionValue \u003e 0) are not specially handled.",
            "The job search matches only against featured jobs (jobs with a\npromotionValue \u003e 0). This method doesn't return any jobs having a\npromotionValue \u003c= 0. The search results order is determined by the\npromotionValue (jobs with a higher promotionValue are returned higher up\nin the search results), with relevance being used as a tiebreaker."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SearchJobsResponse": {
      "description": "Output only.\n\nResponse for SearchJob method.",
      "id": "SearchJobsResponse",
      "properties": {
        "broadenedQueryJobsCount": {
          "description": "If query broadening is enabled, we may append additional results from the\nbroadened query. This number indicates how many of the jobs returned in the\njobs field are from the broadened query. These results are always at the\nend of the jobs list. In particular, a value of 0, or if the field isn't\nset, all the jobs in the jobs list are from the original\n(without broadening) query. If this field is non-zero, subsequent requests\nwith offset after this result set should contain all broadened results.",
          "format": "int32",
          "type": "integer"
        },
        "estimatedTotalSize": {
          "description": "An estimation of the number of jobs that match the specified query.\n\nThis number is not guaranteed to be accurate. For accurate results,\nsee enable_precise_result_size.",
          "format": "int32",
          "type": "integer"
        },
        "histogramQueryResults": {
          "description": "The histogram results that match with specified\nSearchJobsRequest.histogram_queries.",
          "items": {
            "$ref": "HistogramQueryResult"
          },
          "type": "array"
        },
        "histogramResults": {
          "$ref": "HistogramResults",
          "description": "The histogram results that match specified\nSearchJobsRequest.histogram_facets."
        },
        "locationFilters": {
          "description": "The location filters that the service applied to the specified query. If\nany filters are lat-lng based, the JobLocation.location_type is\nJobLocation.LocationType#LOCATION_TYPE_UNSPECIFIED.",
          "items": {
            "$ref": "Location"
          },
          "type": "array"
        },
        "matchingJobs": {
          "description": "The Job entities that match the specified SearchJobsRequest.",
          "items": {
            "$ref": "MatchingJob"
          },
          "type": "array"
        },
        "metadata": {
          "$ref": "ResponseMetadata",
          "description": "Additional information for the API invocation, such as the request\ntracking id."
        },
        "nextPageToken": {
          "description": "The token that specifies the starting position of the next page of results.\nThis field is empty if there are no more results.",
          "type": "string"
        },
        "spellCorrection": {
          "$ref": "SpellingCorrection",
          "description": "The spell checking result, and correction."
        },
        "totalSize": {
          "description": "The precise result count, which is available only if the client set\nenable_precise_result_size to `true`, or if the response\nis the last page of results. Otherwise, the value is `-1`.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "SpellingCorrection": {
      "description": "Output only.\n\nSpell check result.",
      "id": "SpellingCorrection",
      "properties": {
        "corrected": {
          "description": "Indicates if the query was corrected by the spell checker.",
          "type": "boolean"
        },
        "correctedText": {
          "description": "Correction output consisting of the corrected keyword string.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Status": {
      "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). The error model is designed to be:\n\n- Simple to use and understand for most users\n- Flexible enough to meet unexpected needs\n\n# Overview\n\nThe `Status` message contains three pieces of data: error code, error\nmessage, and error details. The error code should be an enum value of\ngoogle.rpc.Code, but it may accept additional error codes if needed.  The\nerror message should be a developer-facing English message that helps\ndevelopers *understand* and *resolve* the error. If a localized user-facing\nerror message is needed, put the localized message in the error details or\nlocalize it in the client. The optional error details may contain arbitrary\ninformation about the error. There is a predefined set of error detail types\nin the package `google.rpc` that can be used for common error conditions.\n\n# Language mapping\n\nThe `Status` message is the logical representation of the error model, but it\nis not necessarily the actual wire format. When the `Status` message is\nexposed in different client libraries and different wire protocols, it can be\nmapped differently. For example, it will likely be mapped to some exceptions\nin Java, but more likely mapped to some error codes in C.\n\n# Other uses\n\nThe error model and the `Status` message can be used in a variety of\nenvironments, either with or without APIs, to provide a\nconsistent developer experience across different environments.\n\nExample uses of this error model include:\n\n- Partial errors. If a service needs to return partial errors to the client,\n    it may embed the `Status` in the normal response to indicate the partial\n    errors.\n\n- Workflow errors. A typical workflow has multiple steps. Each step may\n    have a `Status` message for error reporting.\n\n- Batch operations. If a client uses batch request and batch response, the\n    `Status` message should be used directly inside batch response, one for\n    each error sub-response.\n\n- Asynchronous operations. If an API call embeds asynchronous operation\n    results in its response, the status of those operations should be\n    represented directly using the `Status` message.\n\n- Logging. If some API errors are stored in logs, the message `Status` could\n    be used directly after any stripping needed for security/privacy reasons.",
      "id": "Status",
      "properties": {
        "code": {
          "description": "The status code, which should be an enum value of google.rpc.Code.",
          "format": "int32",
          "type": "integer"
        },
        "details": {
          "description": "A list of messages that carry the error details.  There is a common set of\nmessage types for APIs to use.",
          "items": {
            "additionalProperties": {
              "description": "Properties of the object. Contains field @type with type URL.",
              "type": "any"
            },
            "type": "object"
          },
          "type": "array"
        },
        "message": {
          "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TimeOfDay": {
      "description": "Represents a time of day. The date and time zone are either not significant\nor are specified elsewhere. An API may choose to allow leap seconds. Related\ntypes are google.type.Date and `google.protobuf.Timestamp`.",
      "id": "TimeOfDay",
      "properties": {
        "hours": {
          "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose\nto allow the value \"24:00:00\" for scenarios like business closing time.",
          "format": "int32",
          "type": "integer"
        },
        "minutes": {
          "description": "Minutes of hour of day. Must be from 0 to 59.",
          "format": "int32",
          "type": "integer"
        },
        "nanos": {
          "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.",
          "format": "int32",
          "type": "integer"
        },
        "seconds": {
          "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may\nallow the value 60 if it allows leap-seconds.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "TimestampRange": {
      "description": "Message representing a period of time between two timestamps.",
      "id": "TimestampRange",
      "properties": {
        "endTime": {
          "description": "End of the period.",
          "format": "google-datetime",
          "type": "string"
        },
        "startTime": {
          "description": "Begin of the period.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateCompanyRequest": {
      "description": "Input only.\n\nRequest for updating a specified company.",
      "id": "UpdateCompanyRequest",
      "properties": {
        "company": {
          "$ref": "Company",
          "description": "Required.\n\nThe company resource to replace the current resource in the system."
        },
        "updateMask": {
          "description": "Optional but strongly recommended for the best service\nexperience.\n\nIf update_mask is provided, only the specified fields in\ncompany are updated. Otherwise all the fields are updated.\n\nA field mask to specify the company fields to be updated. Only\ntop level fields of Company are supported.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpdateJobRequest": {
      "description": "Input only.\n\nUpdate job request.",
      "id": "UpdateJobRequest",
      "properties": {
        "job": {
          "$ref": "Job",
          "description": "Required.\n\nThe Job to be updated."
        },
        "updateMask": {
          "description": "Optional but strongly recommended to be provided for the best service\nexperience.\n\nIf update_mask is provided, only the specified fields in\njob are updated. Otherwise all the fields are updated.\n\nA field mask to restrict the fields that are updated. Only\ntop level fields of Job are supported.",
          "format": "google-fieldmask",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Cloud Talent Solution API",
  "version": "v3p1beta1",
  "version_module": true
}