Google BigQuery Routines API

Operations for managing routines (functions and procedures)

OpenAPI Specification

google-bigquery-routines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google BigQuery Datasets Routines 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: Routines
  description: Operations for managing routines (functions and procedures)
paths:
  /projects/{projectId}/datasets/{datasetId}/routines:
    get:
      operationId: listRoutines
      summary: Google BigQuery List routines
      description: Lists all routines in the specified dataset.
      tags:
      - Routines
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RoutineList'
        '401':
          description: Unauthorized
    post:
      operationId: insertRoutine
      summary: Google BigQuery Create a routine
      description: Creates a new routine in the specified dataset.
      tags:
      - Routines
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Routine'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Routine'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
  /projects/{projectId}/datasets/{datasetId}/routines/{routineId}:
    get:
      operationId: getRoutine
      summary: Google BigQuery Get routine
      description: Gets the specified routine resource by routine ID.
      tags:
      - Routines
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - name: routineId
        in: path
        required: true
        description: The ID of the routine
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Routine'
        '401':
          description: Unauthorized
        '404':
          description: Routine not found
    put:
      operationId: updateRoutine
      summary: Google BigQuery Update routine
      description: Updates information in an existing routine by replacing the entire routine resource.
      tags:
      - Routines
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - name: routineId
        in: path
        required: true
        description: The ID of the routine
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Routine'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Routine'
        '401':
          description: Unauthorized
        '404':
          description: Routine not found
    delete:
      operationId: deleteRoutine
      summary: Google BigQuery Delete routine
      description: Deletes the routine specified by routineId from the dataset.
      tags:
      - Routines
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - name: routineId
        in: path
        required: true
        description: The ID of the routine
        schema:
          type: string
      responses:
        '204':
          description: Successfully deleted
        '401':
          description: Unauthorized
        '404':
          description: Routine not found
components:
  parameters:
    datasetId:
      name: datasetId
      in: path
      required: true
      description: The ID of the dataset
      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
  schemas:
    Routine:
      type: object
      properties:
        routineReference:
          type: object
          properties:
            projectId:
              type: string
              description: The ID of the project
            datasetId:
              type: string
              description: The ID of the dataset
            routineId:
              type: string
              description: The ID of the routine
        routineType:
          type: string
          description: The type of the routine
          enum:
          - SCALAR_FUNCTION
          - PROCEDURE
          - TABLE_VALUED_FUNCTION
        language:
          type: string
          description: The language of the routine
        definitionBody:
          type: string
          description: The body of the routine
        description:
          type: string
          description: A user-friendly description of the routine
        creationTime:
          type: string
          description: The time when this routine was created
    RoutineList:
      type: object
      properties:
        routines:
          type: array
          items:
            $ref: '#/components/schemas/Routine'
          description: Routines in the requested dataset
        nextPageToken:
          type: string
          description: A token to request the next page of results
  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