Method: tabledata.insertAll

Stay organized with collections Save and categorize content based on your preferences.

Streams data into BigQuery one record at a time without needing to run a load job.

HTTP request

POST https://bigquery.googleapis.com/bigquery/v2/projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
projectId

string

datasetId

string

tableId

string

Request body

The request body contains data with the following structure:

JSON representation
{
  "kind": string,
  "skipInvalidRows": boolean,
  "ignoreUnknownValues": boolean,
  "templateSuffix": string,
  "rows": [
    {
      "insertId": string,
      "json": {
        object
      }
    }
  ],
  "traceId": string
}
Fields
kind

string

Optional. The resource type of the response. The value is not checked at the backend. Historically, it has been set to "bigquery#tableDataInsertAllRequest" but you are not required to set it.

skipInvalidRows

boolean

Optional. Insert all valid rows of a request, even if invalid rows exist. The default value is false, which causes the entire request to fail if any invalid rows exist.

ignoreUnknownValues

boolean

Optional. Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false, which treats unknown values as errors.

templateSuffix

string

Optional. If specified, treats the destination table as a base template, and inserts the rows into an instance table named "{destination}{templateSuffix}". BigQuery will manage creation of the instance table, using the schema of the base template table.

See https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables for considerations when working with templates tables.

rows[]

object

rows[].insertId

string

rows[].json

object (Struct format)

traceId

string

Optional. Unique request trace id. Used for debugging purposes only. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended.

Response body

If successful, the response body contains data with the following structure:

JSON representation
{
  "kind": string,
  "insertErrors": [
    {
      "index": integer,
      "errors": [
        {
          object (ErrorProto)
        }
      ]
    }
  ]
}
Fields
kind

string

Returns "bigquery#tableDataInsertAllResponse".

insertErrors[]

object

insertErrors[].index

integer (uint32 format)

insertErrors[].errors[]

object (ErrorProto)

Authorization Scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigquery
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/bigquery.insertdata

For more information, see the Authentication Overview.