{
  "info": {
    "name": "Garmin Connect (treinos) — mcp.ai",
    "description": "REST API for the Garmin Connect (treinos) MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/garmin",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "garmin_delete_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/delete/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "delete",
            "workout"
          ]
        },
        "description": "Delete a workout template from Garmin Connect by workout_id.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workout_id\": \"\",\n  \"account\": \"\",\n  \"workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_edit_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/edit/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "edit",
            "workout"
          ]
        },
        "description": "Replace a workout: uploads a new workout from payload, then deletes workout_id (no native PUT). Returns new workout_id and previous_workout_id.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workout_id\": \"\",\n  \"workout\": {},\n  \"account\": \"\",\n  \"workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_get_scheduled_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/scheduled/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "scheduled",
            "workout"
          ]
        },
        "description": "Get one scheduled workout entry by scheduled_workout_id.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"scheduled_workout_id\": \"\",\n  \"account\": \"\",\n  \"scheduled_workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_get_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "workout"
          ]
        },
        "description": "Get one workout template by workout_id (full structure: segments, steps, targets). Includes raw_data JSON string.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workout_id\": \"\",\n  \"account\": \"\",\n  \"workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_list_accounts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/accounts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "accounts"
          ]
        },
        "description": "List all Garmin logins linked to this install (id, email, label, created_at).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_list_scheduled_workouts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/scheduled/workouts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "scheduled",
            "workouts"
          ]
        },
        "description": "List calendar scheduled workouts for a given month/year from Garmin calendar-service.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"year\": 0,\n  \"month\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_list_workouts",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/workouts",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "workouts"
          ]
        },
        "description": "List saved workouts from Garmin Connect (workout-service). Returns summaries plus raw_data (full JSON string from Garmin).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"start\": 0,\n  \"limit\": 0,\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_schedule_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/schedule/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "schedule",
            "workout"
          ]
        },
        "description": "Schedule an existing workout onto the calendar. date must be YYYY-MM-DD (or ISO-8601 date prefix). Returns Garmin schedule response as raw_data.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workout_id\": \"\",\n  \"date\": \"\",\n  \"account\": \"\",\n  \"workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_submit_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/submit/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "submit",
            "workout"
          ]
        },
        "description": "Create a new structured workout on Garmin Connect. Body must match Garmin API (workoutName, sportType, workoutSegments with ExecutableStepDTO / RepeatGroupDTO). You may omit displayOrder/displayable e",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"workout\": {},\n  \"account\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "garmin_unschedule_workout",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/unschedule/workout",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "unschedule",
            "workout"
          ]
        },
        "description": "Remove workout from calendar by scheduled_workout_id (does not delete the workout template).",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"scheduled_workout_id\": \"\",\n  \"account\": \"\",\n  \"scheduled_workout_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}