Method: projects.locations.catalogs.catalogItems.import

Bulk import of multiple catalog items. Request processing may be synchronous. No partial updating supported. Non-existing items will be created.

Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully updated.

HTTP request


The URL uses gRPC Transcoding syntax.

Path parameters



Required. projects/1234/locations/global/catalogs/default_catalog

If no updateMask is specified, requires catalogItems.create permission. If updateMask is specified, requires catalogItems.update permission.

Authorization requires one or more of the following IAM permissions on the specified resource parent:

  • automlrecommendations.catalogItems.create
  • automlrecommendations.catalogItems.update

Request body

The request body contains data with the following structure:

JSON representation
  "requestId": string,
  "inputConfig": {
    object (InputConfig)
  "errorsConfig": {
    object (ImportErrorsConfig)
  "updateMask": string


Optional. Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency and used for request deduplication. Server-generated if unspecified. Up to 128 characters long. This is returned as in the response.


object (InputConfig)

Required. The desired input location of the data.


object (ImportErrorsConfig)

Optional. The desired location of errors incurred during the Import.


string (FieldMask format)

Optional. Indicates which fields in the provided imported 'items' to update. If not set, will by default update all fields.

This is a comma-separated list of fully qualified names of fields. Example: "user.displayName,photo".

Response body

If successful, the response body contains an instance of Operation.

Authorization Scopes

Requires the following OAuth scope:


For more information, see the Authentication Overview.