{
  "version_module": true,
  "ownerDomain": "google.com",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "description": "Programmatically create and access your asynchronous coding tasks.",
  "schemas": {
    "Session": {
      "id": "Session",
      "description": "next_id: 19 A session is a contiguous amount of work within the same context.",
      "type": "object",
      "properties": {
        "name": {
          "description": "Output only. Identifier. The full resource name (e.g., \"sessions/{session}\").",
          "readOnly": true,
          "type": "string"
        },
        "id": {
          "description": "Output only. The id of the session. This is the same as the \"{session}\" part of the resource name (e.g., \"sessions/{session}\").",
          "readOnly": true,
          "type": "string"
        },
        "prompt": {
          "description": "Required. The prompt to start the session with.",
          "type": "string"
        },
        "sourceContext": {
          "description": "Optional. The source to use in this session, with additional context. If not provided, Jules will start from scratch.",
          "$ref": "SourceContext"
        },
        "title": {
          "description": "Optional. If not provided, the system will generate one.",
          "type": "string"
        },
        "requirePlanApproval": {
          "description": "Optional. Input only. If true, plans the agent generates will require explicit plan approval before the agent starts working. If not set, plans will be auto-approved.",
          "type": "boolean"
        },
        "automationMode": {
          "description": "Optional. Input only. The automation mode of the session. If not set, the default automation mode will be used.",
          "type": "string",
          "enumDescriptions": [
            "The automation mode is unspecified. Default to no automation.",
            "Whenever a final code patch is generated in the session, automatically create a branch and a pull request for it, if applicable."
          ],
          "enum": [
            "AUTOMATION_MODE_UNSPECIFIED",
            "AUTO_CREATE_PR"
          ]
        },
        "createTime": {
          "description": "Output only. The time the session was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "updateTime": {
          "description": "Output only. The time the session was last updated.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "state": {
          "description": "Output only. The state of the session.",
          "readOnly": true,
          "type": "string",
          "enumDescriptions": [
            "The state is unspecified.",
            "The session is queued.",
            "Deprecated: This state is no longer used. The agent is planning.",
            "The agent is waiting for plan approval.",
            "The agent is waiting for user feedback.",
            "The session is in progress.",
            "The session is paused.",
            "The session has failed.",
            "The session has completed."
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            false,
            false,
            false,
            false,
            false
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "QUEUED",
            "PLANNING",
            "AWAITING_PLAN_APPROVAL",
            "AWAITING_USER_FEEDBACK",
            "IN_PROGRESS",
            "PAUSED",
            "FAILED",
            "COMPLETED"
          ]
        },
        "url": {
          "description": "Output only. The URL of the session to view the session in the Jules web app.",
          "readOnly": true,
          "type": "string"
        },
        "outputs": {
          "description": "Output only. The outputs of the session, if any.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "SessionOutput"
          }
        },
        "archived": {
          "description": "Output only. Whether the session is archived.",
          "readOnly": true,
          "type": "boolean"
        }
      }
    },
    "SourceContext": {
      "id": "SourceContext",
      "description": "Context for how to use a source in a session.",
      "type": "object",
      "properties": {
        "githubRepoContext": {
          "description": "Context to use a GitHubRepo in a session.",
          "$ref": "GitHubRepoContext"
        },
        "source": {
          "description": "Required. The name of the source this context is for. To get the list of sources, use the ListSources API. Format: sources/{source}",
          "type": "string"
        },
        "workingBranch": {
          "description": "Optional. The branch to push to for the session. Only used if the session is set to automatically create a branch through automation mode. If not provided, a branch name will be generated when needed.",
          "type": "string"
        },
        "environmentVariablesEnabled": {
          "description": "Optional. Enables environment variables in the session. If true, the session will use environment variables configured for this source.",
          "type": "boolean"
        }
      }
    },
    "GitHubRepoContext": {
      "id": "GitHubRepoContext",
      "description": "Context to use a GitHubRepo in a session.",
      "type": "object",
      "properties": {
        "startingBranch": {
          "description": "Required. The name of the branch to start the session from.",
          "type": "string"
        }
      }
    },
    "SessionOutput": {
      "id": "SessionOutput",
      "description": "An output of a session.",
      "type": "object",
      "properties": {
        "pullRequest": {
          "description": "A pull request created by the session, if applicable.",
          "$ref": "PullRequest"
        },
        "changeSet": {
          "description": "A change set created by the session, if applicable.",
          "$ref": "ChangeSet"
        }
      }
    },
    "PullRequest": {
      "id": "PullRequest",
      "description": "A pull request.",
      "type": "object",
      "properties": {
        "url": {
          "description": "The URL of the pull request.",
          "type": "string"
        },
        "title": {
          "description": "The title of the pull request.",
          "type": "string"
        },
        "description": {
          "description": "The description of the pull request.",
          "type": "string"
        },
        "baseRef": {
          "description": "The base branch name of the pull request (e.g., \"main\").",
          "type": "string"
        },
        "headRef": {
          "description": "The head branch name of the pull request (e.g., \"feature-x\").",
          "type": "string"
        }
      }
    },
    "ChangeSet": {
      "id": "ChangeSet",
      "description": "A set of changes to be applied to a source.",
      "type": "object",
      "properties": {
        "gitPatch": {
          "description": "A patch in Git format.",
          "$ref": "GitPatch"
        },
        "source": {
          "description": "The name of the source this change set applies to. Format: sources/{source}",
          "type": "string"
        }
      }
    },
    "GitPatch": {
      "id": "GitPatch",
      "description": "A patch in Git format.",
      "type": "object",
      "properties": {
        "unidiffPatch": {
          "description": "The patch in unidiff format.",
          "type": "string"
        },
        "baseCommitId": {
          "description": "The base commit id of the patch. This is the id of the commit that the patch should be applied to.",
          "type": "string"
        },
        "suggestedCommitMessage": {
          "description": "A suggested commit message for the patch, if one is generated.",
          "type": "string"
        }
      }
    },
    "ListSessionsResponse": {
      "id": "ListSessionsResponse",
      "description": "Response message for ListSessions.",
      "type": "object",
      "properties": {
        "sessions": {
          "description": "The sessions from the specified request.",
          "type": "array",
          "items": {
            "$ref": "Session"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "Empty": {
      "id": "Empty",
      "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",
      "properties": {}
    },
    "Activity": {
      "id": "Activity",
      "description": "An activity is a single unit of work within a session.",
      "type": "object",
      "properties": {
        "agentMessaged": {
          "description": "The agent posted a message.",
          "$ref": "AgentMessaged"
        },
        "userMessaged": {
          "description": "The user posted a message.",
          "$ref": "UserMessaged"
        },
        "planGenerated": {
          "description": "A plan was generated.",
          "$ref": "PlanGenerated"
        },
        "planApproved": {
          "description": "A plan was approved.",
          "$ref": "PlanApproved"
        },
        "progressUpdated": {
          "description": "There was a progress update.",
          "$ref": "ProgressUpdated"
        },
        "sessionCompleted": {
          "description": "The session was completed.",
          "$ref": "SessionCompleted"
        },
        "sessionFailed": {
          "description": "The session failed.",
          "$ref": "SessionFailed"
        },
        "name": {
          "description": "Identifier. The full resource name (e.g., \"sessions/{session}/activities/{activity}\").",
          "type": "string"
        },
        "id": {
          "description": "Output only. The id of the activity. This is the same as the \"{activity}\" part of the resource name (e.g., \"sessions/{session}/activities/{activity}\").",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. A description of this activity.",
          "readOnly": true,
          "type": "string"
        },
        "createTime": {
          "description": "Output only. The time at which this activity was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        },
        "originator": {
          "description": "The entity that this activity originated from (e.g. \"user\", \"agent\", \"system\").",
          "type": "string"
        },
        "artifacts": {
          "description": "Output only. The artifacts produced by this activity.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "Artifact"
          }
        }
      }
    },
    "AgentMessaged": {
      "id": "AgentMessaged",
      "description": "The agent posted a message.",
      "type": "object",
      "properties": {
        "agentMessage": {
          "description": "The message the agent posted.",
          "type": "string"
        }
      }
    },
    "UserMessaged": {
      "id": "UserMessaged",
      "description": "The user posted a message.",
      "type": "object",
      "properties": {
        "userMessage": {
          "description": "The message the user posted.",
          "type": "string"
        }
      }
    },
    "PlanGenerated": {
      "id": "PlanGenerated",
      "description": "A plan was generated.",
      "type": "object",
      "properties": {
        "plan": {
          "description": "The plan that was generated.",
          "$ref": "Plan"
        }
      }
    },
    "Plan": {
      "id": "Plan",
      "description": "A plan is a sequence of steps that the agent will take to complete the task.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Output only. ID for this plan; unique within a session.",
          "readOnly": true,
          "type": "string"
        },
        "steps": {
          "description": "Output only. The steps in the plan.",
          "readOnly": true,
          "type": "array",
          "items": {
            "$ref": "PlanStep"
          }
        },
        "createTime": {
          "description": "Output only. Time when the plan was created.",
          "readOnly": true,
          "type": "string",
          "format": "google-datetime"
        }
      }
    },
    "PlanStep": {
      "id": "PlanStep",
      "description": "A step in a plan.",
      "type": "object",
      "properties": {
        "id": {
          "description": "Output only. ID for this step; unique within a plan.",
          "readOnly": true,
          "type": "string"
        },
        "title": {
          "description": "Output only. The title of the step.",
          "readOnly": true,
          "type": "string"
        },
        "description": {
          "description": "Output only. The description of the step.",
          "readOnly": true,
          "type": "string"
        },
        "index": {
          "description": "Output only. 0-based index into the plan.steps.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "PlanApproved": {
      "id": "PlanApproved",
      "description": "A plan was approved.",
      "type": "object",
      "properties": {
        "planId": {
          "description": "The ID of the plan that was approved.",
          "type": "string"
        }
      }
    },
    "ProgressUpdated": {
      "id": "ProgressUpdated",
      "description": "There was a progress update.",
      "type": "object",
      "properties": {
        "title": {
          "description": "The title of the progress update.",
          "type": "string"
        },
        "description": {
          "description": "The description of the progress update.",
          "type": "string"
        }
      }
    },
    "SessionCompleted": {
      "id": "SessionCompleted",
      "description": "The session was completed.",
      "type": "object",
      "properties": {}
    },
    "SessionFailed": {
      "id": "SessionFailed",
      "description": "The session failed.",
      "type": "object",
      "properties": {
        "reason": {
          "description": "The reason the session failed.",
          "type": "string"
        }
      }
    },
    "Artifact": {
      "id": "Artifact",
      "description": "An artifact is a single unit of data produced by an activity step.",
      "type": "object",
      "properties": {
        "changeSet": {
          "description": "A change set was produced (e.g. code changes).",
          "$ref": "ChangeSet"
        },
        "media": {
          "description": "A media file was produced (e.g. image, video).",
          "$ref": "Media"
        },
        "bashOutput": {
          "description": "A bash output was produced.",
          "$ref": "BashOutput"
        }
      }
    },
    "Media": {
      "id": "Media",
      "description": "A media output.",
      "type": "object",
      "properties": {
        "data": {
          "description": "The media data.",
          "type": "string",
          "format": "byte"
        },
        "mimeType": {
          "description": "The media mime type.",
          "type": "string"
        }
      }
    },
    "BashOutput": {
      "id": "BashOutput",
      "description": "A bash output.",
      "type": "object",
      "properties": {
        "command": {
          "description": "The bash command.",
          "type": "string"
        },
        "output": {
          "description": "The bash output. Includes both stdout and stderr.",
          "type": "string"
        },
        "exitCode": {
          "description": "The bash exit code.",
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "ListActivitiesResponse": {
      "id": "ListActivitiesResponse",
      "description": "Response message for the ListActivities RPC.",
      "type": "object",
      "properties": {
        "activities": {
          "description": "The activities from the specified session.",
          "type": "array",
          "items": {
            "$ref": "Activity"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    },
    "SendMessageRequest": {
      "id": "SendMessageRequest",
      "description": "Request message for the SendMessage RPC.",
      "type": "object",
      "properties": {
        "prompt": {
          "description": "Required. The user prompt to send to the session.",
          "type": "string"
        }
      }
    },
    "SendMessageResponse": {
      "id": "SendMessageResponse",
      "description": "Response message for the SendMessage RPC.",
      "type": "object",
      "properties": {}
    },
    "ApprovePlanRequest": {
      "id": "ApprovePlanRequest",
      "description": "Request message for the ApprovePlan RPC.",
      "type": "object",
      "properties": {}
    },
    "ApprovePlanResponse": {
      "id": "ApprovePlanResponse",
      "description": "Response message for the ApprovePlan RPC.",
      "type": "object",
      "properties": {}
    },
    "ArchiveSessionRequest": {
      "id": "ArchiveSessionRequest",
      "description": "Request message for ArchiveSession.",
      "type": "object",
      "properties": {}
    },
    "UnarchiveSessionRequest": {
      "id": "UnarchiveSessionRequest",
      "description": "Request message for UnarchiveSession.",
      "type": "object",
      "properties": {}
    },
    "Source": {
      "id": "Source",
      "description": "An input source of data for a session.",
      "type": "object",
      "properties": {
        "githubRepo": {
          "description": "A GitHub repo.",
          "$ref": "GitHubRepo"
        },
        "name": {
          "description": "Identifier. The full resource name (e.g., \"sources/{source}\").",
          "type": "string"
        },
        "id": {
          "description": "Output only. The id of the source. This is the same as the \"{source}\" part of the resource name (e.g., \"sources/{source}\").",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "GitHubRepo": {
      "id": "GitHubRepo",
      "description": "A GitHub repo.",
      "type": "object",
      "properties": {
        "owner": {
          "description": "The owner of the repo; the `` in `https://github.com//`.",
          "type": "string"
        },
        "repo": {
          "description": "The name of the repo; the `` in `https://github.com//`.",
          "type": "string"
        },
        "isPrivate": {
          "description": "Whether this repo is private.",
          "type": "boolean"
        },
        "defaultBranch": {
          "description": "The default branch for this repo.",
          "$ref": "GitHubBranch"
        },
        "branches": {
          "description": "The list of active branches for this repo.",
          "type": "array",
          "items": {
            "$ref": "GitHubBranch"
          }
        }
      }
    },
    "GitHubBranch": {
      "id": "GitHubBranch",
      "description": "A GitHub branch.",
      "type": "object",
      "properties": {
        "displayName": {
          "description": "The name of the GitHub branch.",
          "type": "string"
        }
      }
    },
    "ListSourcesResponse": {
      "id": "ListSourcesResponse",
      "description": "Response message for the ListSources RPC.",
      "type": "object",
      "properties": {
        "sources": {
          "description": "The sources from the specified request.",
          "type": "array",
          "items": {
            "$ref": "Source"
          }
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      }
    }
  },
  "documentationLink": "https://jules.google.com",
  "kind": "discovery#restDescription",
  "ownerName": "Google",
  "discoveryVersion": "v1",
  "revision": "20260525",
  "name": "jules",
  "protocol": "rest",
  "resources": {
    "sessions": {
      "methods": {
        "get": {
          "id": "jules.sessions.get",
          "path": "v1alpha/{+name}",
          "flatPath": "v1alpha/sessions/{sessionsId}",
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the session to retrieve. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Session"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Gets a single session."
        },
        "list": {
          "id": "jules.sessions.list",
          "path": "v1alpha/sessions",
          "flatPath": "v1alpha/sessions",
          "httpMethod": "GET",
          "parameters": {
            "pageSize": {
              "description": "Optional. The number of sessions to return. Must be between 1 and 100, inclusive. If unset, defaults to 30. If set to greater than 100, it will be coerced to 100.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Optional. A page token, received from a previous `ListSessions` call.",
              "location": "query",
              "type": "string"
            },
            "filter": {
              "description": "Optional. The filter expression for listing sessions based on AIP-160. If not set, only non-archived sessions will be returned. Currently supports filtering by archived. Example filters: - 'archived = false' (default, returns only non-archived sessions) - 'archived = true' (returns only archived sessions) - 'archived = true OR archived = false' (returns all sessions)",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [],
          "response": {
            "$ref": "ListSessionsResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Lists all sessions."
        },
        "create": {
          "id": "jules.sessions.create",
          "path": "v1alpha/sessions",
          "flatPath": "v1alpha/sessions",
          "httpMethod": "POST",
          "parameters": {},
          "parameterOrder": [],
          "request": {
            "$ref": "Session"
          },
          "response": {
            "$ref": "Session"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Creates a new session."
        },
        "delete": {
          "id": "jules.sessions.delete",
          "path": "v1alpha/{+name}",
          "flatPath": "v1alpha/sessions/{sessionsId}",
          "httpMethod": "DELETE",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the session to delete. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Empty"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Deletes a session."
        },
        "sendMessage": {
          "id": "jules.sessions.sendMessage",
          "path": "v1alpha/{+session}:sendMessage",
          "flatPath": "v1alpha/sessions/{sessionsId}:sendMessage",
          "httpMethod": "POST",
          "parameters": {
            "session": {
              "description": "Required. The resource name of the session to post the message to. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "session"
          ],
          "request": {
            "$ref": "SendMessageRequest"
          },
          "response": {
            "$ref": "SendMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Sends a message from the user to a session."
        },
        "approvePlan": {
          "id": "jules.sessions.approvePlan",
          "path": "v1alpha/{+session}:approvePlan",
          "flatPath": "v1alpha/sessions/{sessionsId}:approvePlan",
          "httpMethod": "POST",
          "parameters": {
            "session": {
              "description": "Required. The resource name of the session to approve the plan in. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "session"
          ],
          "request": {
            "$ref": "ApprovePlanRequest"
          },
          "response": {
            "$ref": "ApprovePlanResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Approves a plan in a session."
        },
        "archive": {
          "id": "jules.sessions.archive",
          "path": "v1alpha/{+name}:archive",
          "flatPath": "v1alpha/sessions/{sessionsId}:archive",
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the session to archive. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "request": {
            "$ref": "ArchiveSessionRequest"
          },
          "response": {
            "$ref": "Session"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Archives a session."
        },
        "unarchive": {
          "id": "jules.sessions.unarchive",
          "path": "v1alpha/{+name}:unarchive",
          "flatPath": "v1alpha/sessions/{sessionsId}:unarchive",
          "httpMethod": "POST",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the session to unarchive. Format: sessions/{session}",
              "pattern": "^sessions/[^/]+$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "request": {
            "$ref": "UnarchiveSessionRequest"
          },
          "response": {
            "$ref": "Session"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Unarchives a session."
        }
      },
      "resources": {
        "activities": {
          "methods": {
            "get": {
              "id": "jules.sessions.activities.get",
              "path": "v1alpha/{+name}",
              "flatPath": "v1alpha/sessions/{sessionsId}/activities/{activitiesId}",
              "httpMethod": "GET",
              "parameters": {
                "name": {
                  "description": "Required. The resource name of the activity to retrieve. Format: sessions/{session}/activities/{activity}",
                  "pattern": "^sessions/[^/]+/activities/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                }
              },
              "parameterOrder": [
                "name"
              ],
              "response": {
                "$ref": "Activity"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Gets a single activity."
            },
            "list": {
              "id": "jules.sessions.activities.list",
              "path": "v1alpha/{+parent}/activities",
              "flatPath": "v1alpha/sessions/{sessionsId}/activities",
              "httpMethod": "GET",
              "parameters": {
                "parent": {
                  "description": "Required. The parent session, which owns this collection of activities. Format: sessions/{session}",
                  "pattern": "^sessions/[^/]+$",
                  "location": "path",
                  "required": true,
                  "type": "string"
                },
                "pageSize": {
                  "description": "Optional. The number of activities to return. Must be between 1 and 100, inclusive. If unset, defaults to 50. If set to greater than 100, it will be coerced to 100.",
                  "location": "query",
                  "type": "integer",
                  "format": "int32"
                },
                "pageToken": {
                  "description": "Optional. A page token, received from a previous `ListActivities` call.",
                  "location": "query",
                  "type": "string"
                },
                "filter": {
                  "description": "Optional. The filter expression for listing activities. If not set, all activities will be returned. Currently only supports filtering by create_time. Invalid filter strings will result in an INVALID_ARGUMENT error. The OR operator has higher precedence than AND. The expression a AND b OR c evaluates to a AND (b OR c). Prefer to use explicit parentheses in complex expressions. Example filters: - 'create_time:*' (matches all activities with create_time set) - 'create_time \u003e \"2024-09-04T10:00:00Z\"' - 'create_time \u003e \"2024-09-04T10:00:00Z\" AND create_time \u003c \"2024-09-05T10:00:00Z\"' - 'create_time \u003c \"2024-09-04T10:00:00Z\" OR create_time \u003e \"2024-09-05T10:00:00Z\"'",
                  "location": "query",
                  "type": "string"
                }
              },
              "parameterOrder": [
                "parent"
              ],
              "response": {
                "$ref": "ListActivitiesResponse"
              },
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "description": "Lists activities for a session."
            }
          }
        }
      }
    },
    "sources": {
      "methods": {
        "get": {
          "id": "jules.sources.get",
          "path": "v1alpha/{+name}",
          "flatPath": "v1alpha/sources/{sourcesId}",
          "httpMethod": "GET",
          "parameters": {
            "name": {
              "description": "Required. The resource name of the source to retrieve. Format: sources/{source}",
              "pattern": "^sources/.*$",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "parameterOrder": [
            "name"
          ],
          "response": {
            "$ref": "Source"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Gets a single source."
        },
        "list": {
          "id": "jules.sources.list",
          "path": "v1alpha/sources",
          "flatPath": "v1alpha/sources",
          "httpMethod": "GET",
          "parameters": {
            "filter": {
              "description": "Optional. The filter expression for listing sources, based on AIP-160. If not set, all sources will be returned. Currently only supports filtering by name, which can be used to filter by a single source or multiple sources separated by OR. Example filters: - 'name=sources/source1 OR name=sources/source2'",
              "location": "query",
              "type": "string"
            },
            "pageSize": {
              "description": "Optional. The number of sources to return. Must be between 1 and 100, inclusive. If unset, defaults to 30. If set to greater than 100, it will be coerced to 100.",
              "location": "query",
              "type": "integer",
              "format": "int32"
            },
            "pageToken": {
              "description": "Optional. A page token, received from a previous `ListSources` call.",
              "location": "query",
              "type": "string"
            }
          },
          "parameterOrder": [],
          "response": {
            "$ref": "ListSourcesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/cloud-platform"
          ],
          "description": "Lists sources."
        }
      }
    }
  },
  "version": "v1alpha",
  "baseUrl": "https://jules.googleapis.com/",
  "id": "jules:v1alpha",
  "fullyEncodeReservedExpansion": true,
  "rootUrl": "https://jules.googleapis.com/",
  "basePath": "",
  "batchPath": "batch",
  "canonicalName": "Jules",
  "mtlsRootUrl": "https://jules.mtls.googleapis.com/",
  "servicePath": "",
  "parameters": {
    "access_token": {
      "type": "string",
      "description": "OAuth access token.",
      "location": "query"
    },
    "alt": {
      "type": "string",
      "description": "Data format for response.",
      "default": "json",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query"
    },
    "callback": {
      "type": "string",
      "description": "JSONP",
      "location": "query"
    },
    "fields": {
      "type": "string",
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query"
    },
    "key": {
      "type": "string",
      "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.",
      "location": "query"
    },
    "oauth_token": {
      "type": "string",
      "description": "OAuth 2.0 token for the current user.",
      "location": "query"
    },
    "prettyPrint": {
      "type": "boolean",
      "description": "Returns response with indentations and line breaks.",
      "default": "true",
      "location": "query"
    },
    "quotaUser": {
      "type": "string",
      "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"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "type": "string",
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query"
    },
    "$.xgafv": {
      "type": "string",
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query"
    }
  },
  "title": "Jules API",
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  }
}
