Google BigQuery Tabledata API

Operations for reading and inserting table rows

OpenAPI Specification

google-bigquery-tabledata-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google BigQuery Datasets Tabledata API
  description: The BigQuery API provides programmatic access to Google BigQuery for creating, managing, and querying datasets, tables, jobs, models, and routines. It enables developers to run SQL queries over petabytes of data, load and export data, manage access control, and orchestrate analytics workloads using serverless infrastructure.
  version: '2'
  contact:
    name: Google Cloud Support
    url: https://cloud.google.com/bigquery/docs/support
  termsOfService: https://cloud.google.com/terms
servers:
- url: https://bigquery.googleapis.com/bigquery/v2
  description: Production Server
security:
- oauth2: []
tags:
- name: Tabledata
  description: Operations for reading and inserting table rows
paths:
  /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data:
    get:
      operationId: listTabledata
      summary: Google BigQuery List table rows
      description: Lists the rows of a table, returning rows in the response body.
      tags:
      - Tabledata
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - $ref: '#/components/parameters/tableId'
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      - name: startIndex
        in: query
        description: Zero-based index of the starting row to read
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableDataList'
        '401':
          description: Unauthorized
        '404':
          description: Table not found
  /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll:
    post:
      operationId: insertAllTabledata
      summary: Google BigQuery Insert rows
      description: Streams data into BigQuery one record at a time without needing to run a load job.
      tags:
      - Tabledata
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - $ref: '#/components/parameters/tableId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableDataInsertAllRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableDataInsertAllResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
components:
  schemas:
    TableDataInsertAllRequest:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        skipInvalidRows:
          type: boolean
          description: Whether to insert rows that contain values that do not match the schema
        ignoreUnknownValues:
          type: boolean
          description: Whether to accept rows with fields not matching the schema
        rows:
          type: array
          items:
            type: object
            properties:
              insertId:
                type: string
                description: A unique ID for deduplication
              json:
                type: object
                description: A JSON object with a row of data
          description: The rows to insert
    ErrorProto:
      type: object
      properties:
        reason:
          type: string
          description: A short error code that summarizes the error
        location:
          type: string
          description: Specifies where the error occurred
        message:
          type: string
          description: A human-readable description of the error
    TableDataInsertAllResponse:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        insertErrors:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
                description: The index of the row with the error
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorProto'
          description: Insert errors for individual rows
    TableDataList:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        rows:
          type: array
          items:
            type: object
          description: Rows of results
        pageToken:
          type: string
          description: A token to request the next page of results
        totalRows:
          type: string
          description: The total number of rows in the table
  parameters:
    datasetId:
      name: datasetId
      in: path
      required: true
      description: The ID of the dataset
      schema:
        type: string
    tableId:
      name: tableId
      in: path
      required: true
      description: The ID of the table
      schema:
        type: string
    pageToken:
      name: pageToken
      in: query
      description: Page token for pagination
      schema:
        type: string
    projectId:
      name: projectId
      in: path
      required: true
      description: The ID of the project
      schema:
        type: string
    maxResults:
      name: maxResults
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        format: int32
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/bigquery: Full access to BigQuery
            https://www.googleapis.com/auth/bigquery.readonly: Read-only access to BigQuery
externalDocs:
  description: BigQuery API Documentation
  url: https://cloud.google.com/bigquery/docs/reference/rest