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 externalDocs: description: Google Assistant SDK Documentation url: https://developers.google.com/assistant/sdk/overview 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: 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 DeviceModelListResponse: type: object properties: deviceModels: type: array items: $ref: '#/components/schemas/DeviceModel' 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. DeviceInstanceListResponse: type: object properties: devices: type: array items: $ref: '#/components/schemas/DeviceInstance' AssistRequest: type: object description: A request to the Assistant conversational API. properties: config: type: object properties: textInput: type: object properties: text: type: string description: Text query to send to the Assistant. audioInConfig: type: object properties: encoding: type: string enum: - LINEAR16 - FLAC sampleRateHertz: type: integer deviceConfig: type: object properties: deviceId: type: string deviceModelId: type: string AssistResponse: type: object description: Response from the Assistant. properties: dialogStateOut: type: object properties: supplementalDisplayText: type: string description: Text response from the Assistant. conversationState: type: string description: Opaque state for continuing the conversation. microphoneMode: type: string enum: - CLOSE_MICROPHONE - DIALOG_FOLLOW_ON screenOut: type: object properties: format: type: string data: type: string description: HTML content for screen display.