Catalog/sched-pomodoro-plan

Scheduling

Pomodoro block plan API

Generates a Pomodoro plan inside a window with alternating focus and break blocks (long break every N pomodoros), returning timed ISO blocks and focus/break totals. Answers 'How do I split this window into pomodoros?', 'How many focus blocks fit in 2 hours?'.

Price$0.02per request
MethodPOST
Route/v1/scheduling/pomodoro-plan
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
schedulingtime-blockingpomodorofocusbreaksproductivityblocksagents
API URLhttps://x402.hexl.dev/v1/scheduling/pomodoro-plan
Integration docs
Example request
{
  "windowStart": "2026-06-04T09:00:00Z",
  "windowMinutes": 120
}
Example response
{
  "pomodorosCompleted": 4,
  "focusMinutes": 100,
  "breakMinutes": 15,
  "blocks": [
    {
      "type": "focus",
      "start": "2026-06-04T09:00:00.000Z",
      "end": "2026-06-04T09:25:00.000Z",
      "minutes": 25
    },
    {
      "type": "short-break",
      "start": "2026-06-04T09:25:00.000Z",
      "end": "2026-06-04T09:30:00.000Z",
      "minutes": 5
    },
    {
      "type": "focus",
      "start": "2026-06-04T09:30:00.000Z",
      "end": "2026-06-04T09:55:00.000Z",
      "minutes": 25
    },
    {
      "type": "short-break",
      "start": "2026-06-04T09:55:00.000Z",
      "end": "2026-06-04T10:00:00.000Z",
      "minutes": 5
    },
    {
      "type": "focus",
      "start": "2026-06-04T10:00:00.000Z",
      "end": "2026-06-04T10:25:00.000Z",
      "minutes": 25
    },
    {
      "type": "short-break",
      "start": "2026-06-04T10:25:00.000Z",
      "end": "2026-06-04T10:30:00.000Z",
      "minutes": 5
    },
    {
      "type": "focus",
      "start": "2026-06-04T10:30:00.000Z",
      "end": "2026-06-04T10:55:00.000Z",
      "minutes": 25
    }
  ],
  "interpretation": "4 pomodoro(s): 100 min focus + 15 min breaks in a 120-min window."
}
Input schema
{
  "type": "object",
  "required": [
    "windowStart",
    "windowMinutes"
  ],
  "properties": {
    "windowStart": {
      "type": "string",
      "examples": [
        "2026-06-04T09:00:00Z"
      ]
    },
    "windowMinutes": {
      "type": "number",
      "examples": [
        120
      ]
    },
    "workMinutes": {
      "type": "number",
      "examples": [
        25
      ]
    },
    "shortBreakMinutes": {
      "type": "number",
      "examples": [
        5
      ]
    },
    "longBreakMinutes": {
      "type": "number",
      "examples": [
        15
      ]
    },
    "pomodorosPerLongBreak": {
      "type": "number",
      "examples": [
        4
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}