{
  "rootUrl": "https://meet.googleapis.com/",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/meetings.space.readonly": {
          "description": "Read information about any of your Google Meet conferences"
        },
        "https://www.googleapis.com/auth/meetings.space.created": {
          "description": "Create, edit, and see information about your Google Meet conferences created by the app."
        },
        "https://www.googleapis.com/auth/meetings.space.settings": {
          "description": "Edit, and see settings for all of your Google Meet calls."
        }
      }
    }
  },
  "basePath": "",
  "resources": {
    "spaces": {
      "resources": {
        "members": {
          "methods": {
            "batchUpdate": {
              "flatPath": "v2/spaces/{spacesId}/members:batchUpdate",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created"
              ],
              "response": {
                "$ref": "BatchUpdateMembersResponse"
              },
              "request": {
                "$ref": "BatchUpdateMembersRequest"
              },
              "httpMethod": "POST",
              "parameters": {
                "parent": {
                  "location": "path",
                  "description": "Required. The parent resource shared by all Members being updated. Format: spaces/{space}",
                  "type": "string",
                  "required": true,
                  "pattern": "^spaces/[^/]+$"
                }
              },
              "path": "v2/{+parent}/members:batchUpdate",
              "id": "meet.spaces.members.batchUpdate",
              "parameterOrder": [
                "parent"
              ],
              "description": "Updates members of one space within a batch. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members)."
            },
            "patch": {
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created"
              ],
              "path": "v2/{+name}",
              "description": "Updates a member. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members).",
              "response": {
                "$ref": "Member"
              },
              "parameterOrder": [
                "name"
              ],
              "id": "meet.spaces.members.patch",
              "parameters": {
                "name": {
                  "location": "path",
                  "type": "string",
                  "pattern": "^spaces/[^/]+/members/[^/]+$",
                  "description": "Identifier. Resource name of the member. Format: spaces/{space}/members/{member}",
                  "required": true
                },
                "updateMask": {
                  "format": "google-fieldmask",
                  "description": "Optional. Field mask used to specify the fields to be updated in the member. If update_mask isn't provided(not set, set with empty paths, or only has \"\" as paths), it defaults to update all fields provided with values in the request. Using \"*\" as update_mask will update all fields, including deleting fields not set in the request. In case of BatchUpdate, it must be absent or the same as the update_mask in BatchUpdateMembersRequest when UpdateMemberRequest is built as a child request of BatchUpdateMembersRequest.",
                  "location": "query",
                  "type": "string"
                }
              },
              "httpMethod": "PATCH",
              "request": {
                "$ref": "Member"
              },
              "flatPath": "v2/spaces/{spacesId}/members/{membersId}"
            },
            "create": {
              "flatPath": "v2/spaces/{spacesId}/members",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "Member"
              },
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created"
              ],
              "path": "v2/{+parent}/members",
              "id": "meet.spaces.members.create",
              "httpMethod": "POST",
              "request": {
                "$ref": "Member"
              },
              "description": "Creates a member. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members). This API supports the `fields` parameter in [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters). When the `fields` parameter is omitted, this API response will default to \"name,email,role,user\".",
              "parameters": {
                "parent": {
                  "type": "string",
                  "description": "Required. Format: spaces/{space}",
                  "pattern": "^spaces/[^/]+$",
                  "location": "path",
                  "required": true
                }
              }
            },
            "delete": {
              "description": "Deletes the member who was previously assigned roles in the space. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members).",
              "parameters": {
                "name": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "description": "Required. Format: “spaces/{space}/members/{member}”",
                  "pattern": "^spaces/[^/]+/members/[^/]+$"
                }
              },
              "httpMethod": "DELETE",
              "response": {
                "$ref": "Empty"
              },
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created"
              ],
              "parameterOrder": [
                "name"
              ],
              "id": "meet.spaces.members.delete",
              "flatPath": "v2/spaces/{spacesId}/members/{membersId}",
              "path": "v2/{+name}"
            },
            "get": {
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "parameters": {
                "name": {
                  "type": "string",
                  "location": "path",
                  "pattern": "^spaces/[^/]+/members/[^/]+$",
                  "required": true,
                  "description": "Required. Format: “spaces/{space}/members/{member}”"
                }
              },
              "httpMethod": "GET",
              "description": "Gets a member. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members). This API supports the `fields` parameter in [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters). When the `fields` parameter is omitted, this API response will default to \"name,email,role,user\".",
              "parameterOrder": [
                "name"
              ],
              "flatPath": "v2/spaces/{spacesId}/members/{membersId}",
              "path": "v2/{+name}",
              "response": {
                "$ref": "Member"
              },
              "id": "meet.spaces.members.get"
            },
            "list": {
              "description": "Lists members. For more information, see [Manage meeting space members](https://developers.google.com/workspace/meet/api/guides/meeting-space-members). This API supports the `fields` parameter in [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters). When the `fields` parameter is omitted this API response will default to \"name,email,role,user\".",
              "path": "v2/{+parent}/members",
              "response": {
                "$ref": "ListMembersResponse"
              },
              "parameters": {
                "pageToken": {
                  "description": "Optional. Page token returned from previous List Call.",
                  "location": "query",
                  "type": "string"
                },
                "parent": {
                  "type": "string",
                  "required": true,
                  "pattern": "^spaces/[^/]+$",
                  "description": "Required. Format: spaces/{space}",
                  "location": "path"
                },
                "pageSize": {
                  "location": "query",
                  "format": "int32",
                  "description": "Optional. Maximum number of members to return. The service might return fewer than this value. If unspecified or set to 0, at most 250 members are returned. The maximum value is 500; values above 500 are coerced to 500. Maximum might change in the future.",
                  "type": "integer"
                }
              },
              "httpMethod": "GET",
              "id": "meet.spaces.members.list",
              "parameterOrder": [
                "parent"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "flatPath": "v2/spaces/{spacesId}/members"
            }
          }
        }
      },
      "methods": {
        "patch": {
          "description": "Updates details about a meeting space. For more information, see [Manage meeting spaces](https://developers.google.com/workspace/meet/api/guides/manage-meeting-spaces).",
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Space"
          },
          "id": "meet.spaces.patch",
          "httpMethod": "PATCH",
          "parameters": {
            "name": {
              "type": "string",
              "location": "path",
              "description": "Immutable. Resource name of the space. Format: `spaces/{space}`. `{space}` is the resource identifier for the space. It's a unique, server-generated ID and is case sensitive. For example, `jQCFfuBOdN5z`. For more information, see [How Meet identifies a meeting space](https://developers.google.com/workspace/meet/api/guides/meeting-spaces#identify-meeting-space).",
              "required": true,
              "pattern": "^spaces/[^/]+$"
            },
            "updateMask": {
              "format": "google-fieldmask",
              "description": "Optional. Field mask used to specify the fields to be updated in the space. If update_mask isn't provided(not set, set with empty paths, or only has \"\" as paths), it defaults to update all fields provided with values in the request. Using \"*\" as update_mask will update all fields, including deleting fields not set in the request.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "v2/{+name}",
          "flatPath": "v2/spaces/{spacesId}",
          "request": {
            "$ref": "Space"
          },
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created",
            "https://www.googleapis.com/auth/meetings.space.settings"
          ]
        },
        "get": {
          "httpMethod": "GET",
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created",
            "https://www.googleapis.com/auth/meetings.space.readonly",
            "https://www.googleapis.com/auth/meetings.space.settings"
          ],
          "response": {
            "$ref": "Space"
          },
          "parameters": {
            "name": {
              "type": "string",
              "pattern": "^spaces/[^/]+$",
              "location": "path",
              "required": true,
              "description": "Required. Resource name of the space. Format: `spaces/{space}` or `spaces/{meetingCode}`. `{space}` is the resource identifier for the space. It's a unique, server-generated ID and is case sensitive. For example, `jQCFfuBOdN5z`. `{meetingCode}` is an alias for the space. It's a typeable, unique character string and is non-case sensitive. For example, `abc-mnop-xyz`. The maximum length is 128 characters. A `meetingCode` shouldn't be stored long term as it can become dissociated from a meeting space and can be reused for different meeting spaces in the future. Generally, a `meetingCode` expires 365 days after last use. For more information, see [Learn about meeting codes in Google Meet](https://support.google.com/meet/answer/10710509). For more information, see [How Meet identifies a meeting space](https://developers.google.com/workspace/meet/api/guides/meeting-spaces#identify-meeting-space)."
            }
          },
          "path": "v2/{+name}",
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v2/spaces/{spacesId}",
          "description": "Gets details about a meeting space. For more information, see [Manage meeting spaces](https://developers.google.com/workspace/meet/api/guides/manage-meeting-spaces). For an example, see [Get a meeting space](https://developers.google.com/workspace/meet/api/guides/meeting-spaces#get-meeting-space).",
          "id": "meet.spaces.get"
        },
        "endActiveConference": {
          "path": "v2/{+name}:endActiveConference",
          "response": {
            "$ref": "Empty"
          },
          "parameterOrder": [
            "name"
          ],
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "location": "path",
              "pattern": "^spaces/[^/]+$",
              "type": "string",
              "required": true,
              "description": "Required. Resource name of the space. Format: `spaces/{space}`. `{space}` is the resource identifier for the space. It's a unique, server-generated ID and is case sensitive. For example, `jQCFfuBOdN5z`. For more information, see [How Meet identifies a meeting space](https://developers.google.com/workspace/meet/api/guides/meeting-spaces#identify-meeting-space)."
            }
          },
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created"
          ],
          "flatPath": "v2/spaces/{spacesId}:endActiveConference",
          "description": "Ends an active conference (if there's one). For more information, see [Manage meeting spaces](https://developers.google.com/workspace/meet/api/guides/manage-meeting-spaces).",
          "id": "meet.spaces.endActiveConference",
          "request": {
            "$ref": "EndActiveConferenceRequest"
          }
        },
        "create": {
          "path": "v2/spaces",
          "parameterOrder": [],
          "description": "Creates a space. For more information, see [Manage meeting spaces](https://developers.google.com/workspace/meet/api/guides/manage-meeting-spaces).",
          "request": {
            "$ref": "Space"
          },
          "flatPath": "v2/spaces",
          "httpMethod": "POST",
          "parameters": {},
          "id": "meet.spaces.create",
          "response": {
            "$ref": "Space"
          },
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created"
          ]
        }
      }
    },
    "conferenceRecords": {
      "methods": {
        "get": {
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created",
            "https://www.googleapis.com/auth/meetings.space.readonly"
          ],
          "response": {
            "$ref": "ConferenceRecord"
          },
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "type": "string",
              "location": "path",
              "description": "Required. Resource name of the conference.",
              "required": true,
              "pattern": "^conferenceRecords/[^/]+$"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "flatPath": "v2/conferenceRecords/{conferenceRecordsId}",
          "id": "meet.conferenceRecords.get",
          "path": "v2/{+name}",
          "description": "Gets a conference record by conference ID. For more information, see [Work with conferences](https://developers.google.com/workspace/meet/api/guides/conferences)."
        },
        "list": {
          "flatPath": "v2/conferenceRecords",
          "parameterOrder": [],
          "path": "v2/conferenceRecords",
          "description": "Lists the conference records. By default, ordered by start time and in descending order. For more information, see [Work with conferences](https://developers.google.com/workspace/meet/api/guides/conferences).",
          "parameters": {
            "pageSize": {
              "description": "Optional. Maximum number of conference records to return. The service might return fewer than this value. If unspecified, at most 25 conference records are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future.",
              "type": "integer",
              "location": "query",
              "format": "int32"
            },
            "filter": {
              "description": "Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `space.meeting_code` * `space.name` * `start_time` * `end_time` For example, consider the following filters: * `space.name = \"spaces/NAME\"` * `space.meeting_code = \"abc-mnop-xyz\"` * `start_time\u003e=\"2024-01-01T00:00:00.000Z\" AND start_time\u003c=\"2024-01-02T00:00:00.000Z\"` * `end_time IS NULL`",
              "type": "string",
              "location": "query"
            },
            "pageToken": {
              "type": "string",
              "description": "Optional. Page token returned from previous List Call.",
              "location": "query"
            }
          },
          "httpMethod": "GET",
          "response": {
            "$ref": "ListConferenceRecordsResponse"
          },
          "id": "meet.conferenceRecords.list",
          "scopes": [
            "https://www.googleapis.com/auth/meetings.space.created",
            "https://www.googleapis.com/auth/meetings.space.readonly"
          ]
        }
      },
      "resources": {
        "recordings": {
          "methods": {
            "get": {
              "parameters": {
                "name": {
                  "pattern": "^conferenceRecords/[^/]+/recordings/[^/]+$",
                  "description": "Required. Resource name of the recording.",
                  "location": "path",
                  "type": "string",
                  "required": true
                }
              },
              "httpMethod": "GET",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/recordings/{recordingsId}",
              "parameterOrder": [
                "name"
              ],
              "id": "meet.conferenceRecords.recordings.get",
              "description": "Gets a recording by recording ID. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "path": "v2/{+name}",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "response": {
                "$ref": "Recording"
              }
            },
            "list": {
              "description": "Lists the recording resources from the conference record. By default, ordered by start time and in ascending order. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "path": "v2/{+parent}/recordings",
              "parameters": {
                "parent": {
                  "required": true,
                  "type": "string",
                  "description": "Required. Format: `conferenceRecords/{conference_record}`",
                  "pattern": "^conferenceRecords/[^/]+$",
                  "location": "path"
                },
                "pageSize": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Maximum number of recordings to return. The service might return fewer than this value. If unspecified, at most 10 recordings are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future.",
                  "location": "query"
                },
                "pageToken": {
                  "type": "string",
                  "description": "Page token returned from previous List Call.",
                  "location": "query"
                }
              },
              "response": {
                "$ref": "ListRecordingsResponse"
              },
              "httpMethod": "GET",
              "parameterOrder": [
                "parent"
              ],
              "id": "meet.conferenceRecords.recordings.list",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/recordings"
            }
          }
        },
        "participants": {
          "methods": {
            "get": {
              "description": "Gets a participant by participant ID. For more information, see [Work with participants](https://developers.google.com/workspace/meet/api/guides/participants).",
              "parameters": {
                "name": {
                  "required": true,
                  "location": "path",
                  "pattern": "^conferenceRecords/[^/]+/participants/[^/]+$",
                  "type": "string",
                  "description": "Required. Resource name of the participant."
                }
              },
              "httpMethod": "GET",
              "path": "v2/{+name}",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/participants/{participantsId}",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "id": "meet.conferenceRecords.participants.get",
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Participant"
              }
            },
            "list": {
              "description": "Lists the participants in a conference record. By default, ordered by join time and in descending order. This API supports `fields` as standard parameters like every other API. However, when the `fields` request parameter is omitted, this API defaults to `'participants/*, next_page_token'`. For more information, see [Work with participants](https://developers.google.com/workspace/meet/api/guides/participants).",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/participants",
              "id": "meet.conferenceRecords.participants.list",
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListParticipantsResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "path": "v2/{+parent}/participants",
              "httpMethod": "GET",
              "parameters": {
                "pageToken": {
                  "description": "Page token returned from previous List Call.",
                  "type": "string",
                  "location": "query"
                },
                "parent": {
                  "location": "path",
                  "type": "string",
                  "description": "Required. Format: `conferenceRecords/{conference_record}`",
                  "pattern": "^conferenceRecords/[^/]+$",
                  "required": true
                },
                "filter": {
                  "location": "query",
                  "description": "Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `earliest_start_time` * `latest_end_time` For example, `latest_end_time IS NULL` returns active participants in the conference.",
                  "type": "string"
                },
                "pageSize": {
                  "format": "int32",
                  "type": "integer",
                  "description": "Maximum number of participants to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values above 250 are coerced to 250. Maximum might change in the future.",
                  "location": "query"
                }
              }
            }
          },
          "resources": {
            "participantSessions": {
              "methods": {
                "get": {
                  "path": "v2/{+name}",
                  "response": {
                    "$ref": "ParticipantSession"
                  },
                  "description": "Gets a participant session by participant session ID. For more information, see [Work with participants](https://developers.google.com/workspace/meet/api/guides/participants).",
                  "id": "meet.conferenceRecords.participants.participantSessions.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/meetings.space.created",
                    "https://www.googleapis.com/auth/meetings.space.readonly"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "httpMethod": "GET",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^conferenceRecords/[^/]+/participants/[^/]+/participantSessions/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. Resource name of the participant."
                    }
                  },
                  "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/participants/{participantsId}/participantSessions/{participantSessionsId}"
                },
                "list": {
                  "response": {
                    "$ref": "ListParticipantSessionsResponse"
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "meet.conferenceRecords.participants.participantSessions.list",
                  "httpMethod": "GET",
                  "parameters": {
                    "pageSize": {
                      "description": "Optional. Maximum number of participant sessions to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values above 250 are coerced to 250. Maximum might change in the future.",
                      "location": "query",
                      "type": "integer",
                      "format": "int32"
                    },
                    "pageToken": {
                      "description": "Optional. Page token returned from previous List Call.",
                      "location": "query",
                      "type": "string"
                    },
                    "parent": {
                      "description": "Required. Format: `conferenceRecords/{conference_record}/participants/{participant}`",
                      "required": true,
                      "type": "string",
                      "location": "path",
                      "pattern": "^conferenceRecords/[^/]+/participants/[^/]+$"
                    },
                    "filter": {
                      "location": "query",
                      "description": "Optional. User specified filtering condition in [EBNF format](https://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_form). The following are the filterable fields: * `start_time` * `end_time` For example, `end_time IS NULL` returns active participant sessions in the conference record.",
                      "type": "string"
                    }
                  },
                  "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/participants/{participantsId}/participantSessions",
                  "scopes": [
                    "https://www.googleapis.com/auth/meetings.space.created",
                    "https://www.googleapis.com/auth/meetings.space.readonly"
                  ],
                  "description": "Lists the participant sessions of a participant in a conference record. By default, ordered by join time and in descending order. This API supports `fields` as standard parameters like every other API. However, when the `fields` request parameter is omitted this API defaults to `'participantsessions/*, next_page_token'`. For more information, see [Work with participants](https://developers.google.com/workspace/meet/api/guides/participants).",
                  "path": "v2/{+parent}/participantSessions"
                }
              }
            }
          }
        },
        "smartNotes": {
          "methods": {
            "list": {
              "description": "Lists the set of smart notes from the conference record. By default, ordered by start time and in ascending order. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/smartNotes",
              "parameterOrder": [
                "parent"
              ],
              "id": "meet.conferenceRecords.smartNotes.list",
              "httpMethod": "GET",
              "response": {
                "$ref": "ListSmartNotesResponse"
              },
              "parameters": {
                "pageToken": {
                  "location": "query",
                  "description": "Optional. Page token returned from previous List Call.",
                  "type": "string"
                },
                "parent": {
                  "type": "string",
                  "required": true,
                  "pattern": "^conferenceRecords/[^/]+$",
                  "description": "Required. Format: `conferenceRecords/{conference_record}`",
                  "location": "path"
                },
                "pageSize": {
                  "description": "Optional. Maximum number of smart notes to return. The service might return fewer than this value. If unspecified, at most 10 smart notes are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future.",
                  "format": "int32",
                  "location": "query",
                  "type": "integer"
                }
              },
              "path": "v2/{+parent}/smartNotes",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ]
            },
            "get": {
              "response": {
                "$ref": "SmartNote"
              },
              "parameterOrder": [
                "name"
              ],
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "description": "Gets smart notes by smart note ID. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "location": "path",
                  "description": "Required. Resource name of the smart note. Format: conferenceRecords/{conference_record}/smartNotes/{smart_note}",
                  "pattern": "^conferenceRecords/[^/]+/smartNotes/[^/]+$",
                  "type": "string",
                  "required": true
                }
              },
              "id": "meet.conferenceRecords.smartNotes.get",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/smartNotes/{smartNotesId}",
              "path": "v2/{+name}"
            }
          }
        },
        "transcripts": {
          "methods": {
            "get": {
              "parameterOrder": [
                "name"
              ],
              "path": "v2/{+name}",
              "response": {
                "$ref": "Transcript"
              },
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ],
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "required": true,
                  "pattern": "^conferenceRecords/[^/]+/transcripts/[^/]+$",
                  "type": "string",
                  "description": "Required. Resource name of the transcript.",
                  "location": "path"
                }
              },
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/transcripts/{transcriptsId}",
              "description": "Gets a transcript by transcript ID. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "id": "meet.conferenceRecords.transcripts.get"
            },
            "list": {
              "httpMethod": "GET",
              "description": "Lists the set of transcripts from the conference record. By default, ordered by start time and in ascending order. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts).",
              "parameterOrder": [
                "parent"
              ],
              "parameters": {
                "parent": {
                  "location": "path",
                  "pattern": "^conferenceRecords/[^/]+$",
                  "type": "string",
                  "description": "Required. Format: `conferenceRecords/{conference_record}`",
                  "required": true
                },
                "pageSize": {
                  "description": "Maximum number of transcripts to return. The service might return fewer than this value. If unspecified, at most 10 transcripts are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future.",
                  "type": "integer",
                  "location": "query",
                  "format": "int32"
                },
                "pageToken": {
                  "location": "query",
                  "description": "Page token returned from previous List Call.",
                  "type": "string"
                }
              },
              "response": {
                "$ref": "ListTranscriptsResponse"
              },
              "id": "meet.conferenceRecords.transcripts.list",
              "path": "v2/{+parent}/transcripts",
              "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/transcripts",
              "scopes": [
                "https://www.googleapis.com/auth/meetings.space.created",
                "https://www.googleapis.com/auth/meetings.space.readonly"
              ]
            }
          },
          "resources": {
            "entries": {
              "methods": {
                "get": {
                  "id": "meet.conferenceRecords.transcripts.entries.get",
                  "scopes": [
                    "https://www.googleapis.com/auth/meetings.space.created",
                    "https://www.googleapis.com/auth/meetings.space.readonly"
                  ],
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Gets a `TranscriptEntry` resource by entry ID. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts). Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when 1) we have interleaved speakers within milliseconds, or 2) the Google Docs transcript file is modified after generation.",
                  "response": {
                    "$ref": "TranscriptEntry"
                  },
                  "parameters": {
                    "name": {
                      "description": "Required. Resource name of the `TranscriptEntry`.",
                      "type": "string",
                      "required": true,
                      "location": "path",
                      "pattern": "^conferenceRecords/[^/]+/transcripts/[^/]+/entries/[^/]+$"
                    }
                  },
                  "httpMethod": "GET",
                  "path": "v2/{+name}",
                  "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/transcripts/{transcriptsId}/entries/{entriesId}"
                },
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/meetings.space.created",
                    "https://www.googleapis.com/auth/meetings.space.readonly"
                  ],
                  "flatPath": "v2/conferenceRecords/{conferenceRecordsId}/transcripts/{transcriptsId}/entries",
                  "parameterOrder": [
                    "parent"
                  ],
                  "id": "meet.conferenceRecords.transcripts.entries.list",
                  "parameters": {
                    "parent": {
                      "type": "string",
                      "description": "Required. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`",
                      "required": true,
                      "location": "path",
                      "pattern": "^conferenceRecords/[^/]+/transcripts/[^/]+$"
                    },
                    "pageSize": {
                      "location": "query",
                      "description": "Maximum number of entries to return. The service might return fewer than this value. If unspecified, at most 10 entries are returned. The maximum value is 100; values above 100 are coerced to 100. Maximum might change in the future.",
                      "format": "int32",
                      "type": "integer"
                    },
                    "pageToken": {
                      "type": "string",
                      "description": "Page token returned from previous List Call.",
                      "location": "query"
                    }
                  },
                  "response": {
                    "$ref": "ListTranscriptEntriesResponse"
                  },
                  "httpMethod": "GET",
                  "description": "Lists the structured transcript entries per transcript. By default, ordered by start time and in ascending order. For more information, see [Work with artifacts](https://developers.google.com/workspace/meet/api/guides/artifacts). Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when 1) we have interleaved speakers within milliseconds, or 2) the Google Docs transcript file is modified after generation.",
                  "path": "v2/{+parent}/entries"
                }
              }
            }
          }
        }
      }
    }
  },
  "ownerName": "Google",
  "protocol": "rest",
  "parameters": {
    "fields": {
      "type": "string",
      "location": "query",
      "description": "Selector specifying which fields to include in a partial response."
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "location": "query",
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\")."
    },
    "$.xgafv": {
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "default": "true"
    },
    "oauth_token": {
      "type": "string",
      "location": "query",
      "description": "OAuth 2.0 token for the current user."
    },
    "callback": {
      "location": "query",
      "description": "JSONP",
      "type": "string"
    },
    "key": {
      "location": "query",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "type": "string"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "default": "json"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    }
  },
  "version_module": true,
  "discoveryVersion": "v1",
  "title": "Google Meet API",
  "revision": "20260922",
  "description": "Create and manage meetings in Google Meet.",
  "documentationLink": "https://developers.google.com/workspace/meet/api",
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "schemas": {
    "ListMembersResponse": {
      "id": "ListMembersResponse",
      "type": "object",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to be circulated back for further list call if current list doesn't include all the members. Unset if all members are returned."
        },
        "members": {
          "type": "array",
          "description": "The list of members for the current page.",
          "items": {
            "$ref": "Member"
          }
        }
      },
      "description": "Response of list members."
    },
    "TranscriptEntry": {
      "type": "object",
      "properties": {
        "name": {
          "readOnly": true,
          "description": "Output only. Resource name of the entry. Format: \"conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}\"",
          "type": "string"
        },
        "endTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. Timestamp when the transcript entry ended."
        },
        "startTime": {
          "type": "string",
          "description": "Output only. Timestamp when the transcript entry started.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "languageCode": {
          "description": "Output only. Language of spoken text, such as \"en-US\". IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)",
          "type": "string",
          "readOnly": true
        },
        "participant": {
          "description": "Output only. Refers to the participant who speaks.",
          "type": "string",
          "readOnly": true
        },
        "text": {
          "description": "Output only. The transcribed text of the participant's voice, at maximum 10K words. Note that the limit is subject to change.",
          "readOnly": true,
          "type": "string"
        }
      },
      "description": "Single entry for one user’s speech during a transcript session.",
      "id": "TranscriptEntry"
    },
    "Member": {
      "description": "Users who are configured to have a role in the space. These users can join the space without knocking.",
      "properties": {
        "email": {
          "description": "Email for the member. This is required for creating the member.",
          "type": "string"
        },
        "role": {
          "type": "string",
          "enumDescriptions": [
            "This is used to indicate the user hasn't specified any value and the user’s role will be determined upon joining the meetings between 'contributor' and 'viewer' role depending on meeting configuration. For more information about the viewer role, see [Assign View only roles in Google Meet](https://support.google.com/meet/answer/13658394).",
            "Co-host role."
          ],
          "description": "The meeting role assigned to the member.",
          "enum": [
            "ROLE_UNSPECIFIED",
            "COHOST"
          ]
        },
        "name": {
          "type": "string",
          "description": "Identifier. Resource name of the member. Format: spaces/{space}/members/{member}"
        }
      },
      "type": "object",
      "id": "Member"
    },
    "ConferenceRecord": {
      "description": "Single instance of a meeting held in a space.",
      "id": "ConferenceRecord",
      "type": "object",
      "properties": {
        "expireTime": {
          "readOnly": true,
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Server enforced expiration time for when this conference record resource is deleted. The resource is deleted 30 days after the conference ends."
        },
        "name": {
          "description": "Identifier. Resource name of the conference record. Format: `conferenceRecords/{conference_record}` where `{conference_record}` is a unique ID for each instance of a call within a space.",
          "type": "string"
        },
        "space": {
          "type": "string",
          "description": "Output only. The space where the conference was held.",
          "readOnly": true
        },
        "endTime": {
          "type": "string",
          "description": "Output only. Timestamp when the conference ended. Set for past conferences. Unset if the conference is ongoing.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "startTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. Timestamp when the conference started. Always set."
        }
      }
    },
    "ListSmartNotesResponse": {
      "description": "Response for ListSmartNotes method.",
      "id": "ListSmartNotesResponse",
      "properties": {
        "nextPageToken": {
          "description": "Token to be circulated back for further List call if current List doesn't include all the smart notes. Unset if all smart notes are returned.",
          "type": "string"
        },
        "smartNotes": {
          "type": "array",
          "description": "List of smart notes in one page.",
          "items": {
            "$ref": "SmartNote"
          }
        }
      },
      "type": "object"
    },
    "SmartNote": {
      "description": "Metadata for a smart note generated from a conference. It refers to the notes generated from Take Notes with Gemini during the conference.",
      "properties": {
        "state": {
          "description": "Output only. Current state.",
          "type": "string",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "STARTED",
            "ENDED",
            "FILE_GENERATED"
          ],
          "enumDescriptions": [
            "Default, never used.",
            "An active smart notes session has started.",
            "This smart notes session has ended, but the smart notes file hasn't been generated yet.",
            "Smart notes file is generated and ready to download."
          ]
        },
        "endTime": {
          "type": "string",
          "description": "Output only. Timestamp when the smart notes stopped.",
          "readOnly": true,
          "format": "google-datetime"
        },
        "docsDestination": {
          "readOnly": true,
          "description": "Output only. The Google Doc destination where the smart notes are saved.",
          "$ref": "DocsDestination"
        },
        "name": {
          "description": "Output only. Identifier. Resource name of the smart notes. Format: `conferenceRecords/{conference_record}/smartNotes/{smart_note}`, where `{smart_note}` is a 1:1 mapping to each unique smart notes session of the conference.",
          "type": "string",
          "readOnly": true
        },
        "startTime": {
          "readOnly": true,
          "description": "Output only. Timestamp when the smart notes started.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "type": "object",
      "id": "SmartNote"
    },
    "ArtifactConfig": {
      "type": "object",
      "description": "Configuration related to meeting artifacts potentially generated by this meeting space.",
      "id": "ArtifactConfig",
      "properties": {
        "recordingConfig": {
          "description": "Configuration for recording.",
          "$ref": "RecordingConfig"
        },
        "smartNotesConfig": {
          "$ref": "SmartNotesConfig",
          "description": "Configuration for auto-smart-notes."
        },
        "transcriptionConfig": {
          "description": "Configuration for auto-transcript.",
          "$ref": "TranscriptionConfig"
        }
      }
    },
    "GatewaySipAccess": {
      "properties": {
        "uri": {
          "description": "The Session Initiation Protocol (SIP) URI the conference can be reached through. The string is in one of these formats: * \"sip:USER_ID@GATEWAY_ADDRESS\" * \"sips:USER_ID@GATEWAY_ADDRESS\" where USER_ID is the 13-digit universal pin (with the future option to support using a Meet meeting code as well), and GATEWAY_ADDRESS is a valid address to be resolved using a DNS SRV lookup, or a dotted quad.",
          "type": "string"
        },
        "sipAccessCode": {
          "description": "The permanent numeric code for manual entry on specially configured devices.",
          "type": "string"
        }
      },
      "description": "Details how to join the conference through a SIP gateway.",
      "type": "object",
      "id": "GatewaySipAccess"
    },
    "SmartNotesConfig": {
      "id": "SmartNotesConfig",
      "properties": {
        "autoSmartNotesGeneration": {
          "description": "Defines whether to automatically generate a summary and recap of the meeting for all invitees in the organization when someone with the privilege to enable smart notes joins the meeting.",
          "enum": [
            "AUTO_GENERATION_TYPE_UNSPECIFIED",
            "ON",
            "OFF"
          ],
          "type": "string",
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "The artifact is generated automatically.",
            "The artifact is not generated automatically."
          ]
        }
      },
      "type": "object",
      "description": "Configuration related to smart notes in a meeting space. For more information about smart notes, see [\"Take notes for me\" in Google Meet](https://support.google.com/meet/answer/14754931)."
    },
    "EndActiveConferenceRequest": {
      "type": "object",
      "id": "EndActiveConferenceRequest",
      "description": "Request to end an ongoing conference of a space.",
      "properties": {}
    },
    "TranscriptionConfig": {
      "id": "TranscriptionConfig",
      "type": "object",
      "description": "Configuration related to transcription in a meeting space.",
      "properties": {
        "autoTranscriptionGeneration": {
          "enum": [
            "AUTO_GENERATION_TYPE_UNSPECIFIED",
            "ON",
            "OFF"
          ],
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "The artifact is generated automatically.",
            "The artifact is not generated automatically."
          ],
          "type": "string",
          "description": "Defines whether the content of a meeting is automatically transcribed when someone with the privilege to transcribe joins the meeting."
        }
      }
    },
    "SignedinUser": {
      "type": "object",
      "description": "A signed-in user can be: a) An individual joining from a personal computer, mobile device, or through companion mode. b) A robot account used by conference room devices.",
      "id": "SignedinUser",
      "properties": {
        "user": {
          "description": "Output only. Unique ID for the user. Interoperable with Admin SDK API and People API. Format: `users/{user}`",
          "readOnly": true,
          "type": "string"
        },
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. For a personal device, it's the user's first name and last name. For a robot account, it's the administrator-specified device name. For example, \"Altostrat Room\"."
        }
      }
    },
    "ListRecordingsResponse": {
      "description": "Response for ListRecordings method.",
      "id": "ListRecordingsResponse",
      "properties": {
        "recordings": {
          "description": "List of recordings in one page.",
          "type": "array",
          "items": {
            "$ref": "Recording"
          }
        },
        "nextPageToken": {
          "type": "string",
          "description": "Token to be circulated back for further List call if current List doesn't include all the recordings. Unset if all recordings are returned."
        }
      },
      "type": "object"
    },
    "ParticipantSession": {
      "type": "object",
      "properties": {
        "startTime": {
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Timestamp when the user session starts.",
          "type": "string"
        },
        "endTime": {
          "description": "Output only. Timestamp when the user session ends. Unset if the user session hasn’t ended.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "name": {
          "description": "Identifier. Session id.",
          "type": "string"
        }
      },
      "description": "Refers to each unique join or leave session when a user joins a conference from a device. Note that any time a user joins the conference a new unique ID is assigned. That means if a user joins a space multiple times from the same device, they're assigned different IDs, and are also be treated as different participant sessions.",
      "id": "ParticipantSession"
    },
    "ListParticipantsResponse": {
      "description": "Response of ListParticipants method.",
      "id": "ListParticipantsResponse",
      "properties": {
        "participants": {
          "description": "List of participants in one page.",
          "items": {
            "$ref": "Participant"
          },
          "type": "array"
        },
        "nextPageToken": {
          "description": "Token to be circulated back for further List call if current List doesn't include all the participants. Unset if all participants are returned.",
          "type": "string"
        },
        "totalSize": {
          "format": "int32",
          "description": "Total, exact number of `participants`. By default, this field isn't included in the response. Set the field mask in [SystemParameterContext](https://cloud.google.com/apis/docs/system-parameters) to receive this field in the response.",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "ListTranscriptEntriesResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to be circulated back for further List call if current List doesn't include all the transcript entries. Unset if all entries are returned.",
          "type": "string"
        },
        "transcriptEntries": {
          "items": {
            "$ref": "TranscriptEntry"
          },
          "description": "List of TranscriptEntries in one page.",
          "type": "array"
        }
      },
      "description": "Response for ListTranscriptEntries method.",
      "id": "ListTranscriptEntriesResponse",
      "type": "object"
    },
    "ListTranscriptsResponse": {
      "id": "ListTranscriptsResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to be circulated back for further List call if current List doesn't include all the transcripts. Unset if all transcripts are returned."
        },
        "transcripts": {
          "description": "List of transcripts in one page.",
          "type": "array",
          "items": {
            "$ref": "Transcript"
          }
        }
      },
      "description": "Response for ListTranscripts method.",
      "type": "object"
    },
    "Transcript": {
      "id": "Transcript",
      "description": "Metadata for a transcript generated from a conference. It refers to the ASR (Automatic Speech Recognition) result of user's speech during the conference.",
      "properties": {
        "startTime": {
          "description": "Output only. Timestamp when the transcript started.",
          "format": "google-datetime",
          "type": "string",
          "readOnly": true
        },
        "docsDestination": {
          "$ref": "DocsDestination",
          "readOnly": true,
          "description": "Output only. Where the Google Docs transcript is saved."
        },
        "endTime": {
          "format": "google-datetime",
          "type": "string",
          "readOnly": true,
          "description": "Output only. Timestamp when the transcript stopped."
        },
        "name": {
          "description": "Output only. Resource name of the transcript. Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`, where `{transcript}` is a 1:1 mapping to each unique transcription session of the conference.",
          "readOnly": true,
          "type": "string"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "STARTED",
            "ENDED",
            "FILE_GENERATED"
          ],
          "readOnly": true,
          "type": "string",
          "description": "Output only. Current state.",
          "enumDescriptions": [
            "Default, never used.",
            "An active transcript session has started.",
            "This transcript session has ended, but the transcript file hasn't been generated yet.",
            "Transcript file is generated and ready to download."
          ]
        }
      },
      "type": "object"
    },
    "BatchUpdateMembersRequest": {
      "properties": {
        "requests": {
          "description": "Required. The request message specifying the resources to update. A maximum of 500 members can be modified in a batch.",
          "type": "array",
          "items": {
            "$ref": "UpdateMemberRequest"
          }
        },
        "updateMask": {
          "description": "Optional. Top-level field mask used to specify the fields to be updated in the member for all UpdateMemberRequests. There are 4 possible scenarios for top-level and child field mask: 1. top-level and child field mask is absent: All fields provided in the requests are updated, including deleting fields not set in the requests. 2. top-level field mask is present but child field mask is absent: The fields specified in the top-level field mask are updated. 3. top-level and child field mask is present: The child field mask must be the same as the top-level field mask. 4. top-level field mask is absent but child field mask is present: It isn't supported and will return an error.",
          "type": "string",
          "format": "google-fieldmask"
        }
      },
      "type": "object",
      "id": "BatchUpdateMembersRequest",
      "description": "Request to update members of one space within a batch."
    },
    "ListParticipantSessionsResponse": {
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "Token to be circulated back for further List call if current List doesn't include all the participants. Unset if all participants are returned."
        },
        "participantSessions": {
          "items": {
            "$ref": "ParticipantSession"
          },
          "type": "array",
          "description": "List of participants in one page."
        }
      },
      "id": "ListParticipantSessionsResponse",
      "type": "object",
      "description": "Response of ListParticipants method."
    },
    "DocsDestination": {
      "id": "DocsDestination",
      "type": "object",
      "description": "Google Docs location where the transcript file is saved.",
      "properties": {
        "exportUri": {
          "readOnly": true,
          "description": "Output only. URI for the Google Docs transcript file. Use `https://docs.google.com/document/d/{$DocumentId}/view` to browse the transcript in the browser.",
          "type": "string"
        },
        "document": {
          "readOnly": true,
          "type": "string",
          "description": "Output only. The document ID for the underlying Google Docs transcript file. For example, \"1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP\". Use the `documents.get` method of the Google Docs API (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to fetch the content."
        }
      }
    },
    "BatchUpdateMembersResponse": {
      "description": "Response of batch update members.",
      "properties": {
        "members": {
          "items": {
            "$ref": "Member"
          },
          "description": "Members updated.",
          "type": "array"
        }
      },
      "id": "BatchUpdateMembersResponse",
      "type": "object"
    },
    "Participant": {
      "properties": {
        "signedinUser": {
          "description": "Signed-in user.",
          "$ref": "SignedinUser"
        },
        "earliestStartTime": {
          "type": "string",
          "format": "google-datetime",
          "readOnly": true,
          "description": "Output only. Time when the participant first joined the meeting."
        },
        "anonymousUser": {
          "description": "Anonymous user.",
          "$ref": "AnonymousUser"
        },
        "name": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. Resource name of the participant. Format: `conferenceRecords/{conference_record}/participants/{participant}`"
        },
        "phoneUser": {
          "description": "User calling from their phone.",
          "$ref": "PhoneUser"
        },
        "latestEndTime": {
          "type": "string",
          "format": "google-datetime",
          "description": "Output only. Time when the participant left the meeting for the last time. This can be null if it's an active meeting.",
          "readOnly": true
        }
      },
      "type": "object",
      "id": "Participant",
      "description": "User who attended or is attending a conference."
    },
    "Empty": {
      "properties": {},
      "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }",
      "type": "object",
      "id": "Empty"
    },
    "RecordingConfig": {
      "properties": {
        "autoRecordingGeneration": {
          "description": "Defines whether a meeting space is automatically recorded when someone with the privilege to record joins the meeting.",
          "type": "string",
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "The artifact is generated automatically.",
            "The artifact is not generated automatically."
          ],
          "enum": [
            "AUTO_GENERATION_TYPE_UNSPECIFIED",
            "ON",
            "OFF"
          ]
        }
      },
      "id": "RecordingConfig",
      "type": "object",
      "description": "Configuration related to recording in a meeting space."
    },
    "ListConferenceRecordsResponse": {
      "properties": {
        "nextPageToken": {
          "description": "Token to be circulated back for further List call if current List does NOT include all the Conferences. Unset if all conferences have been returned.",
          "type": "string"
        },
        "conferenceRecords": {
          "description": "List of conferences in one page.",
          "items": {
            "$ref": "ConferenceRecord"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "ListConferenceRecordsResponse",
      "description": "Response of ListConferenceRecords method."
    },
    "SpaceConfig": {
      "id": "SpaceConfig",
      "description": "The configuration pertaining to a meeting space.",
      "type": "object",
      "properties": {
        "artifactConfig": {
          "$ref": "ArtifactConfig",
          "description": "Configuration pertaining to the auto-generated artifacts that the meeting supports."
        },
        "moderationRestrictions": {
          "description": "When moderation.ON, these restrictions go into effect for the meeting. When moderation.OFF, will be reset to default ModerationRestrictions.",
          "$ref": "ModerationRestrictions"
        },
        "accessType": {
          "enumDescriptions": [
            "Default value specified by the user's organization. Note: This is never returned, as the configured access type is returned instead.",
            "Anyone with the join information (for example, the URL or phone access information) can join without knocking.",
            "Members of the host's organization, invited external users, and dial-in users can join without knocking. Everyone else must knock.",
            "Only invitees can join without knocking. Everyone else must knock."
          ],
          "type": "string",
          "description": "Access type of the meeting space that determines who can join without knocking. Default: The user's default access settings. Controlled by the user's admin for enterprise users or RESTRICTED.",
          "enum": [
            "ACCESS_TYPE_UNSPECIFIED",
            "OPEN",
            "TRUSTED",
            "RESTRICTED"
          ]
        },
        "entryPointAccess": {
          "type": "string",
          "enumDescriptions": [
            "Unused.",
            "All entry points are allowed.",
            "Only entry points owned by the Google Cloud project that created the space can be used to join meetings in this space. Apps can use the Meet Embed SDK Web or mobile Meet SDKs to create owned entry points."
          ],
          "description": "Defines the entry points that can be used to join meetings hosted in this meeting space. Default: EntryPointAccess.ALL",
          "enum": [
            "ENTRY_POINT_ACCESS_UNSPECIFIED",
            "ALL",
            "CREATOR_APP_ONLY"
          ]
        },
        "attendanceReportGenerationType": {
          "description": "Whether attendance report is enabled for the meeting space.",
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "Attendance report will be generated and sent to drive/email.",
            "Attendance report will not be generated."
          ],
          "enum": [
            "ATTENDANCE_REPORT_GENERATION_TYPE_UNSPECIFIED",
            "GENERATE_REPORT",
            "DO_NOT_GENERATE"
          ],
          "type": "string"
        },
        "moderation": {
          "type": "string",
          "enumDescriptions": [
            "Moderation type is not specified. This is used to indicate the user hasn't specified any value as the user does not intend to update the state. Users are not allowed to set the value as unspecified.",
            "Moderation is off.",
            "Moderation is on."
          ],
          "description": "The pre-configured moderation mode for the Meeting. Default: Controlled by the user's policies.",
          "enum": [
            "MODERATION_UNSPECIFIED",
            "OFF",
            "ON"
          ]
        }
      }
    },
    "ActiveConference": {
      "type": "object",
      "id": "ActiveConference",
      "description": "Active conference.",
      "properties": {
        "conferenceRecord": {
          "description": "Output only. Reference to 'ConferenceRecord' resource. Format: `conferenceRecords/{conference_record}` where `{conference_record}` is a unique ID for each instance of a call within a space.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "DriveDestination": {
      "id": "DriveDestination",
      "properties": {
        "file": {
          "readOnly": true,
          "description": "Output only. The `fileId` for the underlying MP4 file. For example, \"1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP\". Use `$ GET https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download the blob. For more information, see https://developers.google.com/drive/api/v3/reference/files/get.",
          "type": "string"
        },
        "exportUri": {
          "description": "Output only. Link used to play back the recording file in the browser. For example, `https://drive.google.com/file/d/{$fileId}/view`.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "description": "Export location where a recording file is saved in Google Drive."
    },
    "Recording": {
      "id": "Recording",
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "description": "Output only. Resource name of the recording. Format: `conferenceRecords/{conference_record}/recordings/{recording}` where `{recording}` is a 1:1 mapping to each unique recording session during the conference.",
          "readOnly": true
        },
        "state": {
          "readOnly": true,
          "description": "Output only. Current state.",
          "enumDescriptions": [
            "Default, never used.",
            "An active recording session has started.",
            "This recording session has ended, but the recording file hasn't been generated yet.",
            "Recording file is generated and ready to download."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "STARTED",
            "ENDED",
            "FILE_GENERATED"
          ],
          "type": "string"
        },
        "startTime": {
          "readOnly": true,
          "format": "google-datetime",
          "type": "string",
          "description": "Output only. Timestamp when the recording started."
        },
        "driveDestination": {
          "readOnly": true,
          "$ref": "DriveDestination",
          "description": "Output only. Recording is saved to Google Drive as an MP4 file. The `drive_destination` includes the Drive `fileId` that can be used to download the file using the `files.get` method of the Drive API."
        },
        "endTime": {
          "readOnly": true,
          "description": "Output only. Timestamp when the recording ended.",
          "format": "google-datetime",
          "type": "string"
        }
      },
      "description": "Metadata about a recording created during a conference."
    },
    "ModerationRestrictions": {
      "id": "ModerationRestrictions",
      "properties": {
        "reactionRestriction": {
          "enum": [
            "RESTRICTION_TYPE_UNSPECIFIED",
            "HOSTS_ONLY",
            "NO_RESTRICTION"
          ],
          "description": "Defines who has permission to send reactions in the meeting space.",
          "type": "string",
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "Meeting owner and co-host have the permission.",
            "All Participants have permissions."
          ]
        },
        "defaultJoinAsViewerType": {
          "enum": [
            "DEFAULT_JOIN_AS_VIEWER_TYPE_UNSPECIFIED",
            "ON",
            "OFF"
          ],
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "Users will by default join as viewers.",
            "Users will by default join as contributors."
          ],
          "type": "string",
          "description": "Defines whether to restrict the default role assigned to users as viewer."
        },
        "presentRestriction": {
          "type": "string",
          "enum": [
            "RESTRICTION_TYPE_UNSPECIFIED",
            "HOSTS_ONLY",
            "NO_RESTRICTION"
          ],
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "Meeting owner and co-host have the permission.",
            "All Participants have permissions."
          ],
          "description": "Defines who has permission to share their screen in the meeting space."
        },
        "chatRestriction": {
          "type": "string",
          "description": "Defines who has permission to send chat messages in the meeting space.",
          "enumDescriptions": [
            "Default value specified by user policy. This should never be returned.",
            "Meeting owner and co-host have the permission.",
            "All Participants have permissions."
          ],
          "enum": [
            "RESTRICTION_TYPE_UNSPECIFIED",
            "HOSTS_ONLY",
            "NO_RESTRICTION"
          ]
        }
      },
      "type": "object",
      "description": "Defines restrictions for features when the meeting is moderated."
    },
    "AnonymousUser": {
      "type": "object",
      "description": "User who joins anonymously (meaning not signed into a Google Account).",
      "properties": {
        "displayName": {
          "type": "string",
          "readOnly": true,
          "description": "Output only. User provided name when they join a conference anonymously."
        }
      },
      "id": "AnonymousUser"
    },
    "PhoneUser": {
      "properties": {
        "displayName": {
          "description": "Output only. Partially redacted user's phone number when calling.",
          "type": "string",
          "readOnly": true
        }
      },
      "id": "PhoneUser",
      "type": "object",
      "description": "User dialing in from a phone where the user's identity is unknown because they haven't signed in with a Google Account."
    },
    "UpdateMemberRequest": {
      "properties": {
        "updateMask": {
          "type": "string",
          "format": "google-fieldmask",
          "description": "Optional. Field mask used to specify the fields to be updated in the member. If update_mask isn't provided(not set, set with empty paths, or only has \"\" as paths), it defaults to update all fields provided with values in the request. Using \"*\" as update_mask will update all fields, including deleting fields not set in the request. In case of BatchUpdate, it must be absent or the same as the update_mask in BatchUpdateMembersRequest when UpdateMemberRequest is built as a child request of BatchUpdateMembersRequest."
        },
        "member": {
          "description": "Required. The Member to update. Format: spaces/{space}/members/{member}",
          "$ref": "Member"
        }
      },
      "id": "UpdateMemberRequest",
      "description": "Request to update a member.",
      "type": "object"
    },
    "Space": {
      "properties": {
        "phoneAccess": {
          "type": "array",
          "readOnly": true,
          "description": "Output only. All regional phone access methods for this meeting space. Can be empty.",
          "items": {
            "$ref": "PhoneAccess"
          }
        },
        "gatewaySipAccess": {
          "description": "Output only. The SIP-based access methods that can be used to join the conference. Can be empty.",
          "items": {
            "$ref": "GatewaySipAccess"
          },
          "type": "array",
          "readOnly": true
        },
        "meetingCode": {
          "description": "Output only. Type friendly unique string used to join the meeting. Format: `[a-z]+-[a-z]+-[a-z]+`. For example, `abc-mnop-xyz`. The maximum length is 128 characters. Can only be used as an alias of the space name to get the space.",
          "type": "string",
          "readOnly": true
        },
        "meetingUri": {
          "readOnly": true,
          "description": "Output only. URI used to join meetings consisting of `https://meet.google.com/` followed by the `meeting_code`. For example, `https://meet.google.com/abc-mnop-xyz`.",
          "type": "string"
        },
        "name": {
          "type": "string",
          "description": "Immutable. Resource name of the space. Format: `spaces/{space}`. `{space}` is the resource identifier for the space. It's a unique, server-generated ID and is case sensitive. For example, `jQCFfuBOdN5z`. For more information, see [How Meet identifies a meeting space](https://developers.google.com/workspace/meet/api/guides/meeting-spaces#identify-meeting-space)."
        },
        "activeConference": {
          "description": "Active conference, if it exists.",
          "$ref": "ActiveConference"
        },
        "config": {
          "description": "Configuration pertaining to the meeting space.",
          "$ref": "SpaceConfig"
        }
      },
      "id": "Space",
      "description": "Virtual place where conferences are held. Only one active conference can be held in one space at any given time.",
      "type": "object"
    },
    "PhoneAccess": {
      "properties": {
        "regionCode": {
          "type": "string",
          "description": "The CLDR/ISO 3166 region code for the country associated with this phone access. To be parsed by the i18n RegionCode utility. Example: \"SE\" for Sweden."
        },
        "pin": {
          "description": "The PIN that users must enter after dialing the given number. The PIN consists of only decimal digits and the length may vary.",
          "type": "string"
        },
        "phoneNumber": {
          "description": "The phone number to dial for this meeting space in E.164 format. Full phone number with a leading '+' character.",
          "type": "string"
        },
        "languageCode": {
          "description": "The BCP 47/LDML language code for the language associated with this phone access. To be parsed by the i18n LanguageCode utility. Examples: \"es-419\" for Latin American Spanish, \"fr-CA\" for Canadian French.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "PhoneAccess",
      "description": "Phone access contains information required to dial into a conference using a regional phone number and a PIN that is specific to that phone number."
    }
  },
  "mtlsRootUrl": "https://meet.mtls.googleapis.com/",
  "servicePath": "",
  "batchPath": "batch",
  "version": "v2",
  "ownerDomain": "google.com",
  "canonicalName": "Meet",
  "name": "meet",
  "baseUrl": "https://meet.googleapis.com/",
  "id": "meet:v2",
  "kind": "discovery#restDescription",
  "fullyEncodeReservedExpansion": true
}
