Creates a new company entity.


You will need authorization for at least one of the following scopes to make a valid call:


If unset, the scope for this method defaults to You can set the scope for this method like this: jobs4 --scope <scope> projects tenants-companies-create ...

Required Scalar Argument

  • <parent> (string)
    • Required. Resource name of the tenant under which the company is created. The format is "projects/{project_id}/tenants/{tenant_id}", for example, "projects/foo/tenants/bar".

Required Request Value

The request value is a data-structure with various fields. Each field may be a simple scalar or another data-structure. In the latter case it is advised to set the field-cursor to the data-structure's field to specify values more concisely.

For example, a structure like this:

  career-site-uri: string
        latitude: number
        longitude: number
      location-type: string
        address-lines: [string]
        administrative-area: string
        language-code: string
        locality: string
        organization: string
        postal-code: string
        recipients: [string]
        region-code: string
        revision: integer
        sorting-code: string
        sublocality: string
      radius-miles: number
  display-name: string
  eeo-text: string
  external-id: string
  headquarters-address: string
  hiring-agency: boolean
  image-uri: string
  keyword-searchable-job-custom-attributes: [string]
  name: string
  size: string
  suspended: boolean
  website-uri: string

can be set completely with the following arguments which are assumed to be executed in the given order. Note how the cursor position is adjusted to the respective structures, allowing simple field names to be used most of the time.

  • -r . career-site-uri=sanctus
    • The URI to employer's career site or careers page on the employer's web site, for example, "".
  • latitude=0.16568728368878083
    • The latitude in degrees. It must be in the range [-90.0, +90.0].
  • longitude=0.8243737469076314

    • The longitude in degrees. It must be in the range [-180.0, +180.0].
  • .. location-type=amet.

    • The type of a location, which corresponds to the address lines field of google.type.PostalAddress. For example, "Downtown, Atlanta, GA, USA" has a type of LocationType.NEIGHBORHOOD, and "Kansas City, KS, USA" has a type of LocationType.LOCALITY.
  • postal-address address-lines=duo
    • Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).
    • Each invocation of this argument appends the given value to the array.
  • administrative-area=ipsum
    • Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.
  • language-code=gubergren
    • Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: "zh-Hant", "ja", "ja-Latn", "en".
  • locality=lorem
    • Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.
  • organization=gubergren
    • Optional. The name of the organization at the address.
  • postal-code=eos
    • Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).
  • recipients=dolor
    • Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain "care of" information.
    • Each invocation of this argument appends the given value to the array.
  • region-code=ea
    • Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See and for details. Example: "CH" for Switzerland.
  • revision=46
    • The schema revision of the PostalAddress. This must be set to 0, which is the latest revision. All new revisions must be backward compatible with old revisions.
  • sorting-code=invidunt
    • Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
  • sublocality=amet

    • Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.
  • .. radius-miles=0.8204376297831348

    • Radius in miles of the job location. This value is derived from the location bounding box in which a circle with the specified radius centered from google.type.LatLng covers the area associated with the job location. For example, currently, "Mountain View, CA, USA" has a radius of 6.17 miles.
  • ... display-name=ipsum

    • Required. The display name of the company, for example, "Google LLC".
  • eeo-text=sed
    • Equal Employment Opportunity legal disclaimer text to be associated with all jobs, and typically to be displayed in all roles. The maximum number of allowed characters is 500.
  • external-id=ut
    • Required. Client side company identifier, used to uniquely identify the company. The maximum number of allowed characters is 255.
  • headquarters-address=gubergren
    • The street address of the company's main headquarters, which may be different from the job location. The service attempts to geolocate the provided address, and populates a more specific location wherever possible in DerivedInfo.headquarters_location.
  • hiring-agency=true
    • Set to true if it is the hiring agency that post jobs for other employers. Defaults to false if not provided.
  • image-uri=ipsum
    • A URI that hosts the employer's company logo.
  • keyword-searchable-job-custom-attributes=ipsum
    • This field is deprecated. Please set the searchability of the custom attribute in the Job.custom_attributes going forward. A list of keys of filterable Job.custom_attributes, whose corresponding string_values are used in keyword searches. Jobs with string_values under these specified field keys are returned if any of the values match the search keyword. Custom field values with parenthesis, brackets and special symbols are not searchable as-is, and those keyword queries must be surrounded by quotes.
    • Each invocation of this argument appends the given value to the array.
  • name=est
    • Required during company update. The resource name for a company. This is generated by the service when a company is created. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}", for example, "projects/foo/tenants/bar/companies/baz".
  • size=gubergren
    • The employer's company size.
  • suspended=false
    • Output only. Indicates whether a company is flagged to be suspended from public availability by the service when job content appears suspicious, abusive, or spammy.
  • website-uri=lorem
    • The URI representing the company's primary web site or home page, for example, "". The maximum number of allowed characters is 255.

About Cursors

The cursor position is key to comfortably set complex nested structures. The following rules apply:

  • The cursor position is always set relative to the current one, unless the field name starts with the . character. Fields can be nested such as in -r f.s.o .
  • The cursor position is set relative to the top-level structure if it starts with ., e.g. -r .s.s
  • You can also set nested fields without setting the cursor explicitly. For example, to set a value relative to the current cursor position, you would specify -r struct.sub_struct=bar.
  • You can move the cursor one level up by using ... Each additional . moves it up one additional level. E.g. ... would go three levels up.

Optional Output Flags

The method's return value a JSON encoded structure, which will be written to standard output by default.

  • -o out
    • out specifies the destination to which to write the server's result to. It will be a JSON-encoded structure. The destination may be - to indicate standard output, or a filepath that is to contain the received bytes. If unset, it defaults to standard output.

Optional General Properties

The following properties can configure any call, and are not specific to this method.

  • -p $-xgafv=string

    • V1 error format.
  • -p access-token=string

    • OAuth access token.
  • -p alt=string

    • Data format for response.
  • -p callback=string

    • JSONP
  • -p fields=string

    • Selector specifying which fields to include in a partial response.
  • -p key=string

    • 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.
  • -p oauth-token=string

    • OAuth 2.0 token for the current user.
  • -p pretty-print=boolean

    • Returns response with indentations and line breaks.
  • -p quota-user=string

    • 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.
  • -p upload-type=string

    • Legacy upload protocol for media (e.g. "media", "multipart").
  • -p upload-protocol=string

    • Upload protocol for media (e.g. "raw", "multipart").