REST API: Repoless, File Outputs, and Activity Filters
January 26, 2026
PROMPT_CONTENT=$(jq -Rs . < my_prompt.md)
curl 'https://jules.googleapis.com/v1alpha/sessions' \ -X POST \ -H "Content-Type: application/json" \ -H "x-goog-api-key: $JULES_API_KEY" \ -d "{ \"prompt\": $PROMPT_CONTENT, \"Repoless support in the REST API
Section titled βRepoless support in the REST APIβRepoless comes to the REST API and we think this has massive potential. A repoless session in a sense becomes serverless, because it creates an ephemeral cloud dev environment with Node, Python, Rust, Bun, and other runtimes preloaded on the image.
The massive potential is that this serverless environment comes with an AI coding agent.
With a single API call you can spawn a serverless dev environment with only the context in your prompt. When itβs done you can download the file outputs from the session.
We canβt wait to see what you all do with this one.
Get the entire file outputs from a session
Section titled βGet the entire file outputs from a sessionββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ FILES CHANGED βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β [M] bun.lock +567 -163 ββ [A] bunfig.toml +2 -0 ββ [M] examples/simple/main.ts +2 -1 ββ [M] packages/core/src/client.ts +21 -6 ββ [M] packages/core/src/network/adapter.ts +46 -13 ββ [A] packages/core/src/retry-utils.ts +89 -0 ββ [M] packages/core/src/sources.ts +2 -0 ββ [M] packages/core/src/streaming.ts +15 -51 ββ [M] packages/core/src/types.ts +12 -0 ββ [M] packages/core/tests/automated_session.test.ts +125 -0 ββ [M] packages/core/tests/network/adapter.test.ts +109 -0 ββ [A] packages/core/tests/retry-utils.test.ts +140 -0 ββ [M] packages/core/tests/sources.test.ts +21 -0 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€β Summary: 13 files changed +1,151 insertions, -234 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Session finished: completedSpeaking of file outputs, we just made that a lot easier. When a session completes a task, you can now get the entire change set.
This is stored in a git patch format for parsing changes such as additions, modifications, and deletions.
Timestamp based filters for Session Activities
Section titled βTimestamp based filters for Session ActivitiesβENDPOINT="https://jules.googleapis.com/v1alpha/sessions/1234567/activities"TIMESTAMP="2026-01-17T00:03:53.137240Z"
curl -H "x-goog-api-key: $JULES_API_KEY" \ "$ENDPOINT?createTime=$TIMESTAMP"Each Jules Session has a collection of activities that represent the steps Jules took to complete the task. These activities are immutable and can be used to reconstruct the session.
Activities follow the event source pattern, meaning once they occur they never change. They are a record in time of the steps Jules took to complete the task. Since they never change, you can cache them aggressively.
We added a createTime filter that works like a range cursor and allows you to only fetch new activities over the network.
This may seem like a small optimization but stay tuned. We have some big news around this one.