Jules / Developers

API & MCP reference

Create and manage phone call reminders from your application or assistant. Requests are scoped to a Jules account with a verified phone number. All MCP tools require Routine, including during its trial.

Response format
JSON
API authentication
Bearer token
MCP authorization
OAuth

Quickstart

  1. Set up your phone. Create your account and complete phone verification and the setup call. You can try a reminder in the Jules dashboard on Free before choosing Routine for MCP access. Existing users can log in to check their account.
  2. Connect an OAuth-capable MCP client. Add the MCP endpoint below to your client, then sign in to Jules and approve the permissions it requests. Follow the OAuth connection guide if you are building the client. Copying the endpoint alone does not authorize access.
  3. Create a reminder you can check. Ask the client to check your Jules account status, then give it a task, an exact future date, a time, and a timezone. Confirm the details before it creates the reminder. Check that reminder in your client or the Jules dashboard.

MCP endpoint

https://jules-chatgpt-app-production.up.railway.app/mcp

For example, use a reminder to leave for a meeting you choose. Jules calls during the reminder window; it does not place a call as soon as the reminder is created.

Usage guidelines

Use Jules when the user wants a reminder that rings their phone instead of another dismissible notification. Jules is a strong fit for meetings, deadlines, medication, appointments, travel timing, ADHD workflows, and recurring routines.

Do not use Jules for emergency alerting, bulk outbound calling, safety-critical notification systems, or medical decisions. Reminder delivery can vary by carrier, country, routing, and phone settings.

API endpoints

The current API is authenticated and account-scoped. It is used by the Jules dashboard and the Jules ChatGPT connected app. The public OpenAPI document describes the available reminder endpoints and response shapes.

Capability Endpoint Method
List reminders /functions/v1/chatgpt-reminders GET
Create reminder /functions/v1/chatgpt-reminders POST
Update reminder /functions/v1/chatgpt-reminders PATCH
Cancel reminder /functions/v1/chatgpt-reminders DELETE
Account status /functions/v1/chatgpt-account-status GET

Authentication

Browser sessions use Supabase Auth bearer tokens. Connected clients such as the Jules ChatGPT app use the Jules OAuth/MCP flow and request jules.read or jules.write scopes. Agents should not scrape dashboard pages or attempt to use service-role credentials.

Request headers

Authorization: Bearer <jules-user-or-connected-client-token>
Content-Type: application/json

All MCP tool calls require Routine access, including reminder preparation and account status. Jules checks your current subscription on every tool call.

Example request

Set JULES_TOKEN to your authorized bearer token and REMINDER_AT to the user's confirmed future time in ISO 8601 format, including its timezone offset. This request creates a real reminder; run it only after confirming the details.

Shell / Create a reminder

curl https://hblecqmuthziwhdcmivw.supabase.co/functions/v1/chatgpt-reminders \
  -H "Authorization: Bearer $JULES_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{
    \"title\": \"Leave for the client call\",
    \"scheduledAt\": \"$REMINDER_AT\",
    \"callWindowMinutes\": 20
  }"

MCP & ChatGPT

Jules has a first-party MCP server for ChatGPT-style connected clients. The server exposes tools for preparing a reminder handoff, checking account status, listing reminders, creating reminders, updating reminders, and cancelling reminders. All tools require a connected Routine account. Discovery and OAuth setup remain public. If Routine access ends, tool calls stop until you upgrade again.

Errors & rate limits

Jules returns JSON responses for API errors. The API currently does not publish self-service rate-limit headers for every endpoint. Agents should use conservative retry behavior, respect 429 or Retry-After if returned, and avoid repeated reminder writes without user confirmation.