Skip to content

API Reference

The Jules REST API allows you to programmatically create and manage coding sessions, monitor progress, and retrieve results. This reference documents all available endpoints, request/response formats, and data types.

All API requests should be made to:

https://jules.googleapis.com/v1alpha

The Jules REST API uses API keys for authentication. Get your API key from jules.google.com/settings.

Terminal window
curl -H "x-goog-api-key: $JULES_API_KEY" \
https://jules.googleapis.com/v1alpha/sessions

List endpoints support pagination using pageSize and pageToken parameters:

Terminal window
# First page
curl -H "x-goog-api-key: $JULES_API_KEY" \
"https://jules.googleapis.com/v1alpha/sessions?pageSize=10"
# Next page (using token from previous response)
curl -H "x-goog-api-key: $JULES_API_KEY" \
"https://jules.googleapis.com/v1alpha/sessions?pageSize=10&pageToken=NEXT_PAGE_TOKEN"

Resources use hierarchical names following Google API conventions:

  • Sessions: sessions/{sessionId}
  • Activities: sessions/{sessionId}/activities/{activityId}
  • Sources: sources/{sourceId}

The API returns standard HTTP status codes:

StatusDescription
200Success
400Bad request - invalid parameters
401Unauthorized - invalid or missing token
403Forbidden - insufficient permissions
404Not found - resource doesn’t exist
429Rate limited - too many requests
500Server error

Error responses include a JSON body with details:

{
"error": {
"code": 400,
"message": "Invalid session ID format",
"status": "INVALID_ARGUMENT"
}
}