{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/google/main/json-schema/google-query-drive-activity-response-schema.json", "title": "QueryDriveActivityResponse", "description": "Response message for querying Drive activity.", "x-generated": "2026-10-03", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/google-activity-api-openapi.yml#/components/schemas/QueryDriveActivityResponse", "properties": { "activities": { "description": "List of activity requested.", "items": { "$ref": "#/$defs/DriveActivity" }, "type": "array" }, "nextPageToken": { "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" } }, "type": "object", "$defs": { "Action": { "description": "Information about the action.", "properties": { "actor": { "$ref": "#/$defs/Actor", "description": "The actor responsible for this action (or empty if all actors are responsible)." }, "detail": { "$ref": "#/$defs/ActionDetail", "description": "The type and detailed information about the action." }, "target": { "$ref": "#/$defs/Target", "description": "The target this action affects (or empty if affecting all targets). This represents the state of the target immediately after this action occurred." }, "timeRange": { "$ref": "#/$defs/TimeRange", "description": "The action occurred over this time range." }, "timestamp": { "description": "The action occurred at this specific time.", "format": "google-datetime", "type": "string" } }, "type": "object" }, "ActionDetail": { "description": "Data describing the type and additional information of an action.", "properties": { "appliedLabelChange": { "$ref": "#/$defs/AppliedLabelChange", "description": "Label was changed." }, "comment": { "$ref": "#/$defs/Comment", "description": "A change about comments was made." }, "create": { "$ref": "#/$defs/Create", "description": "An object was created." }, "delete": { "$ref": "#/$defs/Delete", "description": "An object was deleted." }, "dlpChange": { "$ref": "#/$defs/DataLeakPreventionChange", "description": "A change happened in data leak prevention status." }, "edit": { "$ref": "#/$defs/Edit", "description": "An object was edited." }, "move": { "$ref": "#/$defs/Move", "description": "An object was moved." }, "permissionChange": { "$ref": "#/$defs/PermissionChange", "description": "The permission on an object was changed." }, "reference": { "$ref": "#/$defs/ApplicationReference", "description": "An object was referenced in an application outside of Drive/Docs." }, "rename": { "$ref": "#/$defs/Rename", "description": "An object was renamed." }, "restore": { "$ref": "#/$defs/Restore", "description": "A deleted object was restored." }, "settingsChange": { "$ref": "#/$defs/SettingsChange", "description": "Settings were changed." } }, "type": "object" }, "Actor": { "description": "The actor of a Drive activity.", "properties": { "administrator": { "$ref": "#/$defs/Administrator", "description": "An administrator." }, "anonymous": { "$ref": "#/$defs/AnonymousUser", "description": "An anonymous user." }, "impersonation": { "$ref": "#/$defs/Impersonation", "description": "An account acting on behalf of another." }, "system": { "$ref": "#/$defs/SystemEvent", "description": "A non-user actor (i.e. system triggered)." }, "user": { "$ref": "#/$defs/User", "description": "An end user." } }, "type": "object" }, "Administrator": { "description": "Empty message representing an administrator.", "properties": {}, "type": "object" }, "AnonymousUser": { "description": "Empty message representing an anonymous user or indicating the authenticated user should be anonymized.", "properties": {}, "type": "object" }, "Anyone": { "description": "Represents any user (including a logged out user).", "properties": {}, "type": "object" }, "ApplicationReference": { "description": "Activity in applications other than Drive.", "properties": { "type": { "description": "The reference type corresponding to this event.", "enum": [ "UNSPECIFIED_REFERENCE_TYPE", "LINK", "DISCUSS" ], "type": "string" } }, "type": "object" }, "AppliedLabelChange": { "description": "Label changes that were made on the Target.", "properties": { "changes": { "description": "Changes that were made to the Label on the Target.", "items": { "$ref": "#/$defs/AppliedLabelChangeDetail" }, "type": "array" } }, "type": "object" }, "AppliedLabelChangeDetail": { "description": "A change made to a Label on the Target.", "properties": { "fieldChanges": { "description": "Field Changes. Only present if `types` contains `LABEL_FIELD_VALUE_CHANGED`.", "items": { "$ref": "#/$defs/FieldValueChange" }, "type": "array" }, "label": { "description": "The Label name representing the Label that changed. This name always contains the revision of the Label that was used when this Action occurred. The format is `labels/id@revision`.", "type": "string" }, "title": { "description": "The human-readable title of the label that changed.", "type": "string" }, "types": { "description": "The types of changes made to the Label on the Target.", "items": { "enum": [ "TYPE_UNSPECIFIED", "LABEL_ADDED", "LABEL_REMOVED", "LABEL_FIELD_VALUE_CHANGED", "LABEL_APPLIED_BY_ITEM_CREATE" ], "type": "string" }, "type": "array" } }, "type": "object" }, "Assignment": { "description": "A comment with an assignment.", "properties": { "assignedUser": { "$ref": "#/$defs/User", "description": "The user to whom the comment was assigned." }, "subtype": { "description": "The sub-type of this event.", "enum": [ "SUBTYPE_UNSPECIFIED", "ADDED", "DELETED", "REPLY_ADDED", "REPLY_DELETED", "RESOLVED", "REOPENED", "REASSIGNED" ], "type": "string" } }, "type": "object" }, "Comment": { "description": "A change about comments on an object.", "properties": { "assignment": { "$ref": "#/$defs/Assignment", "description": "A change on an assignment." }, "mentionedUsers": { "description": "Users who are mentioned in this comment.", "items": { "$ref": "#/$defs/User" }, "type": "array" }, "post": { "$ref": "#/$defs/Post", "description": "A change on a regular posted comment." }, "suggestion": { "$ref": "#/$defs/Suggestion", "description": "A change on a suggestion." } }, "type": "object" }, "Copy": { "description": "An object was created by copying an existing object.", "properties": { "originalObject": { "$ref": "#/$defs/TargetReference", "description": "The original object." } }, "type": "object" }, "Create": { "description": "An object was created.", "properties": { "copy": { "$ref": "#/$defs/Copy", "description": "If present, indicates the object was created by copying an existing Drive object." }, "new": { "$ref": "#/$defs/New", "description": "If present, indicates the object was newly created (e.g. as a blank document), not derived from a Drive object or external object." }, "upload": { "$ref": "#/$defs/Upload", "description": "If present, indicates the object originated externally and was uploaded to Drive." } }, "type": "object" }, "DataLeakPreventionChange": { "description": "A change in the object's data leak prevention status.", "properties": { "type": { "description": "The type of Data Leak Prevention (DLP) change.", "enum": [ "TYPE_UNSPECIFIED", "FLAGGED", "CLEARED" ], "type": "string" } }, "type": "object" }, "Date": { "description": "Wrapper for Date Field value.", "properties": { "value": { "description": "Date value.", "format": "google-datetime", "type": "string" } }, "type": "object" }, "Delete": { "description": "An object was deleted.", "properties": { "type": { "description": "The type of delete action taken.", "enum": [ "TYPE_UNSPECIFIED", "TRASH", "PERMANENT_DELETE" ], "type": "string" } }, "type": "object" }, "DeletedUser": { "description": "A user whose account has since been deleted.", "properties": {}, "type": "object" }, "Domain": { "description": "Information about a domain.", "properties": { "legacyId": { "description": "An opaque string used to identify this domain.", "type": "string" }, "name": { "description": "The name of the domain, e.g. `google.com`.", "type": "string" } }, "type": "object" }, "Drive": { "description": "Information about a shared drive.", "properties": { "name": { "description": "The resource name of the shared drive. The format is `COLLECTION_ID/DRIVE_ID`. Clients should not assume a specific collection ID for this resource name.", "type": "string" }, "root": { "$ref": "#/$defs/DriveItem", "description": "The root of this shared drive." }, "title": { "description": "The title of the shared drive.", "type": "string" } }, "type": "object" }, "DriveActivity": { "description": "A single Drive activity comprising one or more Actions by one or more Actors on one or more Targets. Some Action groupings occur spontaneously, such as moving an item into a shared folder triggering a permission change. Other groupings of related Actions, such as multiple Actors editing one item or moving multiple files into a new folder, are controlled by the selection of a ConsolidationStrategy in the QueryDriveActivityRequest.", "properties": { "actions": { "description": "Details on all actions in this activity.", "items": { "$ref": "#/$defs/Action" }, "type": "array" }, "actors": { "description": "All actor(s) responsible for the activity.", "items": { "$ref": "#/$defs/Actor" }, "type": "array" }, "primaryActionDetail": { "$ref": "#/$defs/ActionDetail", "description": "Key information about the primary action for this activity. This is either representative, or the most important, of all actions in the activity, according to the ConsolidationStrategy in the request." }, "targets": { "description": "All Google Drive objects this activity is about (e.g. file, folder, drive). This represents the state of the target immediately after the actions occurred.", "items": { "$ref": "#/$defs/Target" }, "type": "array" }, "timeRange": { "$ref": "#/$defs/TimeRange", "description": "The activity occurred over this time range." }, "timestamp": { "description": "The activity occurred at this specific time.", "format": "google-datetime", "type": "string" } }, "type": "object" }, "DriveFile": { "description": "A Drive item which is a file.", "properties": {}, "type": "object" }, "DriveFolder": { "description": "A Drive item which is a folder.", "properties": { "type": { "description": "The type of Drive folder.", "enum": [ "TYPE_UNSPECIFIED", "MY_DRIVE_ROOT", "SHARED_DRIVE_ROOT", "STANDARD_FOLDER" ], "type": "string" } }, "type": "object" }, "DriveItem": { "description": "A Drive item, such as a file or folder.", "properties": { "driveFile": { "$ref": "#/$defs/DriveFile", "description": "The Drive item is a file." }, "driveFolder": { "$ref": "#/$defs/DriveFolder", "description": "The Drive item is a folder. Includes information about the type of folder." }, "file": { "$ref": "#/$defs/File", "deprecated": true, "description": "This field is deprecated; please use the `driveFile` field instead." }, "folder": { "$ref": "#/$defs/Folder", "deprecated": true, "description": "This field is deprecated; please use the `driveFolder` field instead." }, "mimeType": { "description": "The MIME type of the Drive item. See https://developers.google.com/drive/v3/web/mime-types.", "type": "string" }, "name": { "description": "The target Drive item. The format is `items/ITEM_ID`.", "type": "string" }, "owner": { "$ref": "#/$defs/Owner", "description": "Information about the owner of this Drive item." }, "title": { "description": "The title of the Drive item.", "type": "string" } }, "type": "object" }, "DriveItemReference": { "description": "A lightweight reference to a Drive item, such as a file or folder.", "properties": { "driveFile": { "$ref": "#/$defs/DriveFile", "description": "The Drive item is a file." }, "driveFolder": { "$ref": "#/$defs/DriveFolder", "description": "The Drive item is a folder. Includes information about the type of folder." }, "file": { "$ref": "#/$defs/File", "deprecated": true, "description": "This field is deprecated; please use the `driveFile` field instead." }, "folder": { "$ref": "#/$defs/Folder", "deprecated": true, "description": "This field is deprecated; please use the `driveFolder` field instead." }, "name": { "description": "The target Drive item. The format is `items/ITEM_ID`.", "type": "string" }, "title": { "description": "The title of the Drive item.", "type": "string" } }, "type": "object" }, "DriveReference": { "description": "A lightweight reference to a shared drive.", "properties": { "name": { "description": "The resource name of the shared drive. The format is `COLLECTION_ID/DRIVE_ID`. Clients should not assume a specific collection ID for this resource name.", "type": "string" }, "title": { "description": "The title of the shared drive.", "type": "string" } }, "type": "object" }, "Edit": { "description": "An empty message indicating an object was edited.", "properties": {}, "type": "object" }, "FieldValue": { "description": "Contains a value of a Field.", "properties": { "date": { "$ref": "#/$defs/Date", "description": "Date Field value." }, "integer": { "$ref": "#/$defs/Integer", "description": "Integer Field value." }, "selection": { "$ref": "#/$defs/Selection", "description": "Selection Field value." }, "selectionList": { "$ref": "#/$defs/SelectionList", "description": "Selection List Field value." }, "text": { "$ref": "#/$defs/Text", "description": "Text Field value." }, "textList": { "$ref": "#/$defs/TextList", "description": "Text List Field value." }, "user": { "$ref": "#/$defs/SingleUser", "description": "User Field value." }, "userList": { "$ref": "#/$defs/UserList", "description": "User List Field value." } }, "type": "object" }, "FieldValueChange": { "description": "Change to a Field value.", "properties": { "displayName": { "description": "The human-readable display name for this field.", "type": "string" }, "fieldId": { "description": "The ID of this field. Field IDs are unique within a Label.", "type": "string" }, "newValue": { "$ref": "#/$defs/FieldValue", "description": "The value that is now set on the field. If not present, the field was cleared. At least one of {old_value|new_value} is always set." }, "oldValue": { "$ref": "#/$defs/FieldValue", "description": "The value that was previously set on the field. If not present, the field was newly set. At least one of {old_value|new_value} is always set." } }, "type": "object" }, "File": { "deprecated": true, "description": "This item is deprecated; please see `DriveFile` instead.", "properties": {}, "type": "object" }, "FileComment": { "description": "A comment on a file.", "properties": { "legacyCommentId": { "description": "The comment in the discussion thread. This identifier is an opaque string compatible with the Drive API; see https://developers.google.com/drive/v3/reference/comments/get", "type": "string" }, "legacyDiscussionId": { "description": "The discussion thread to which the comment was added. This identifier is an opaque string compatible with the Drive API and references the first comment in a discussion; see https://developers.google.com/drive/v3/reference/comments/get", "type": "string" }, "linkToDiscussion": { "description": "The link to the discussion thread containing this comment, for example, `https://docs.google.com/DOCUMENT_ID/edit?disco=THREAD_ID`.", "type": "string" }, "parent": { "$ref": "#/$defs/DriveItem", "description": "The Drive item containing this comment." } }, "type": "object" }, "Folder": { "deprecated": true, "description": "This item is deprecated; please see `DriveFolder` instead.", "properties": { "type": { "description": "This field is deprecated; please see `DriveFolder.type` instead.", "enum": [ "TYPE_UNSPECIFIED", "MY_DRIVE_ROOT", "TEAM_DRIVE_ROOT", "STANDARD_FOLDER" ], "type": "string" } }, "type": "object" }, "Group": { "description": "Information about a group.", "properties": { "email": { "description": "The email address of the group.", "type": "string" }, "title": { "description": "The title of the group.", "type": "string" } }, "type": "object" }, "Impersonation": { "description": "Information about an impersonation, where an admin acts on behalf of an end user. Information about the acting admin is not currently available.", "properties": { "impersonatedUser": { "$ref": "#/$defs/User", "description": "The impersonated user." } }, "type": "object" }, "Integer": { "description": "Wrapper for Integer Field value.", "properties": { "value": { "description": "Integer value.", "format": "int64", "type": "string" } }, "type": "object" }, "KnownUser": { "description": "A known user.", "properties": { "isCurrentUser": { "description": "True if this is the user making the request.", "type": "boolean" }, "personName": { "description": "The identifier for this user that can be used with the People API to get more information. The format is `people/ACCOUNT_ID`. See https://developers.google.com/people/.", "type": "string" } }, "type": "object" }, "Move": { "description": "An object was moved.", "properties": { "addedParents": { "description": "The added parent object(s).", "items": { "$ref": "#/$defs/TargetReference" }, "type": "array" }, "removedParents": { "description": "The removed parent object(s).", "items": { "$ref": "#/$defs/TargetReference" }, "type": "array" } }, "type": "object" }, "New": { "description": "An object was created from scratch.", "properties": {}, "type": "object" }, "Owner": { "description": "Information about the owner of a Drive item.", "properties": { "domain": { "$ref": "#/$defs/Domain", "description": "The domain of the Drive item owner." }, "drive": { "$ref": "#/$defs/DriveReference", "description": "The drive that owns the item." }, "teamDrive": { "$ref": "#/$defs/TeamDriveReference", "deprecated": true, "description": "This field is deprecated; please use the `drive` field instead." }, "user": { "$ref": "#/$defs/User", "description": "The user that owns the Drive item." } }, "type": "object" }, "Permission": { "description": "The permission setting of an object.", "properties": { "allowDiscovery": { "description": "If true, the item can be discovered (e.g. in the user's \"Shared with me\" collection) without needing a link to the item.", "type": "boolean" }, "anyone": { "$ref": "#/$defs/Anyone", "description": "If set, this permission applies to anyone, even logged out users." }, "domain": { "$ref": "#/$defs/Domain", "description": "The domain to whom this permission applies." }, "group": { "$ref": "#/$defs/Group", "description": "The group to whom this permission applies." }, "role": { "description": "Indicates the [Google Drive permissions role](https://developers.google.com/drive/web/manage-sharing#roles). The role determines a user's ability to read, write, and comment on items.", "enum": [ "ROLE_UNSPECIFIED", "OWNER", "ORGANIZER", "FILE_ORGANIZER", "EDITOR", "COMMENTER", "VIEWER", "PUBLISHED_VIEWER" ], "type": "string" }, "user": { "$ref": "#/$defs/User", "description": "The user to whom this permission applies." } }, "type": "object" }, "PermissionChange": { "description": "A change of the permission setting on an item.", "properties": { "addedPermissions": { "description": "The set of permissions added by this change.", "items": { "$ref": "#/$defs/Permission" }, "type": "array" }, "removedPermissions": { "description": "The set of permissions removed by this change.", "items": { "$ref": "#/$defs/Permission" }, "type": "array" } }, "type": "object" }, "Post": { "description": "A regular posted comment.", "properties": { "subtype": { "description": "The sub-type of this event.", "enum": [ "SUBTYPE_UNSPECIFIED", "ADDED", "DELETED", "REPLY_ADDED", "REPLY_DELETED", "RESOLVED", "REOPENED" ], "type": "string" } }, "type": "object" }, "Rename": { "description": "An object was renamed.", "properties": { "newTitle": { "description": "The new title of the drive object.", "type": "string" }, "oldTitle": { "description": "The previous title of the drive object.", "type": "string" } }, "type": "object" }, "Restore": { "description": "A deleted object was restored.", "properties": { "type": { "description": "The type of restore action taken.", "enum": [ "TYPE_UNSPECIFIED", "UNTRASH" ], "type": "string" } }, "type": "object" }, "RestrictionChange": { "description": "Information about restriction policy changes to a feature.", "properties": { "feature": { "description": "The feature which had a change in restriction policy.", "enum": [ "FEATURE_UNSPECIFIED", "SHARING_OUTSIDE_DOMAIN", "DIRECT_SHARING", "ITEM_DUPLICATION", "DRIVE_FILE_STREAM", "FILE_ORGANIZER_CAN_SHARE_FOLDERS" ], "type": "string" }, "newRestriction": { "description": "The restriction in place after the change.", "enum": [ "RESTRICTION_UNSPECIFIED", "UNRESTRICTED", "FULLY_RESTRICTED" ], "type": "string" } }, "type": "object" }, "Selection": { "description": "Wrapper for Selection Field value as combined value/display_name pair for selected choice.", "properties": { "displayName": { "description": "Selection value as human-readable display string.", "type": "string" }, "value": { "description": "Selection value as Field Choice ID.", "type": "string" } }, "type": "object" }, "SelectionList": { "description": "Wrapper for SelectionList Field value.", "properties": { "values": { "description": "Selection values.", "items": { "$ref": "#/$defs/Selection" }, "type": "array" } }, "type": "object" }, "SettingsChange": { "description": "Information about settings changes.", "properties": { "restrictionChanges": { "description": "The set of changes made to restrictions.", "items": { "$ref": "#/$defs/RestrictionChange" }, "type": "array" } }, "type": "object" }, "SingleUser": { "description": "Wrapper for User Field value.", "properties": { "value": { "description": "User value as email.", "type": "string" } }, "type": "object" }, "Suggestion": { "description": "A suggestion.", "properties": { "subtype": { "description": "The sub-type of this event.", "enum": [ "SUBTYPE_UNSPECIFIED", "ADDED", "DELETED", "REPLY_ADDED", "REPLY_DELETED", "ACCEPTED", "REJECTED", "ACCEPT_DELETED", "REJECT_DELETED" ], "type": "string" } }, "type": "object" }, "SystemEvent": { "description": "Event triggered by system operations instead of end users.", "properties": { "type": { "description": "The type of the system event that may triggered activity.", "enum": [ "TYPE_UNSPECIFIED", "USER_DELETION", "TRASH_AUTO_PURGE" ], "type": "string" } }, "type": "object" }, "Target": { "description": "Information about the target of activity. For more information on how activity history is shared with users, see [Activity history visibility](https://developers.google.com/drive/activity/v2#activityhistory).", "properties": { "drive": { "$ref": "#/$defs/Drive", "description": "The target is a shared drive." }, "driveItem": { "$ref": "#/$defs/DriveItem", "description": "The target is a Drive item." }, "fileComment": { "$ref": "#/$defs/FileComment", "description": "The target is a comment on a Drive file." }, "teamDrive": { "$ref": "#/$defs/TeamDrive", "deprecated": true, "description": "This field is deprecated; please use the `drive` field instead." } }, "type": "object" }, "TargetReference": { "description": "A lightweight reference to the target of activity.", "properties": { "drive": { "$ref": "#/$defs/DriveReference", "description": "The target is a shared drive." }, "driveItem": { "$ref": "#/$defs/DriveItemReference", "description": "The target is a Drive item." }, "teamDrive": { "$ref": "#/$defs/TeamDriveReference", "deprecated": true, "description": "This field is deprecated; please use the `drive` field instead." } }, "type": "object" }, "TeamDrive": { "deprecated": true, "description": "This item is deprecated; please see `Drive` instead.", "properties": { "name": { "description": "This field is deprecated; please see `Drive.name` instead.", "type": "string" }, "root": { "$ref": "#/$defs/DriveItem", "description": "This field is deprecated; please see `Drive.root` instead." }, "title": { "description": "This field is deprecated; please see `Drive.title` instead.", "type": "string" } }, "type": "object" }, "TeamDriveReference": { "deprecated": true, "description": "This item is deprecated; please see `DriveReference` instead.", "properties": { "name": { "description": "This field is deprecated; please see `DriveReference.name` instead.", "type": "string" }, "title": { "description": "This field is deprecated; please see `DriveReference.title` instead.", "type": "string" } }, "type": "object" }, "Text": { "description": "Wrapper for Text Field value.", "properties": { "value": { "description": "Value of Text Field.", "type": "string" } }, "type": "object" }, "TextList": { "description": "Wrapper for Text List Field value.", "properties": { "values": { "description": "Text values.", "items": { "$ref": "#/$defs/Text" }, "type": "array" } }, "type": "object" }, "TimeRange": { "description": "Information about time ranges.", "properties": { "endTime": { "description": "The end of the time range.", "format": "google-datetime", "type": "string" }, "startTime": { "description": "The start of the time range.", "format": "google-datetime", "type": "string" } }, "type": "object" }, "UnknownUser": { "description": "A user about whom nothing is currently known.", "properties": {}, "type": "object" }, "Upload": { "description": "An object was uploaded into Drive.", "properties": {}, "type": "object" }, "User": { "description": "Information about an end user.", "properties": { "deletedUser": { "$ref": "#/$defs/DeletedUser", "description": "A user whose account has since been deleted." }, "knownUser": { "$ref": "#/$defs/KnownUser", "description": "A known user." }, "unknownUser": { "$ref": "#/$defs/UnknownUser", "description": "A user about whom nothing is currently known." } }, "type": "object" }, "UserList": { "description": "Wrapper for UserList Field value.", "properties": { "values": { "description": "User values.", "items": { "$ref": "#/$defs/SingleUser" }, "type": "array" } }, "type": "object" } } }