Google Assistant Assistant API

Interact with Google Assistant

OpenAPI Specification

google-assistant-assistant-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Google Assistant API
  description: The Google Assistant API enables developers to embed the Google Assistant into devices and applications. It provides a conversational interface through gRPC and REST endpoints, allowing applications to send text or audio queries to the Assistant and receive responses. The Actions API allows developers to build conversational Actions that extend the Assistant's capabilities with custom intents, scenes, and fulfillment logic.
  version: 2.0.0
  contact:
    name: Google Assistant
    url: https://developers.google.com/assistant
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
servers:
- url: https://embeddedassistant.googleapis.com
  description: Google Assistant Embedded API Server
tags:
- name: Assistant
  description: Interact with Google Assistant
paths:
  /v1alpha2/projects/{projectId}/deviceModels:
    get:
      operationId: listDeviceModels
      summary: Google Assistant List Device Models
      description: Lists all device models registered for the project.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        description: The Google Cloud project ID.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with device models.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceModelListResponse'
    post:
      operationId: createDeviceModel
      summary: Google Assistant Create Device Model
      description: Registers a new device model.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceModel'
      responses:
        '200':
          description: Device model created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceModel'
  /v1alpha2/projects/{projectId}/deviceModels/{deviceModelId}:
    get:
      operationId: getDeviceModel
      summary: Google Assistant Get Device Model
      description: Retrieves a specific device model.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: deviceModelId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response with device model details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceModel'
    delete:
      operationId: deleteDeviceModel
      summary: Google Assistant Delete Device Model
      description: Deletes a device model.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      - name: deviceModelId
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Device model successfully deleted.
  /v1alpha2/projects/{projectId}/devices:
    get:
      operationId: listDeviceInstances
      summary: Google Assistant List Device Instances
      description: Lists all device instances registered for the project.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response with device instances.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceInstanceListResponse'
    post:
      operationId: createDeviceInstance
      summary: Google Assistant Create Device Instance
      description: Registers a new device instance.
      tags:
      - Assistant
      parameters:
      - name: projectId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceInstance'
      responses:
        '200':
          description: Device instance created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceInstance'
components:
  schemas:
    DeviceInstanceListResponse:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/DeviceInstance'
    DeviceModel:
      type: object
      properties:
        deviceModelId:
          type: string
          description: Unique identifier for the device model.
        projectId:
          type: string
          description: The Google Cloud project ID.
        name:
          type: string
          description: Display name of the device model.
        deviceType:
          type: string
          description: The type of device.
          enum:
          - LIGHT
          - SWITCH
          - OUTLET
          - SPEAKER
          - TV
          - AUTO
        traits:
          type: array
          items:
            type: string
          description: List of supported device traits.
        manifest:
          type: object
          properties:
            manufacturer:
              type: string
            productName:
              type: string
            deviceDescription:
              type: string
    DeviceInstance:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the device instance.
        deviceModelId:
          type: string
          description: The device model this instance belongs to.
        nickname:
          type: string
          description: Nickname for the device.
        clientType:
          type: string
          description: The client type of the device.
    DeviceModelListResponse:
      type: object
      properties:
        deviceModels:
          type: array
          items:
            $ref: '#/components/schemas/DeviceModel'
externalDocs:
  description: Google Assistant SDK Documentation
  url: https://developers.google.com/assistant/sdk/overview